1.硬件部分
1.ESP80226NodeMcu一块
2.杜邦线若干(6根左右)
3.VS1838红外接收模块一个
4.数据线一根
5.面包板一块(没有条件的不影响)
注:图片预览请下载后预览或者在新的浏览器标签中打开,直接预览太大了。
2.软件部分
1.Arduino IDE开发工具
2.ESP8266芯片包
3.IRremoteESP8266库
这部分的内容百度搜一下,库的话在github上有,如果诉求很多的话我在考虑重新补充这部分的内容。
3.代码部分
#define RECV_PIN 2 // 定义红外信号接收引脚 ESP8266的D4引脚也是GPIO2号引脚
#include <IRremoteESP8266.h> // 引入IRremoteESP8266红外信号接收库
IRrecv irrecv(RECV_PIN); // 定义红外遥控接收器对象并传入使用的引脚,库会根据传入引脚编号自动初始化接收功能
decode_results result ; // 定义红外信号收到以后存储的变量
// 这个函数是在设备通电后或者复位后最先执行
void setup() {
Serial.begin(9600); // 启动波特率为9600的串口通讯,你可以在串口监视器中看到Serial.print(string)函数输出的信息。
irrecv.enableIRIn(); // 使用红外信号接收对象调用启动接收函数
Serial.println(); // 串口输入一个空行,串口监视的时候一开始会显示一些乱码,使用空行分开乱码和真正的调试信息
Serial.println("Start Red message Recv!"); // 告诉串口监视器,红外接收的工作已经初始化完成。
}
// 该函数在setup函数执行完成之后会一直重复执行里面的代码
void loop() {
if (irrecv.decode(&result)) { // 使用红外接收对象调用decode方法,并且传入接收到的红外信号 的存储变量,接收到的红外信号就会存在result变量中,如果接收红外信号成功,那么就会执行if语句块的代码
Serial.println("Decode Message Success."); // 告诉串口通讯,红外信息接收成功了
Serial.println(result.value, HEX); // 串口通讯用16进制方式显示接收到的红外信号
irrecv.resume(); // 释放本次接收的信息,准备接收下一次发射的红外信号
}
delay(100); // 延迟100毫秒
}
4.接线部分