2. 遥控解码
接下来,我们要获取原电视遥控的按键与其对应的红外编码
2.1 硬件与连接
我们将ESP8266 插到ESP8266 烧录器中,拿出三根杜邦线,分别连接ESP8266 烧录器的3.3V(VCC)、GND、IO2,另外一端连上红外接收模块的三个引脚;
3.3V(VCC) -> VCC
GND -> GND
IO2 -> DAT(data)
如图所示:
随后连接电脑,开始下一步。
2.2 代码
上一章调试中,打开的实例的内容即是红外遥控的解码例程。但是对应的引脚不适用于这款esp模块,所以我们需要修改一下
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
const uint16_t kRecvPin = 2; //数据引脚选择(2 = IO2)
IRrecv irrecv(kRecvPin);
decode_results results;
void setup() {
Serial.begin(115200); //串口通讯波特率
irrecv.enableIRIn(); // 初始化红外接收模块(开始接收)
while (!Serial) //等待初始化完成
delay(50);
Serial.println();
Serial.print("IRrecvDemo is now running and waiting for IR message on Pin "); //打印红外接收模块正在运行
Serial.println(kRecvPin); //打印红外接收端口
}
void loop() {
if (irrecv.decode(&results)) { //判断是否接收到红外信号
serialPrintUint64(results.value, HEX); //打印红外信号数据(串口监视器查看)
Serial.println("");
irrecv.resume(); //接收下一个值
}
delay(100);
}
点击右上角的箭头(或项目->上传)烧录程序到esp模块中
2.3 结果
烧录完成后,打开工具 -> 串口监视器,将波特率调至115200,对着红外接收模块按动电视遥控按键,将会出现如图所示十六进制数据,记录保存各个按键所对应的数据。
链接: 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计(一).
链接: 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计(二).
链接: 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计(三).
链接: 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计(四).