Hallöchen, ich hoffe hier kann mir jemand helfen.
ich bastel gerade seid 2-3 Tagen an einem Datenlogger für meinen Solarregler.
Aber irgendwie will es nicht klappen div. Codebeispiele habe ich durchprobiert..
Ausgangsbasis: Arduino Uni, Software Serial und einem Solarregeler, der Serial
mit TTL Pegel Daten sendet.
Anschlussfehler kann ich ausschließen. Wenn ich den Solarregler direkt an PIN1/2
anschließe und den Reset Pin auf GND schieße (USB/TTL Interface), empfange ich
Daten im Terminalfenster.
Nun habe ich den Software Serial programmiert will dort die Daten/Zeichen ersteinmal
nur auslesen und auf einen LCD anzeigen bzw. via Hardware Serial zum PC senden
zum testen. Beides funktioniert nicht. Selbst die Funktion gtSerial.available() reagiert
nicht. Ich weiss nicht was ich falsch mache. Ich habe schon daten via Byte und String
auslesen wollen.
RX, TX richtig angeschlossen RX an TX und TX an RX?
Mal austauschen?
Wenn du schreibst:
tt2k:
Wenn ich den Solarregler direkt an PIN1/2
anschließe ...
und du dich nicht vertippt hast, dann ist möglicherweise was faul, denn RX/TX am Arduino Board sind Pin 0 und 1 und nicht Pin 1 und 2.
Geschwindigkeitsproblem
SoftwareSerial funktioniert nur bei niedrigen Geschwindigkeiten (etwa bis 9600), bei höheren nicht so gut.
19200 sind schon ein wenig viel... aber da kommen dann eher "Zufallszeichen" an und nicht nichts - deshalb denke ich es ist eher ein anderes Problem.
Du kannst AltSoftSerial versuchen, das geht auch mit höheren Geschwindigkeiten, funktioniert aber nur auf speziellen Pins (beim UNO Pin-8 für RX und Pin-9 für TX).
Hallo,
danke für die Antworten. Natürlich habt ihr Recht, die Hardware PINS sind 0/1. Wie gesagt,
wenn ich die PINs direkt zum PC an das terminal durchleite funktioniert alles und die richtigen
Daten vom Solarlader werden angezeigt. GND habe ich verbunden und auch RX/TX schon vertauscht.
Die available Funktion habe ich schon in diversen Varianten ausprobiert. Ich habe auch schon nur das
serial.read() direkt abgefragt. Es kommen auch keine Zeichen an.
19200 liefert der Solarlader, das kann ich auch nicht verstellen. Kann es sein, dass die Software.Serial
auf dem UNO die 19200 nicht schafft?