Hallo
ich bin komplett neu hier auf dem Forum und ebenfalls komplett neu in der Arbeit mit einem Arduino UNO. Meine BA-Betreuung hat mir den gestern quasi an den Kopf geworfen und gesagt: Hier mach das mal....
Nun Gut, jetzt sitze ich hier und versuche mich irgendwie damit auseinander zu setzten. Aber erstmal zu meinem Problem. Ich messe eine Kapazität mit dem Cap-Meter Kit. Das Messgerät funktioniert auch sehr gut. Laut der Anleitung gibt es am TXD Pin einen ASCii output in der Form SSSSS TTTTT.tt CCCCU. Also insgesamt 3 Bereiche. SSSSS ist eine 5digit Sequenznummer, TTTTT.tt ist ein 8digit Zeitstempel in Sekunden und CCCCU ist die 5digit gemessene Kapazität mit U als Buchstabe für die gemessene Größenordnung, z.B. p für pico-Farad. Die Output baud rate ist 38400. die einzelnen Felder sind durch eine Leerstelle (space) getrennt. Daten Format ist 8 data bits, 1 stop bit und no parity.
Zur Verbindung von Messgerät mit UNO:
Ich dachte mir ich muss den TXD Pin vom Messgerät mit dem RX->0 Pin am UNO verbinden. Das Messgerät wird extern mit Strom versorgt, der UNO über USB.
Zur programmierung dachte ich mir folgendes:
zuerst muss ich dem Arduino sagen wo er die Daten herbekommt. ich vermute es geht mit dem digitalRead(0) Befehl. die Ausgabe davon sollte über Serial.println() funktionieren. Damit ich nur alle 5Sekunden einen Messwert aufnehme brauche ich delay()?
void setup() {
Serial.begin(38400); //vorgegebene Baud-rate
}
void loop() {
int cap = digitalRead(0); //einlesen am RX->0 Pin
Serial.println(cap);
delay(5000);
}
Beim kompilieren wird mir kein Fehler ausgegeben, aber die Ausgabe über den Monitor ist immer der Wert 1.
Ich hab es auch schonmal mit analogRead(A0) probiert, dann ist die Ausgabe immer 0.
Ich muss am Ende für die Ausgabe auf dem Monitor am besten auch die Werte direkt lesbar anzeigen, also nicht als ASCii code ausgeben, ist das möglich?
Ich hoffe ihr könnt mir weiterhelfen und entschuldige mich schonmal für mein Unwissen