硬件材料:智能家居掌握主机1台(以下称主机),随意贴开关模组一套,无线发射模块RF433 蜂鸟H34T一块,无线吸收模块RF433 蜂鸟LR45B一块,示波器1台,实物如下图示:
随意贴的强电开关(吸收掌握部分):

随意贴无线开关(发射部分):
发射模块H34T:
加热缩管后收发模块:
主机接入吸收模块LR45B:
实现功能:主机通过无线模块LR45B吸收随意贴开关发射的RF433无线码,并存入主机。
①主机可定时或随时调用存入的无线代码通过无线发射模块再发射掌握随意贴的强电开关(随意贴的强电开关可掌握220V灯或电器)。②随意贴开关掌握主机绑定当前代码的功能,如开关主机掌握的电器,灯光灯。
方案:主机用C51单片机编程,吸收i/o口用中断的吸收办法,采集用高电平定时器门控计数器。随意贴开关是V1527编码。下图为按下随意贴开关时发码时LR45B吸收到的解调波形(见下图),调试时由于吸收的LR45B灵敏度太高一贯有无规则的杂波,示波器是很难捕捉完全的旗子暗记波形的,后面创造长按发射开关时一贯发射,这个获取波形的问题就办理了。
我用的是STC11F32XE单片机处理吸收:
void Timer1Init(void) //@11.0592MHz-----用作433无线吸收用
{
AUXR &= 0xBF; //定时器时钟12T模式
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式
TMOD |= 0x80; //设置定时器模式---为门控定时器,INT1 P33高时启动
TL1 = 0x00; //设置定时初值
TH1 = 0x00; //设置定时初值
TF1 = 0; //打消TF1标志
TR1 = 1; //定时器1开始计时
}
I/O口中断处理:
定时器计数值A =TH1256+TL1;
TH1=0;
TL1=0;
9.2ms(8478)<A < 9.5ms(8755)-----------头标志 STAR1_433
220us(203-46 ) < A < 350us(323+46)----------1527---置1 H1_433
900us(829-46) < A < 950us(876+46)-------1527--置0 L1_433
921.58(计数器值) 约1ms(韶光长度)
46(计数器值) 约50us
由于各个厂家的参数不一样,脉冲的宽度,会不一样。上面的剖断范围是按获取波形并抛有一定的余量的。余量大通用性好,抗滋扰差,余量小通用性不好抗滋扰强,可能换个同样型号的开关都识别不了。
1527 脉宽判断倒相后,因V1527的发码规则已获知,只要截取高电位的脉宽就可以剖断当前的码值是0还是1。干系程序代码网上有很多,这里略。须要把稳的一点是吸收模块的旗子暗记要作反相处理,这样才能识别V1527的开始中码(勾引码、头标识)方法是加一个NPN三极管9014倒相,倒相后的吸收波形如下图:
发射部分便是用单片机用软件仿照上图的波形(把稳是上图的倒相)从I/O口输出 上图的倒相波形输出重复4次即可。直接接到H34T的DAT脚驱动发射,这里略。










