#include <IRremote.h>
#define RECV_PIN 2
IRrecv senalIR(RECV_PIN);
decode_results results;
const int ledRed = 9;
const int ledGreen = 5;
const int ledBlue = 6;
int estadoLED = 0;
int pwmValor = 255;
void setup()
{
Serial.begin(9600);
senalIR.enableIRIn(); // Start the receiver
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledBlue, OUTPUT);
}
void loop() {
if (senalIR.decode()) {
Serial.println(senalIR.decodedIRData.command);
switch (senalIR.decodedIRData.command)
{
case 16: // Código IR para el botón 1 (Rojo a pleno)
estadoLED = 1;
break;
case 17: // Código IR para el botón 2 (Verde a pleno)
estadoLED = 2;
break;
case 18: // Código IR para el botón 3 (azul a pleno)
estadoLED = 3;
break;
// default:
// break;
}
senalIR.resume(); // Receive the next value
}
if (estadoLED == 1) {
analogWrite(ledRed, pwmValor);
analogWrite(ledGreen, 0);
analogWrite(ledBlue, 0);
} else if (estadoLED == 2) {
analogWrite(ledRed, 0);
analogWrite(ledGreen, pwmValor);
analogWrite(ledBlue, 0);
} else if (estadoLED == 3) {
analogWrite(ledRed, 0);
analogWrite(ledGreen, 0);
analogWrite(ledBlue, pwmValor);
} else {
// Apagar todos los LEDs si no se presionó ninguna tecla
analogWrite(ledRed, 0);
analogWrite(ledGreen, 0);
analogWrite(ledBlue, 0);
}
}