本文将介绍使用433M无线接收模块与Arduino控制板捕捉无线门铃遥控信号,并使用无线发射模块模拟发送门铃信号激活门铃。
工具:433超再生模块一对(某宝5元一对),arduino板一块,uno、nano、micro都行,433M的无线门铃(自己可以拆开门铃看电路板上的晶振,多为银白色,上面有数字433样式)。
库文件rc-switch下载地址:https://github.com/sui77/rc-switch 或网盘:http://pan.baidu.com/s/1jHPJSwu
连线: 433发射模块的信号线连在arduino的10号数据口上,这个可以在代码中自行修改。
mySwitch.enableTransmit(10);
接收模块信号线连在2号数据口上,此时为中断0接收信号,确保接收信号的时候不被其它过程打断;也可以连在3号数据口上,此时为中断1,这个也可以在代码中自行修改(接收模块的中间两个针是连接在一起的)。
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 或
mySwitch.enableReceive(1); // Receiver on interrupt 1 => that is pin #3
下载库
将下载的库解压后放在Arduino安装文件夹下的libraries文件夹中

打开库文件夹下的示例文件平下的高级接收范例 ReceiveDemo_Advanced.ino ,可以不连接发射模块。

内容如下图所示。

如果接收端接的2号数据口,就不用修改代码,直接下载程序到Arduino中;
如果接收端接的3号数据口,第16行改成 mySwitch.enableReceive(1);
下载程序到Arduino中,设置板卡,COM端口的我就不多说了。
下载程序完毕后,打开端口监视器,选择波特率9600。然后按下自家门铃,等待奇迹。
我收到的信息如下:

Decimal: 11281672 (24Bit) Binary: 101011000010010100001000 Tri-State: not applicable PulseLength: 214 microseconds Protocol: 1 Raw data:
6652,644,956,16,196,652,196,260,448,60,172,692,184,692,180,692,664,116,372,12,88,200,676,188,688,692,184,688,660,256,192,680,196,12,24,196,692,192,676,664,252,696,184,668,204,684,188,692,656,
Decimal: 11281672 (24Bit) Binary: 101011000010010100001000 Tri-State: not applicable PulseLength: 214 microseconds Protocol: 1 Raw data:
6656,672,256,188,696,36,560,28,296,112,156,300,300,44,28,28,16,304,48,716,40,56,20,392,28,476,36,16,148,200,280,32,12,684,188,668,200,688,196,684,192,676,440,224,184,64,440,656,260,
Decimal: 11281672 (24Bit) Binary: 101011000010010100001000 Tri-State: not applicable PulseLength: 215 microseconds Protocol: 1 Raw data:
6676,664,252,184,692,652,260,196,684,656,256,668,252,200,688,184,688,648,264,192,688,188,684,192,688,192,440,24,232,664,248,188,448,188,692,192,688,188,688,188,692,660,256,184,680,200,684,192,252,
通过多次按门铃分析,可以获得信号了,可以看到我接收到的信号内容为11281672(Decimal: 11281672),长度为24位(24Bit),用的1号默认协议(Protocol: 1),脉冲宽度为215,不是默认的320(PulseLength: 215)。
模拟发射:
打开库文件夹下的示例文件夹下的发射范例SendDemo.ino ,可以不连接接收模块。

公众号近期文章
0 Responses to “433M无线模块+Arduino 捕捉并模拟无线门铃信号发送”