首页 > 代码库 > arduino 红外遥控器控制LED灯

arduino 红外遥控器控制LED灯

/*日期:2016.9.1功能:红外遥控器控制LED灯 开,关,闪烁元件:    跳线公公头 * 5    led, 220欧电阻    红外接收管,红外遥控接线:    红外灯面向自己从左到右分别接 IO3, GND, 5V    LED 负极接GND 正极串联电阻接 IO5红外1-9口编码:FF30CF    1FF18E7    2FF7A85    3FF10EF    4FF38C7    5FF5AA5    6FF42BD    7FF4AB5    8FF52AD    9参考:http://www.arduino.cn/thread-3259-1-1.html*/#include <IRremote.h>int ledPin = 5;int recvPin = 3;//定义红外接收器的引脚为3IRrecv irrecv(recvPin);decode_results results;long KEY_CODE_ONE = 0xFF30CF;long KEY_CODE_TWO = 0xFF18E7;long KEY_CODE_THREE = 0xFF7A85;long KEY_CODE_LONG_PRESS = 0xFFFFFFFF;long longPressKey = -1; //长按下的那个键void setup() {  pinMode(ledPin, OUTPUT);  irrecv.enableIRIn(); // 初始化红外接收器  Serial.begin(9600);}void loop() {  if (irrecv.decode(&results)) {    Serial.println(results.value, HEX);//以16进制换行输出接收代码    Serial.println();//为了便于观看输出结果增加一个空行    irrecv.resume(); // 接收下一个值  }  //按下1键盘的事件  if (results.value =http://www.mamicode.com/= KEY_CODE_ONE ) {    ledOn(ledPin);    longPressKey = KEY_CODE_ONE;  }  //长按1键盘的事件  if ( results.value =http://www.mamicode.com/= KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_ONE) {    ledOn(ledPin);  }  //按下2键盘的事件  if (results.value =http://www.mamicode.com/= KEY_CODE_TWO ) {    ledOff(ledPin);    longPressKey = KEY_CODE_TWO;  }  //长按 2键盘的事件  if ( results.value =http://www.mamicode.com/= KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_TWO) {    ledOff(ledPin);  }  //按下 3 键盘的事件  if (results.value =http://www.mamicode.com/= KEY_CODE_THREE ) {    flash(ledPin, 100, 100);    longPressKey = KEY_CODE_THREE;  }  //长按 3 键盘的事件  if ( results.value =http://www.mamicode.com/= KEY_CODE_LONG_PRESS && longPressKey == KEY_CODE_THREE) {    flash(ledPin, 100, 100);  }}// led亮灯void ledOn(int ledPin) {  digitalWrite(ledPin, HIGH);}// led熄灯void ledOff(int ledPin) {  digitalWrite(ledPin, LOW);}//led闪烁void flash(int ledPin, long highDuration, long lowDuration) {  digitalWrite(ledPin, HIGH);  delay(highDuration);  digitalWrite(ledPin, LOW);  delay(lowDuration);}

 

arduino 红外遥控器控制LED灯