版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MadeInJack/article/details/51712072
1、硬件部分
红外接收管,也就是接收红外光的电子器件(代码未按照这个方式接线)
2、代码部分
#include<IRremote.h>
int RECV_PIN = 11; //红外引脚
int led_pin = 10; //LED引脚
boolean ledState = LOW; //LED的状态,默认为LOW
IRrecv irrecv(RECV_PIN); //设置RECV_PIN(也就是11引脚)为红外接收端
decode_results results; //定义results变量为红外结果存放位置
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); //
pinMode(led_pin,OUTPUT);
}
void loop() {
//一开始还是先判断是否接收到红外码,并把接收到的数据存储在变量results中。
if(irrecv.decode(&results)){
Serial.println(results.value,HEX);
//如果按了电源键,LED翻转状态,HIGH变为LOW,LOW变为HIGH
if(results.value == 0xFD00FF){
ledState = !ledState; //取反
digitalWrite(led_pin,ledState); //改变LED相应的状态
}
irrecv.resume();
}
}
主要看后面的解释就OK。