红外遥控
常用红外协议资料IRremote库 – 太极创客 (taichi-maker.com)
1838红外接收器
1838红外接收器引脚 |
Arduino引脚 |
|
OUT |
11 |
|
VCC |
+5V |
|
GND |
GND |
红外接收(NEC协议)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #include <IRremote.h> #define RECV_PIN 11 IRrecv irrecv(RECV_PIN); decode_results results; void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); Serial.begin(9600); Serial.println("Enabling IRin"); irrecv.enableIRIn(); Serial.println("Enabled IRin"); } void loop() {
if (irrecv.decode(&results)) { Serial.println(results.value, HEX); if(results.value == 0xF7C03F) { Serial.println("Command Received: Turn On LED."); digitalWrite(LED_BUILTIN, HIGH); } if(results.value == 0xF740BF) { Serial.println("Command Received: Turn Off LED."); digitalWrite(LED_BUILTIN, LOW); } irrecv.resume(); } delay(100); }
|
信号发射
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <IRremote.h> IRsend irsend; void setup() { } void loop() { for (int i = 0; i < 3; i++) { irsend.sendNEC(0xF7C03F, 32); delay(40); }
delay(5000); }
|
- 红外LED发射的信号具有方向性
- 控制距离最远不超过2-3米
- 需要为红外LED配限流电阻