我实现了Lilypad arduino和Xbee Serie1之间的连接。现在我想发送数据到2XBee,但我想通知只有一个Xbee .I成功建立了广播传输,我有一些问题,我不知道我的问题是在Xbee配置还是在Arduino中。这是我的一些arduino
int myData = 0;
int const redPin = 9;
int const bluePin = 10;
int const greenPin = 11;
void setup(){
Serial.begin(9600);
pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);
digitalWrite(redPin, HIGH);
digitalWrite(bluePin, HIGH);
digitalWrite(greenPin, HIGH);
}
void loop(){
if(Serial.available() > 0){
myData = Serial.read();
if(myData == '1'){
digitalWrite(bluePin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(redPin, LOW);
}
if(myData == '2'){
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
}
if(myData == '3'){
digitalWrite(redPin, HIGH);
digitalWrite(bluePin, HIGH);
digitalWrite(greenPin, LOW);
}
if(myData == '4'){
digitalWrite(redPin, LOW);
digitalWrite(bluePin, LOW);
digitalWrite(greenPin, LOW);
}
if(myData == '5'){
digitalWrite(redPin, HIGH);
digitalWrite(bluePin, HIGH);
digitalWrite(greenPin, HIGH);
}
}
}有人能帮我吗?任何建议都可能会有帮助,谢谢提前!
发布于 2015-04-27 01:35:00
我猜你的XBee是set to AT mode and not API mode。您将需要input AT commands to set the destination of the transmission。
Guide to sending AT commands on Arduino
您需要运行ATSH和ATSL来获取目标设备上序列号的较高和较低部分。在你想要发送的设备上,你需要运行ATDH和ATDL,在每个部件后附加一个序列,即ATDH0123456。如果你搞砸了,只要运行ATRE清除设置即可!
您还可以在同一网络上设置两个XBee,而不是使用ATID1234为网络1234设置特定的目的地。
如果您正在使用Arduino进行发送,则可以运行如下代码
Serial.print("+++");
delay(1000);
Serial.println("ATRE"); //Resets the settings of the XBee
Serial.println("ATDH13A200"); //Remote XBee's ATSH with this set as 13A200, replace
Serial.println("ATDL1234"); //Remote XBee's ATSL with this set as 1234, replace
//Serial.println("ATWR"); //Uncomment to save settings through poweroff until resethttps://stackoverflow.com/questions/29880541
复制相似问题