Hallo,
kurz zu meinem Projekt, ich habe einen Barcodescanner mit dem ich vier verschiedene Barcodes
(vier verschidenen Produkte) scannen möchte, dabei möchte ich jeweils einen Datenstring von einem Barcode, einem Ausgang an der Arduino zuordnen bzw. setzen. Der Barcodescanner ist mit einer Arduino UNO über RS 232 mit dem PC verbunden (siehe Blockschaltbild).
Ich habe leider nicht so gute Kenntnisse um das Programm zu schreiben, kann mir da jemand weiterhelfen, mein Programm siehe unten.
Mein Programm:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup() {
mySerial.begin(2400);
Serial.begin(2400);
}
void loop() {
if(mySerial.available() > 0) { // >0 hinzugefuegt
char a=mySerial.read();
Serial.write(a);
}
if(Serial.available() > 0) {
char a = Serial.read();
mySerial.print(a);
}
}
Folgende Datenstrings:
(empfangene Datenstrings vom Barcodescanner, ausgelesen mit Terminalprogramm)
Produckt 1:
[STX]TT=_7450ms MG=__8% n=_1[CR ]
[LF ]Produkt 1[CR ]
[LF ]C128 __1% ST=0 CP=_44 CL=_9 CA=258 CS=__3 CK=__1[CR ]
[LF ][LF ][CR ]
[ETX]
Produkt 2:
[STX]TT=_2040ms MG=__8% n=_1[CR ]
[LF ]Produkt 2[CR ]
[LF ]C128 __7% ST=0 CP=_44 CL=_9 CA=_40 CS=__3 CK=__1[CR ]
[LF ][LF ][CR ]
[ETX]
Produkt 3:
[STX]TT=__290ms MG=__7% n=_1[CR ]
[LF ]Produkt 3[CR ]
[LF ]C128 _25% ST=0 CP=_42 CL=_9 CA=_12 CS=__3 CK=__2[CR ]
[LF ][LF ][CR ]
[ETX]
Produkt 4:
[STX]TT=_3120ms MG=__7% n=_1[CR ]
[LF ]Produkt 4[CR ]
[LF ]C128 _15% ST=0 CP=_43 CL=_9 CA=_19 CS=__3 CK=__1[CR ]
[LF ][LF ][CR ]
[ETX]
Fehllesung:
[STX]TT=_1300ms MG=__7% n=_0[CR ]
[LF ]kein Code ![CR ]
[LF ][CR ]
[LF ][LF ][CR ]
[ETX]
Vielen Dank im Voraus
Gruß mc000