一、以如下遥控器举例:
二、检测按键键值的Arduino程序:
#include Serial.begin(9600); //键值在串口通信窗口中查看 irrecv.enableIRIn(); //红外接收端初始化 } void loop() { if(irrecv.decode(&results)) //是否收到键值编码 { Serial.println(results.value,HEX);//通过串口打印十六进制的键值 delay(500); irrecv.resume(); //接收下一个值 } } 1 三、检测到的十六进制按键键值(在串口监视器中查看): 按键 (1) (4) (7) (*) (←) 键值 0xFFA25D 0xFF22DD 0xFFE01F 0xFF67 0xFF10EF 按键 (2) (5) (8) (0) (↑) (OK) (↓) 键值 0xFF629D 0xFF02FD 0xFFA857 0xFF9867 0xFF18E7 0xFF38C7 0xFF4AB5 按键 (3) (6) (9) (#) (→) 键值 0xFFE21D 0xFFC23D 0xFF906F 0xFFB04F 0xFF5AA5 四、Arduino的红外遥控器控制LED例程: include IRrecvirrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); //初始化红外遥控 PinMode(13,1); LED初始化,点亮 } void loop() { if (irrecv.decode(&results)) { if(results.value==0xFFA25D) //确认接收到按键(1)的编码,此码是预先读出来的按键编码。 { digitalWrite(13,1); //点亮LED Serial.println(\"turn on LED\"); //串口显示开灯 } else if(results.value==0xFF629D) //确认接收到的按键(2)的编码 { digitalWrite(13,0); //熄灭LED Serial.println(\"turn off LED\"); //串口显示关灯 } irrecv.resume(); // 接收下一个值 } } 2 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务