#include <IRremote.h>
#define irPin 3
IRrecv irrecv(irPin);
decode_results results;
#define r1 5
int relay1 = LOW;
#define r2 6
int relay2 = LOW;
#define r3 7
int relay3 = LOW;
#define r4 8
int relay4 = LOW;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(r3, OUTPUT);
pinMode(r4, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.print(results.value, HEX);
Serial.print(" - ");
Serial.println(results.value);
switch (results.value)
{
case 284158740:
digitalWrite(r1,0);
digitalWrite(r2,0); //all off
digitalWrite(r3,0);
digitalWrite(r4,0);
delay(250);
break;
case 284141910:
relay1 = ~ relay1;
digitalWrite(r1,relay1);
delay(250);
break;
case 284137830:
relay2 = ~ relay2;
digitalWrite(r2,relay2);
delay(250);
break;
case 284145990:
relay3 = ~ relay3;
digitalWrite(r3,relay3);
delay(250);
break;
case 284126100:
relay4 = ~ relay4;
digitalWrite(r4,relay4);
delay(250);
break;
}
irrecv.resume();
}
}
Comments