Fehlersuche bei Funk-Temperatursensoren

L I V E Stammtisch ab 20:30 Uhr im Chat
  • ein Fritzing-Diagramm wäre zwar besser aber in diesem Fall reicht imho auch das Foto ...

    oops ... Du befeuerst den ATTiny mit 5V und gehst ohne Pegelwandler auf die rs232 des RPi?
    cu,
    -ds-


  • Mit dem Fehler meinte ich deinen Sketch,
    bevor du ihn korrigiert hast.
    `Serial`was not declared in this scope

    Und wieso machst du das dann nicht noch mal mit dem korrigierten Sketch? Wäre das nicht irgendwie Sinnvoller?

    Hast du auch mal einen anderen ATtiny probiert um sicher zu gehen das du nicht die ganze Zeit mit einem Kaputten uC dich quälst?


    PS: Son Bild von der Seite was noch dazu etwas dunkel ist, is nicht gerade optimal um korrekte Verkabelung zu kontrollieren.

  • Hast Du recht ... ich hatte das als Pin 2 angesehen ...
    hm ...
    also Verbindungen sagtest Du waren ok, Rx und Tx gekreuzt, ...
    Ich würde jetzt
    erst mal Rx und Tx des RPi mit einem Kabel/Jumper zusammenklemmen und auf dem RPi minicom starten. Dann sollte alles, was Du eintippst empfangen werden - rs232 ist dann ok und funktioniert.
    Rx und Tx des Tiny vertauschen und an den RPi anklemmen. Gucken ob was beim Anschalten kommt.
    Rx und Tx des Tiny nochmal vertauschen und an den RPi anklemmen. Gucken ob was beim Anschalten kommt.

    Wenn weiter nichts über die rs232 ankommt, den sketch ändern. Irgend eine debug-Ausgabe in den loop() einbauen, die zyklisch (alle paar Sekunden einmal) auf die serielle Schnittstelle ausgegeben wird.
    Wie ist Deine Softserial definiert? Pin 6 als Tx und und Pin 10 als Tx (ich hoffe, ich hab' mich jetzt nicht verzählt) ?


    cu,
    -ds-

  • meigrafd
    Ich habs natürlich mit dem richtigen Sketch getestet.
    Damit wollte ich eigentlich nur sagen, das es nie einen Fehler gab,
    außer den der schon angesprochen und behoben wurde.

    Ja, einen ATtiny hab ich noch auf dem Sender.
    Werds gleich mal versuchen.


    @dh
    Rx und Tx zusammen schaffe ich, aber den Rest müsstest du mir näher erläutern.

    Wo soll ich beim Anschalten schauen ob was kommt?
    Bei der Pinbelegung gehe ich immer noch hiervon aus:
    http://www7.pic-upload.de/05.02.14/v6oatwqbz6r.png

    Oder wie kann ich die Softserial überprüfen?

    Kolja


  • ...
    Wo soll ich beim Anschalten schauen ob was kommt?
    ...


    naja ... Du hast ja den myserial.print("SETUP") in Deinen Code eingebaut.
    Also das orange und das weisse Kabel am Raspi tauschen und dann einmal probieren. Anschliessend wieder (zurück-) tauschen und noch mal testen.

    Hast Du, wie meigrafd schon sagte, ein

    Code
    #include <SoftwareSerial.h>


    am Anfang des sketch gemacht?
    Ist im setup()

    Code
    SoftwareSerial mySerial(rxPin, txPin);


    vorhanden? Welchen Wert hat rxPin und welchen txPin?
    Hast Du vorher die Pinmodes mit z.B.

    Code
    pinMode(rxPin, INPUT);
    pinMode(txPin, OUTPUT);


    festgelegt?
    Befindet sich Deine Debug-Ausgabe nach dem Statement

    Code
    mySerial.begin(SERIAL_BAUD);

    Am besten mal den sketch in Code tags hier posten. Bitte darauf achten, dass es wirklich der aktuelle, auf den Tiny geflashte sketch ist.
    Dann bauen wir mal eine zyklische Ausgabe in den loop.

    cheers,
    -ds-

  • Ich würde gerne kurz vorher testen, ob der Pi an sich selber senden kann.
    Tx ist an Rx.
    Minicom ist gestartet, ascii ausgewählt, eine belibige Datei gesendet
    Das ist das Ergebnis:


    |ASCII upload of ".bash_history" |
    | |
    |3.9 Kbytes transferred at 997 CPS... Done. |
    | |
    | READY: press any key to continue... |
    | |
    | |
    +-------------------------------------------------------------+

    Nix empfangen, oder?

  • Einfach im Terminal drauf los tippen ... dann solltest Du alles, was Du eintippst in minicom sehen - evtl. sogar doppelt (wenn das lokale echo an ist).

    Beim Dateitransfer musst Du mal nachsehen, wohin die Datei gespeichert wird (CTL+A und O -> Dateinamen und Pfade ) ... im mincom-Terminal wird da nix angezeigt.

    cu,
    -ds-

  • Da bin ich wieder.

    OK, ok, habs verstanden.

    Wenn ich minicom starte und Pin 8 und Pin 10 sind nicht verbunden,
    sehe ich nicht was ich schreibe.
    Sind die beiden Pins verbunden siehts aus wie immer!

    UART funktioniert, check!

    OK, den anderen ATtiny geflasht mit dem Sketch aus diesem Thread.

    Mit dem selben Ergebnis: Es gibt KEINE Ausgabe über UART.

    Es können ja nicht beide ATtinys kaputt sein...


    Wo liegt denn diese Datei: #include <SoftwareSerial.h>

    Einmal editiert, zuletzt von kolja (16. Dezember 2014 um 21:49)

  • Ähm ... Du hast die SoftwareSerial.h nicht eingebunden?
    Na da brauchst Du Dich nicht wundern, dass es nicht geht.
    Wenn doch ... was willst Du mit der Headerdatei? Da brauchst Du nicht reinfassen ... besser gesagt: da solltest Du nicht reinlangen ...
    Poste doch einfach mal den sketch

    cu,
    -ds-

  • Den Sketch habe ich doch im letzen Beitrag verlinkt.

    Und die SoftwareSerial.h war das einzige was ich noch nicht als Fehler ausgeschlossen habe.
    Wird im Sketch aufgerufen, aber ist die auch vorhanden?
    Oder würde das ne Fehlermeldung geben?

    Gruß Kolja

  • Da würdest Du eine Fehlermeldung bekommen.

    aber:

    Code
    #define rxPin 7 // D7, PA3
    #define txPin 3 // D3, PA7. pin der an RXD vom PI geht.


    das ist doch genau das, was ich Dich hier noch gefragt hatte:

    Zitat

    Wie ist Deine Softserial definiert? Pin 6 als Tx und und Pin 10 als Tx (ich hoffe, ich hab' mich jetzt nicht verzählt) ?

    das kann nicht funktionieren ;) ...
    cu,
    -ds-

  • Jetzt wird des verwirrend:

    Ich gebe in dem Sketch folgendes an:
    Rx Pin 7
    Tx Pin 3
    Das ist auch die Belegung aus der Anleitung!

    In diesem Bild (für meine Revision) sind aber Pin 15 bzw 14 angegeben:
    Rx Pin 15
    Tx Pin 14
    raspberrypirev2pinout.jpg

    Das Bild aus diesem Thread sagt, und das passt irgendwie nicht zur Anleitung:
    Rx Pin 6
    Tx Pin 10
    v6oatwqbz6r.png

    Mit Pin 14 und 15 habe ich es schon versucht, es geht nicht...

  • Aaalsooo ... noch mal gaaaaanz laaaangsam ...

    Zum ATTiny ... und nur zu diesem:
    Am ATTiny hast Du lt. Schaltplan Pin Nr. 6 und Pin Nr. 10 als Rx bzw. Tx angeschlossen. Ist das in Natura auch so?
    Dann passt Dein sketch nicht, weil Du in diesem angibst, dass Du Pin Nr. 7 und Pin Nr. 3 des ATTiny als Rx bzw. Tx verwendest.
    Es ist vollkommen scheissegal was in irgendeiner Anleitung steht ... die hat der ATTiny nicht gelesen und deswegen weiss er nur das, was Du ihm angibst - und das sollte das sein, was Du angeschlossen hast.
    Also ... am ATTiny Pin Nr. 6 als Rx und Pin Nr. 10 als Tx verdrahten, im sketch ggf. ändern und natürlich auch flashen!.


    So, weiter zum Raspberry Pi ... und nur zum Raspi:
    Hier sind die Pins Nr. 8 und Nr. 10 (GPIO14 und GPIO15) mit der rs232 vorbelegt. Und zwar ist Pin Nr. 8 (also GPIO14) der Tx- und Pin Nr. 10 (also GPIO15) der Rx-Pin.

    So ... und nun verdrahten wir den Raspi und den ATTiny:
    Den Tx-Pin des Raspi (Pin Nr. 8 = GPIO14) musst Du nun mit dem Rx-Pin (Pin Nr. 6) des ATTiny verbinden.
    Der Rx-Pin des Raspi (Pin Nr. 10 = GPIO15) wird dann noch mit dem Tx-Pin (Pin Nr. 10) des ATTiny verbunden.

    Dann sollte das funktionieren ...

    Und vielleicht verstehst Du jetzt auch, warum ich so ein Fan der selbst erstellten Fritzing-Schaltpläne der eigenen Verdrahtung bin.
    Mit solch einer Zeichnung und dem Quelltext von Anfang an hättest Du Dir eine Menge Zeit und Arbeit sparen können ;) ...

    cu,
    -ds-

  • Na Moment ... wo hast Du denn jetzt diese Belegung wieder her ... :wallbash:
    Das ist ja wieder eine andere Pin-Nummerierung ... und was hat es mit dieser Nummerierung auf sich?

    Das wird jetzt langsam zu einer uferlosen Stocherei ... hast Du noch so ein paar Dinger auf Lager :fies: ?

    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!