极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14050|回复: 3

433超再生模块+Arduino 捕捉并模拟无线门铃发射器

[复制链接]
发表于 2017-3-8 15:50:14 | 显示全部楼层 |阅读模式
本帖最后由 lumingjie1234 于 2017-3-8 21:12 编辑

本文利用433超再生模块和Arduino捕捉无线门铃信号,并模拟门铃发射相同信号(原生数据信号也可以大致当成示波器)。

本人非专业人士,若有错误之处,还请多多指教[email protected]

工具:433超再生模块一对(某宝5元一对),arduino板一块,uno、nano、micro都行,433M的无线门铃(自己可以拆开门铃看电路板上的晶振,多为银白色,上面有数字433样式)。

库文件下载地址: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 ,可以不连接接收模块。


内容如下:

上面setup中要设置接收到的脉冲长度,我的为215,这个要根据情况确定,loop内容只要关键两行,以24位发射两次上次捕捉的信号,大家也可以试试发射一次信号,因为我按一次接收到的不是一次的信号,所以设置了发射两次就成功了。

最后下载程序到Arduino中,下载程序完毕后竖起耳朵,再次等待奇迹。




回复

使用道具 举报

发表于 2017-3-8 19:37:21 | 显示全部楼层
帖子在哪里?
回复 支持 反对

使用道具 举报

发表于 2017-3-14 09:33:15 | 显示全部楼层
必须顶,有技术内涵的帖子
回复 支持 反对

使用道具 举报

发表于 2017-3-14 09:41:27 | 显示全部楼层
3Q for sharing.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 06:30 , Processed in 0.040007 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表