Управление светодиодными лентами при помощи пульта дистанционного управления и ардуино.
внешний вид платы
Библиотека IRremote
#include <IRremote.h> // https://github.com/shirriff/Arduino-IRremote #define RECV_PIN 8 // IR приемник #define OUT1 11 // выхода на мосфеты\реле #define OUT2 12 #define OUT3 15 #define OUT4 14 #define POWER_KEY 0x40BF30CF // коды пульта ДУ #define KEY1 0x40BF7887 #define KEY2 0x40BFF807 #define KEY3 0xC03FC03F #define KEY4 0xC03F40BF IRrecv irrecv(RECV_PIN); decode_results results; void setup() { irrecv.enableIRIn(); pinMode(OUT1, OUTPUT); pinMode(OUT2, OUTPUT); pinMode(OUT3, OUTPUT); pinMode(OUT4, OUTPUT); } void loop() { if (irrecv.decode(&results)) { if (results.value == KEY1) digitalWrite(OUT1, !digitalRead(OUT1)); else if (results.value == KEY2) digitalWrite(OUT2, !digitalRead(OUT2)); else if (results.value == KEY3) digitalWrite(OUT3, !digitalRead(OUT3)); else if (results.value == KEY4) digitalWrite(OUT4, !digitalRead(OUT4)); else if (results.value == POWER_KEY) { if (digitalRead(OUT1) || digitalRead(OUT2) || digitalRead(OUT3) || digitalRead(OUT4)){ digitalWrite(OUT1, LOW); digitalWrite(OUT2, LOW); digitalWrite(OUT3, LOW); digitalWrite(OUT4, LOW); } else { digitalWrite(OUT1, HIGH); digitalWrite(OUT2, HIGH); digitalWrite(OUT3, HIGH); digitalWrite(OUT4, HIGH); } } irrecv.resume(); } }