Arduino集成zigbee无线通信模块

来源:转载

1. 硬件清单:


arduino 101一个(http://www.dfrobot.com.cn/goods-1265.html)


Dfrobot IO 传感器扩展板 V7.1(http://www.dfrobot.com.cn/goods-791.html)


zigbee模块(深联创新DL-LN33)两块 (https://deeplink.taobao.com/?spm=a1z10.1-c.0.0.XT2LAU)


CP2102模块 USB转TTL 一个


(https://detail.tmall.com/item.htm?id=520311054724&spm=a1z09.2.0.0.Q59lSj&_u=921ii2ufcf2)


LED灯一个(http://www.dfrobot.com.cn/goods-83.html)


杜邦线若干


2. 实验目的:


使用 arduino 101 通过串口(pin0-1,rx-tx)连接zigbee模块,arduino使用usb串口线和PC连接,这个作为A端。另一端为B,直接使用CP2102模块连接zigbee模块到PC。在B端PC上使用LN33自带串口调试工具发送FE 05 91 90 53 0D 01 FF,A端zigbee模块收到信号,通过串口把数据传送到arduino,触发arduino上的LED灯闪烁,然后再把收到的数据输出到USB串口上。


3. 组网图:



4.


代码:


unsigned char sendCmd[8]={0xfe, 0x05, 0x91, 0x90, 0x14, 0x10, 0x02, 0xff};//LN33 向
int ledPin = 13;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600); //USB serial port
Serial1.begin(115200); //RX TX serial port
pinMode(ledPin, OUTPUT);
}
void loop() {
if (Serial1.available()) {
digitalWrite(ledPin, HIGH);
Serial1.write(sendCmd, 8);//Serial.println(Serial1.read(),HEX);
myPtHex((char)Serial1.read());
while(Serial1.available()){
myPtHex((char)Serial1.read());
}
}
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
void myPtHex(int g){ // 把 g 最右邊 byte 印成 Hex 倆位
int a = g& 0xf0;// 左邊 4 bits
a = a >> 4;// 右移 4 bits
int b = g& 0x0f;// 右邊 4 bits
char c = a < 10 ? a + '0' : a + 'A' - 10;
Serial.print(c);
c = b < 10 ? b + '0' : b + 'A' - 10;
Serial.print(c);
}

参考:


http://www.arduino.cn/forum.php?mod=viewthread&tid=10858&extra=&highlight=%E8%BD%AF%E4%B8%B2%E5%8F%A3&page=1


arduino官方示例。


分享给朋友:
您可能感兴趣的文章:
随机阅读: