Hallo zusammen,
Ich versuche gerade eine Kommunikation zwischen 2 XBee Modulen
herzustellen.
Sender: XBee (Explorer Dongel) senden über XCTU
Empfänger: Arduino Uno mit XBee Anschluss an Pin 2 (RX) und 3 (TX)
Der Code auf dem Arduino:
1 | #include <SoftwareSerial.h>
|
2 |
|
3 | // xbee
|
4 | SoftwareSerial mySerial(2,3); // RX,TX
|
5 | int myData = 0;
|
6 |
|
7 | // LED
|
8 | int LED = 12;
|
9 |
|
10 | // Setup
|
11 | void setup(){
|
12 | // Open serial communications and wait for port to open:
|
13 | Serial.begin(57600);
|
14 | pinMode(LED,OUTPUT);
|
15 |
|
16 | mySerial.begin(57600);
|
17 | digitalWrite(LED,HIGH);
|
18 | delay(5000); // Init xbee modules
|
19 | digitalWrite(LED,LOW);
|
20 | mySerial.println("XBee communication ready now!");
|
21 | }
|
22 |
|
23 | // Main loop
|
24 | void loop(){ // run over and over
|
25 | if (mySerial.available() > 0){
|
26 | myData = mySerial.read();
|
27 |
|
28 | Serial.print("myData: ");
|
29 | Serial.println(myData);
|
30 | }
|
31 | }
|
In dem Screenshot ist zu sehen, dass die Übertragung vom Empfänger zum
Sender funktioniert mySerial.println("XBee communication ready now!");
Beim Öffnen des seriellen Monitors auf dem Arduino kommt dann gleich die
mehrfache Ausgabe myData: 0.
Versuche ich eine 1 vom Sender zum Empfänger zu schicken, passiert da
irgendwie gar nichts. Drücke ich mehrmals hintereinander auf Send Data,
kann es sein, dass eine neue Zeile myData: 0 im seriellen Monitor
hinzukommt. Anstatt der 0 sind auch schon mal andere Zahlen erschienen.
Was mache ich falsch bzw. was läuft hier falsch?
Vielen Dank und Gruß
Christian