注意:
1. arduino 的 libraries 在 mac os 中的地址
/Users/<username>/Documents/Arduino/libraries/
2. 红外遥控程序注意将IRremote文件夹 复制到Arduino安装目录下面libraries 文件夹下面 ,否则编译会出现
C:\Program Files (x86)\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope int RECV_PIN = TKD2; // the pin the IR receiver is connected to ^编译有误。
文件下载地址
https://download.youkuaiyun.com/download/countofdane/10670832
1. 准备
红外遥控器发出的信号是一连串的二进制脉冲码。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管发射出去,而红外线接收装置则要滤除其他杂波,叧接收该特定频率的信号并将其还原成二进制脉冲码,也就是解调。
内置接收管将红外发射管发射出来的光信号转换为微弱的电信号,此信号经由IC内部放大器进行放大,然后通过自动增益控制、带通滤波、解调变、波形整形后还原为遥控器发射出的原始编码,经由接收头的信号输出脚输入到电器上的编码识别电路。
要想对某一遥控器进行解码必须要了解该遥控器的编码方式。本产品使用的遥控器的码方式为:NEC协议。下面就介绍一下NEC协议的特点:
(1)8位地址位,8位命令位
(2)为了可靠性地址位和命令位被传输两次
(3)脉冲位置调制
(4)载波频率38khz
(5)每一位的时间为1.125ms或2.25ms
逻辑 0和1的定义如下图
逻辑1的是由560us的高电平和1.69ms的低电平组成的脉冲表示
逻辑0的是由560us的高电平和565us的低电平组成的脉冲表示
重复脉冲
重复码的格式是由9ms的AGC高电平和2.25ms的低电平及一个560us的高电平组成。如右图所示
按键按下立刻松开的发射脉冲:
下图片显示了NEC的协议典型的脉冲序列。
①一个信息发送是由9mS的AGC自动