总是为了库文件犯愁,找来找去总是不正确。哎。
测试无线收发模块。需要315M用的RCSwitch库。
下载地址:
http://www.arduino.cn/forum.php?mod=attachment&aid=MTM3MDN8N2VhNGNlMjR8MTQ0OTU4NDE2N3wwfDExMjQz
模块如图:(左:发送模块; 右:接收模块)
如图在打圈处焊上铜丝(最好将铜丝绕圈),没焊上天线的发送距离超级短,只有几厘米。
焊上天线后距离扩大了许多,覆盖两个房间不是问题。
硬件连接如下:
发送模块在UNO板子上的接线:
vcc->5v
gnd->gnd
data->pin6
接收模块在UNO板子上的接线:
vcc->5v
gnd->gnd
data(共有两个data,选其中一个)->pin2 (uno的中断0是pin2,中断1是pin3)
代码如下:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch(); //用于发送
RCSwitch mySwitch_R = RCSwitch(); //用于接收
int i = 0;
void setup(){
mySwitch.enableTransmit(6);//发送DATA针接Arduino的6口
mySwitch_R.enableReceive(0);//中断0(中断0为Arduino的2口,中断1为3口)
Serial.begin(9600); //启动串口
}
void loop(){
i = i+1;
mySwitch.send(i, 24);//据测试,这个是发送的数值的最大位数,超过这个位数就不发送。
if (mySwitch_R.available()) {
int value = mySwitch_R.getReceivedValue();//取接收的值
if (value != 0) {
Serial.println(value);
}
mySwitch_R.resetAvailable();//重新设置接收端的活动状态。
}
delay(1000);
}