ESP8266使用红外VS1838接收红外信号

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.接线部分

 

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值