1#include <IRremote.h>
2#define irPin 3
3
4IRrecv irrecv(irPin);
5decode_results results;
6#define r1 5
7int relay1 = LOW;
8#define r2 6
9int relay2 = LOW;
10#define r3 7
11int relay3 = LOW;
12#define r4 8
13int relay4 = LOW;
14void setup()
15{
16 Serial.begin(9600);
17 irrecv.enableIRIn();
18
19 pinMode(r1, OUTPUT);
20 pinMode(r2, OUTPUT);
21 pinMode(r3, OUTPUT);
22 pinMode(r4, OUTPUT);
23
24}
25void loop()
26{
27 if (irrecv.decode(&results))
28 {
29 Serial.print(results.value, HEX);
30 Serial.print(" - ");
31 Serial.println(results.value);
32 switch (results.value)
33 {
34 case 284158740:
35 digitalWrite(r1,0);
36 digitalWrite(r2,0);
37 digitalWrite(r3,0);
38 digitalWrite(r4,0);
39 delay(250);
40 break;
41 case 284141910:
42 relay1 = ~ relay1;
43 digitalWrite(r1,relay1);
44 delay(250);
45 break;
46 case 284137830:
47 relay2 = ~ relay2;
48 digitalWrite(r2,relay2);
49 delay(250);
50 break;
51 case 284145990:
52 relay3 = ~ relay3;
53 digitalWrite(r3,relay3);
54 delay(250);
55 break;
56 case 284126100:
57 relay4 = ~ relay4;
58 digitalWrite(r4,relay4);
59 delay(250);
60 break;
61 }
62
63 irrecv.resume();
64 }
65}