Hallo ihr lieben,
es geht um folgende Teile:
zwei XBee Module S2B
http://www.watterott.com/de/XBee-Pro-60mW-Series-25-…
ein XBee-Shield v1.1
http://www.watterott.com/de/Arduino-Xbee-Shield-with…
und ein XBee Explorer USB
http://www.watterott.com/de/XBee-Explorer-USB
Meine Überlegung ist folgende:
Ich will mit dem Explorer und einem Modul einen sender bauen, der über die Tastatureingabe gesteuert werden soll (GUI -> Java) das zweite Modul soll mit dem Shield und dieses mit meinem Arduino Mega 2560 verbunden werden, welches zum Schluss einen Servo Motor antreibt.
Als „Vorbild-Projekt“ nahm ich mir dieses Video:
https://www.youtube.com/watch?v=u6cQmGELbY0
Was schon funktioniert:
Ich habe mir die Software von Digi (X-CTU) runtergeladen und installiert, habe sowohl dem Sender als auch dem Empfänger die gleiche Baud-Rate (9600) zugeteilt, dem Sender habe ich außerdem die „Serial Number High“ und „Serial Number Low“ des Empfängers zugewiesen. Die PAN ID ist auch überall gleich, genau wie in diesem Video:
https://www.youtube.com/watch?v=HY-qIcKbB18
Nun zu meinem Problem:
Ich bekomme immer einen timeout-Fehler wenn ich den Sender beschreiben will.
Um die Verbindung zu testen, wollte ich eine LED über die Tastendrücke „0“ und „1“ aus- bzw. anschalten. Doch immer wenn ich den folgenden Code
// Serial = Arduino Mega (Empfänger)
// Serial1 = Explorer (Sender)
void setup(){
Serial1.begin(9600); //(Sender anlegen)
}
void loop(){
Serial.print('1');
delay(1000);
Serial.print('0');
delay(1000);
}
dem Sender zuweisen will, kommt es zu einem timeout-Fehler, der Code müsste auch richtig sein, denn der Compiler meldet keinen Fehler und ein Laufzeitfehler kann ja noch gar nicht auftreten. Bei dem Empfänger habe ich folgenden Code:
int led = 12;
// Serial = Arduino Mega
// Serial1 = Explorer
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop(){
if(Serial.available()){
byte daten = Serial.read();
if(daten == '1'){
digitalWrite(led, HIGH);
}else{
if(daten == '0'){
digitalWrite(led, LOW);
}
}
}
}
dort funktioniert auch alles, zumindest das updaten, testen kann ich es ja wegen dem nicht funktionierenden Sender nicht.
Hat jemand von euch eine Idee, was ich falsch mache?
Schonmal Danke im voraus und liebe Grüße,
Matthias