1.概述
本传感器兼容各种单片机控制板,如arduino系列单片机等等。它的连接端口兼容arduino传感器扩展板。它主要由红外接收头组成,它是集接收、放大、解调一体的器件,它内部IC就已经完成了解调,输出的就是数字信号。传感器自带2个定位孔,方便你将传感器固定在其他设备。
2.规格参数
工作电压:3.3-5V(DC)
电流:50MA
最大功率:0.25W
工作温度:-10摄氏度 到 +50摄氏度
接口:3PIN接口
输出信号:数字信号
接收角度:90度
频率:38khz
接收距离:18米
原理
在实际的通信领域,发出来的信号一般有较宽的频谱,而且都是在比较低的频率段分布大量的能量,所以称之为基带信号,这种信号是不适合直接在信道中传输的。为便于传输、提高抗干扰能力和有效的利用带宽,通常需要将信号调制到适合信道和噪声特性的频率范围内进行传输,这就叫做信号调制。在通信系统的接收端要对接收到的信号进行解调,恢复出原来的基带信号。这部分通信原理的内容,大家了解一下即可。我们用到的红外遥控器里的红外通信,通常是使用 38K 左右的载波进行调制的。
红外遥控系统的主要部分为调制、发射和接收。红外遥控是以调制的方式发射数据,就是把数据和一定频率的载波进行“与”操作,这样既可以提高发射效率又可以降低电源功耗。调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,如图2所示,这是由发射端所使用的455kHz晶振决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。38KH载波发射(完整的发射)如下图。
4.接线图
5.测试代码(测试软件版本:arduino-1.8.12)
#include <IRremote.h>
int RECV_PIN = 11; //定义数字口11
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);//设置波特率
irrecv.enableIRIn(); // 使能红外接收
}
void loop() {
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);//显示数据
irrecv.resume(); // 接收下个数据
}
}
6.代码说明
编译上传之前我们先导入库文件IRremote.h,。
下图是红外遥控的键值:
7.测试结果
按照接线图接线,上传测试代码成功,利用USB线上电后,打开串口监视器,里面就会显示红外接收传感器接收到的数据。
对准红外接收传感器的接收头按下按键。接收到信号后,红外接收传感器上的LED也开始闪烁,串口监视器显示如下图。
8.资料下载链接
Arduino IDE/Mixly/Scratch/pyhon编程使用资料下载链接
链接:https://pan.baidu.com/s/1xz7QrotAEKDP6Z1nLX2cPw
提取码:keye