红外遥控接收之二发光二极管闪烁
在上次的基础上追加了一个发光二极管,当遥控器有按下按键时发光二极管闪烁.
实物图片
- //本例来自于红外接收模块的IRremote自带范例
- //已经作出了修改
- //改为当有遥控器的按键按下时,接在数字引脚4上的发光LED就会闪烁0.1秒
- /*电路连接
- *红外接收器的VOUT接在数字引脚11上,GND接控制板的GND,VCC接控制板上+5V
- *发光二极管引脚接在数字引脚4上,通过220欧姆电阻回到控制板的GND
- *效果,当遥控器按下按键时,发光二极管就会闪烁,同时电脑的串口会出现按键的命令编码.
- */
- /*
- * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
- * An IR detector/demodulator must be connected to the input RECV_PIN.
- * Version 0.1 July, 2009
- * Copyright 2009 Ken Shirriff
- * [url]http://arcfn.com[/url]
- */
- #include <IRremote.h>
- int RECV_PIN = 11;//定义红外接收器的引脚为11
- int LED_PIN=4;//定义发光LED引脚数字4
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- void setup()
- {
- Serial.begin(9600);
- irrecv.enableIRIn(); // 初始化红外接收器
- pinMode(LED_PIN,OUTPUT);//设置发光LED引脚数字4
- }
- void loop() {
- if (irrecv.decode(&results)) {
- Serial.println(results.value, HEX);//以16进制换行输出接收代码
- Serial.println();//为了便于观看输出结果增加一个空行
- digitalWrite(LED_PIN,HIGH);//LED点亮
- delay(10);
- digitalWrite(LED_PIN,LOW);//LED熄灭
- irrecv.resume(); // 接收下一个值
- }
- }
复制代码
运行效果:
按下遥控器按键时,发光二极管闪烁.
打开串口监视器,串口监视器中输出相应的按键的代码.
把代码修改一下,尝试用数字1点亮LED,数字2关闭LED.
代码如下: - //本例来自于红外接收模块的IRremote自带范例
- //已经作出了修改
- /*电路连接
- *红外接收器的VOUT接在数字引脚11上,GND接控制板的GND,VCC接控制板上+5V
- *发光二极管引脚接在数字引脚4上,通过220欧姆电阻回到控制板的GND
- *效果,按键1点亮LED,按键2关闭LED.
- */
- /*
- * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
- * An IR detector/demodulator must be connected to the input RECV_PIN.
- * Version 0.1 July, 2009
- * Copyright 2009 Ken Shirriff
- * [url]http://arcfn.com[/url]
- */
- #include <IRremote.h>
- int RECV_PIN = 11;//定义红外接收器的引脚为11
- int LED_PIN=4;//定义发光LED引脚数字4
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- void setup()
- {
- Serial.begin(9600);
- irrecv.enableIRIn(); // 初始化红外接收器
- pinMode(LED_PIN,OUTPUT);//设置发光LED引脚数字4
- }
- void loop() {
- if (irrecv.decode(&results))
- {
- if (results.value==16724175) //确认接收到的第一排按键1的编码,此码是预先读出来的按键编码。
- {
- Serial.println(results.value, HEX);//以16进制换行输出接收代码
- Serial.println();//为了便于观看输出结果增加一个空行
-
- digitalWrite(LED_PIN,HIGH);//LED点亮
- Serial.println("点亮发光二极管tun on LED: "); //串口显示开灯
- }
- else if (results.value==16718055) //确认接收到的第一排按键2的编码,此码是预先读出来的按键编码。
- {
-
-
- digitalWrite(LED_PIN,LOW);//LED熄灭
- Serial.println(results.value, HEX);//以16进制换行输出接收代码
- Serial.println();//为了便于观看输出结果增加一个空行
- Serial.println("关发光二极管tun off LED: "); //串口显示关灯
- }
- irrecv.resume(); // 接收下一个值
- }
- }
复制代码
运行效果图
|