在配件IR红外接收模块的情况下,开发板可进行LED灯遥控操作,其整体构成如图1所示。
图1 整体构成
红外接收模块所连接的引脚为D0,控制的LED为开发板上的LED4和LED5.
其相应的程序如下:
#include <IRremote.h>
int RECV_PIN = 5,f,p; //D0;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long v;
void setup()
{
pinMode(22, OUTPUT); // LED4
digitalWrite(22, HIGH);
pinMode(19, OUTPUT); // LED5
digitalWrite(19, HIGH);
Serial.begin(115200);
Serial.print("IR: ");
irrecv.enableIRIn();}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
v=results.value;
irrecv.resume();
if(v == 0xFFA25D)
{
Serial.println(v, DEC);
if(f==0) f=1;
else f=0;
v=0;
}
if(v == 0xFFE21D)
{
Serial.println(v, DEC);
if(f==0) p=1;
else p=0;
v=0;
}
if(f==1) digitalWrite(22, LOW); //on
else digitalWrite(22, HIGH); //off
if(p==1) digitalWrite(19, LOW); //on
else digitalWrite(19, HIGH); //off
}
}
经编译和上传,其运行结果如图2和图3所示。
图2 串口监视器所显示的键值
图3 遥控器打开LED