37个传感器和执行器的提法在互联网上广泛传播。事实上,Arduino能兼容的传感器模块肯定不止这37种。鉴于我积累了一些传感器和执行模块,根据实践知识(必须做)的概念,为了学习和交流,这里准备逐一尝试一系列实验,无论成功(程序),都会记录——小进步或问题,希望能吸引玉。
【Arduino】168传感器模块系列实验(数据代码) 仿真编程 图形编程)
103实验:2262/2724路无线遥控套件M4非锁接收板 四键无线遥控模块
PT2262/PT2272 是台湾省普城公司生产的一种CMOS 工艺制造的低功耗低价通用编解码电路,PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬空、高电平、低电平),任何组合可提供531441地址码,PT2262 最多可有6 位(D0-D5)数据端管脚,地址码和数据码从17开始设置 无线遥控发射电路可用于脚串行输出。编码芯片PT2262 编码信号由地址码、数据码、同步码组成,解码芯片PT2272 收到信号后,其地址码经过两次比较核对,VT 脚输出高电平,同时相应的数据脚也输出高电平,如果发送端始终按下按钮,编码芯片也会连续发射。当发射机没有按钮时,PT2262 17.不接通电源 脚是低电平的,所以315MHz 高频发射电路不工作,按键时,PT2262 第17条得电工作 当17 高电平期间315脚MHz 高频发射电路振动并发射等高频信号,当17 低平期315脚MHz 因此,高频发射电路完全受到控制PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制100%。
PT2262 构成发射电路,PT2262-IR的VDD按键连接后,向芯片供电,静态时,PT2262-IR不耗电,特别适合电池供电。若电源电压较低(如3)V),二极管应选择低压差型号(如1)N60等),工作原理相似。无线发射电路由电阻、电容、三极管、声表面滤波器和天线组成。由电阻、三极管和红外发射管组成的红外发射电路相对简单。编码电路主要由编码芯片完成,每个遥控器上的编码由集成电路芯片完成。只要按下按钮,编码就会通过发射电路无线发送。
PT2262输出波形 PT2262输出波形图及其代表意义:数据格式:每帧数据由24个脉冲、一个停止位和一个帧间隔组成,一个引脚状态用两个脉冲表示。短脉冲定义为0,长脉冲定义为1,01代表悬空,11代表高电平,00代表低电平。地址代码和数据代码由24个脉冲组成。事实上,地址代码和数据代码与发送者没有区别。区别在于接收者定义为地址或数据。2272-M前16个脉冲定义为地址码,后8个脉冲定义为数据码,即8个地址码和4个数据码。
编码芯片PT2262发出的编码信号由地址码、数据码和同步码组成,解码芯片PT收到信号后,其地址码经过两次比较核对,VT脚输出高电平,同时相应的数据脚也输出高电平,如果发送端始终按下按钮,编码芯片也会连续发射。当发射机没有按钮时,PT2262不接通电源,17脚低电平,315MHz高频发射电路不工作,按键时,PT2262电源工作时,第17脚输出调制的串行数据信号,高电平时17脚输出315MHz高频发射电路振动并发射等高频信号,当17脚在低水平期间315MHz高频发射电路停止振荡,高频发射电路完全控制PT226217脚输出的数字信号可以键控高频电路的范围(ASK调制)相当于调制100%。 PT2272 是解码芯片,编码芯片PT2262发出的编码信号由地址码、数据码和同步码组成,解码芯片PT收到信号后,其地址码经过两次比较核对,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按钮时,PT2262不接通电源,17脚低电平,315MHz高频发射电路不工作,按键时,PT2262电源工作时,第17脚输出调制的串行数据信号,高电平时17脚输出315MHz高频发射电路振动并发射等高频信号,当17脚在低水平期间315MHz高频发射电路停止振荡,高频发射电路完全控制PT226217脚输出的数字信号可以键控高频电路的范围(ASK调制)相当于调制100%。
四路无线遥控套件模块主要参数
工作电压(V):DC5V
静态电流(mA):4.5MA
调制方法:调幅(OOK)
工作温度: -10℃~ 70℃
接收灵敏度(dBm):-105DB
工作频率(MHz):315M频率
编码方法:焊盘编码(固定码)
工作方式:M4(点击:不松手按住输出,松手停止输出)
尺寸(LWH):41237mm
模块特点: 采用超再生接收模块LC振荡电路,包含放大整形手术,解码后输出的数据信号为高电平信号,使用非常方便,价格低廉,应用广泛。带四路解码输出(也可改为六路点动或互锁输出),使用方便;频点调试方便,供货周期短;产品质量一致性好,性价比高。接收模块具有较宽的接收带宽,一般为±10MHz,出厂时一般调在315MHz或433.92MHZ(如有特殊要求可调整频率,频率的调整范围为266MHz~433MHz。)。一般采用接收模块DC5V如有特殊要求,可调整电压范围。
接收模块有八个外部接口,用英语表示。V表示接电源正极, D0、D1、D2、D" 三、表示输出,GND表示接电负极,ANT表示接天线端。
应用环境(应用领域) 无线遥控开关、遥控插座、数据传输、遥控玩具、防盗报警主机、车库门、卷帘门、道路闸门、伸缩门等门控行业及其遥控音响领域。
实验程序1:接收示例
Arduino参考开源代码
/* 【Arduino】168传感器模块系列实验(数据代码) 仿真编程 图形编程) 实验103: 2262/272M4非锁接收板 四键无线遥控模块 安装库: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();
}
}
实验场景图 实验开源仿真编程(Linkboy V4.63)