美文网首页
【雕爷学编程】Arduino动手做(103)---四路无线遥控套

【雕爷学编程】Arduino动手做(103)---四路无线遥控套

作者: 驴友花雕 | 来源:发表于2022-06-10 16:07 被阅读0次

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验一百零三:2262/2272四路无线遥控套件M4非锁接收板 配四键无线遥控器模组

    00.jpg

    PT2262/PT2272
    是台湾普城公司生产的一种CMOS 工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262 最多可有6 位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,可用于无线遥控发射电路。编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平期间315MHz 的高频发射电路起振并发射等幅高频信号,当17 脚为低平期间315MHz 的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。

    0-.jpeg

    PT2262
    构成发射电路,PT2262-IR的VDD是通过按键接通后向芯片供电,这样静态时,PT2262-IR并不耗电,特别适合是电池供电的场合。如果使用电源电压较低(如3V),二极管应选用低压差的型号(如1N60等),工作原理相近。无线发射电路是由三极管加上电阻,电容,三极管,声表面滤波器,天线组成。红外线发射电路比较简单,由电阻、三极管和红外线发射管组成。编码电路主要由编码芯片完成,每个遥控器上面的编码都是通过集成电路芯片来完成的。只要我们按下按键,编码将通过发射电路以无线的形式发送出去。

    0--.jpg 02.jpg 03.jpg 03-.jpg 03--.jpg 04.jpg 05.jpg

    PT2262输出波形
    PT2262输出波形图及其代表的意义:数据格式:每帧数据由24个脉冲,一个停止位和一个帧间隔组成,用两个脉冲来表示一个引脚状态,短脉冲定义为0,长脉冲定义为1,01代表悬空,11代表接高电平,00代表接低电平。24个脉冲组成了地址码和数据码,其实地址码和数据码对发送方来说并无区别,区别在于接收方定义为地址还是数据。2272-M4把前16个脉冲定义为地址码,后8个脉冲定义为数据码,也就是有8个地址码和4个数据码。

    08.jpeg

    编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。

    07 (1).jpg 07-.jpg

    PT2272
    是一款用以解码的芯片,编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。


    10.png 11.jpg 12.jpg 13.jpg 14.jpg 14-1.jpg 14-2.jpg 14-3.jpg 14-4.jpg 14-5.jpg

    四路无线遥控套件模块主要参数

    工作电压(V):DC5V

    静态电流(mA):4.5MA

    调制方式:调幅(OOK)

    工作温度: -10℃~+70℃

    接收灵敏度(dBm):-105DB

    工作频率(MHz):315M频率

    编码方式:焊盘编码(固定码)

    工作方式:M4(点动:按住不松手就输出,一松手就停止输出)

    尺寸(LWH):41237mm

    16 (1).jpg

    模块特点:
    超再生接收模块采用LC振荡电路,内含放大整形,输出的数据信号为解码后的高电平信号,使用极为方便,并且价格低廉,所以被广泛使用。带四路解码输出(同时也可改为六路点动或互锁输出),使用方便;频点调试容易,供货周期短;产品质量一致性好,性价比高。接收模块有较宽的接收带宽,一般为±10MHz,出厂时一般调在315MHz或433.92MHZ(如有特殊要求可调整频率,频率的调整范围为266MHz~433MHz。)。接收模块一般采用DC5V供电,如有特殊要求可调整电压范围。

    17 (1).jpg 18 (1).jpg

    接收模块一共有八个外部接口,上面有英文表示。“5V”表示接电源正极,“ D0、D1、D2、D" 3”表示输出,“GND”表示接电源负极,“ANT”表示接天线端。

    19 (1).jpg 21.jpg

    应用环境(应用领域)
    无线遥控开关、遥控插座、数据传输、遥控玩具、防盗报警主机、车库门、卷闸门、道闸门、伸缩门等门控业及其遥控音响领域等。

    实验程序一:接收示例
    Arduino参考开源代码

    /*
    
    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    
    实验一百零三: 2262/2272四路无线遥控套件M4非锁接收板 配四键无线遥控器模组
    
    安装库:IDE-工具-管理库-搜索RCSwitch-安装
    
    示例一:Example for receiving
    
    */
    
    
    
    #include <RCSwitch.h>
    
    RCSwitch mySwitch = RCSwitch();
    
    
    
    void setup() {
    
     Serial.begin(9600);
    
     mySwitch.enableReceive(0); // 接收器中断 0 => 即 pin #2
    
    }
    
    
    
    void loop() {
    
     if (mySwitch.available()) {
    
      output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
    
      mySwitch.resetAvailable();
    
     }
    
    }
    

    实验程序二:接收的简单示例
    Arduino参考开源代码

    /*
    
    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    
    实验一百零三: 2262/2272四路无线遥控套件M4非锁接收板 配四键无线遥控器模组
    
    安装库:IDE-工具-管理库-搜索RCSwitch-安装
    
    示例二:Simple example for receiving
    
    */
    
    
    
    #include <RCSwitch.h>
    
    RCSwitch mySwitch = RCSwitch();
    
    
    
    void setup() {
    
     Serial.begin(9600);
    
     mySwitch.enableReceive(0); // 接收器中断 0 => 即 pin #2
    
    }
    
    
    
    void loop() {
    
     if (mySwitch.available()) {
    
      int value = mySwitch.getReceivedValue();
    
      if (value == 0) {
    
       Serial.print("Unknown encoding");
    
      } else {
    
       Serial.print("Received ");
    
       Serial.print( mySwitch.getReceivedValue() );
    
       Serial.print(" / ");
    
       Serial.print( mySwitch.getReceivedBitlength() );
    
       Serial.print("bit ");
    
       Serial.print("Protocol: ");
    
       Serial.println( mySwitch.getReceivedProtocol() );
    
      }
    
      mySwitch.resetAvailable();
    
     }
    
    }
    

    实验场景图

    26.jpg

    实验开源仿真编程(Linkboy V4.63)


    27.jpg 28.jpg 29.jpg

    相关文章

      网友评论

          本文标题:【雕爷学编程】Arduino动手做(103)---四路无线遥控套

          本文链接:https://www.haomeiwen.com/subject/mihbmrtx.html