网上大多数都说IRremote库版本要和程序调用函数对应,但是就是编译不过,还有一点要注意,ESP32板的版本号要选对。
图中画圈的要注意版本号,不对应,调用函数头文件会出错,别手欠啥也用最新版本,新的不一定适合自己,我就是手欠,esp32板卡库更新到最新了,导致头文件冲突,编译不过。对于新手一定要注意程序里串口波特率要对应。还有板卡型号要选对,型号在开发板后面。
下面程序可以直接用,前提是你的遥控按键发送编码和这个一样,你可以先看接收到的是什么,再用if判断开关灯。
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
#ifdef ARDUINO_ESP32C3_DEV
const uint16_t kRecvPin = 15;
#else
const uint16_t kRecvPin = 15;
#endif
int deng = 2 ;
char xiaoxi[5];
char xinxi[5];
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);
pinMode(deng,OUTPUT);
}
void loop() {
if (irrecv.decode(&results))
{
serialPrintUint64(results.value, HEX);
Serial.println("");
irrecv.resume();
}
if(results.value==0xFF6897)
{
digitalWrite(deng,HIGH);
}
if(results.value==0xFF30CF)
{
digitalWrite(deng,LOW);
}
}