独角兽企业重金招聘Python工程师标准>>>
1. 硬件清单:
arduino 101一个(/goods-1265.html)
Dfrobot IO 传感器扩展板 V7.1(/goods-791.html)
zigbee模块(深联创新DL-LN33)两块 (/?spm=a1z10.1-c.0.0.XT2LAU)
CP2102模块 USB转TTL 一个
(/item.htm?id=520311054724&spm=a1z09.2.0.0.Q59lSj&_u=921ii2ufcf2)
LED灯一个(/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 portSerial1.begin(115200); //RX TX serial portpinMode(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 bitsa = a >> 4; // 右移 4 bitsint b = g& 0x0f; // 右邊 4 bitschar c = a < 10 ? a + '0' : a + 'A' - 10;Serial.print(c);c = b < 10 ? b + '0' : b + 'A' - 10;Serial.print(c);}
参考:
/forum.php?mod=viewthread&tid=10858&extra=&highlight=%E8%BD%AF%E4%B8%B2%E5%8F%A3&page=1
arduino官方示例。
如果觉得《Arduino集成zigbee无线通信模块》对你有帮助,请点赞、收藏,并留下你的观点哦!