Arduino编写代码读取红外信号

发布时间 2023-07-27 14:34:17作者: 游鱼儿

一、准备工具

  • 开发板(esp8266,esp32...)
  • 红外接收模块(右图)红外接收头
  • 数据线、跳线线和面包板(可选)

二、开发平台

软件:Arduino IDE v2.1.1

开发板sdk:esp8266 v3.1.2

红外接收库:IRremoteESP8266 v2.8.5

三、准备工作

将红外接收头与开发板通过跳线连接,红外接收头三条线分别为正、负和数据三条线,正负线连接至开发板正负引脚,将数据线连接至开发板任意一数据引脚,并记录引脚编号,引脚对应编号图,这里我们连接5号引脚(GPIO5)。最后将开发板是用数据线连接至电脑

四、代码部分

#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>

// 红外接收头连接的引脚编号 const uint16_t kRecvPin = 5; // 初始化接收 IRrecv irrecv(kRecvPin); // 接收数据缓存 decode_results results; void setup() { Serial.begin(115200); irrecv.enableIRIn(); // Start the receiver while (!Serial) // Wait for the serial connection to be establised. delay(50); Serial.println(); Serial.print("IRrecvDemo is now running and waiting for IR message on Pin "); Serial.println(kRecvPin); } void loop() { Serial.println("loop"); if (irrecv.decode(&results)) { // 打印接收到的数据 serialPrintUint64(results.value, HEX); irrecv.resume(); // Receive the next value } delay(2000); }

我们在Arduino IDE中安装过新程序库之后可以在Arduino IDE中查看并使用库中提供的示例来实现快速功能验证,通过File选项卡的Examples可以看到我们安装的IRRemoteEsp8266的示例,如下图

 总结

对于一些简单的功能可以直接使用Arduino库提供的示例并简单修改就可验证我们需要的功能,再对若干功能进行拼接就可以实现一个系统性的功能了