1
6
7 #include <IRremote.h>
8
9 int RECV_PIN = 12;
10 int led1 = 8;
11 int led2 = 9;
12 int led3 = 10;
13 int led4 = 11;
14 int itsONled[] = {0,0,0,0,0};
15
19 #define code1 33772
20 #define code2 52972
21 #define code3 3494
22 #define code4 65160
23 IRrecv irrecv(RECV_PIN);
24
25 decode_results results;
26
27 void setup()
28 {
29 Serial.begin(9600);
30 irrecv.enableIRIn();
31 pinMode(led1, OUTPUT);
32 pinMode(led2, OUTPUT);
33 pinMode(led3, OUTPUT);
34 pinMode(led4, OUTPUT);
35 }
36
37 void loop() {
38 if (irrecv.decode(&results)) {
39 unsigned int value = results.value;
40 switch(value) {
41 case code1:
42 if(itsONled[1] == 1) {
43 digitalWrite(led1, LOW);
44 itsONled[1] = 0;
45 } else {
46 digitalWrite(led1, HIGH);
47 itsONled[1] = 1;
48 }
49 break;
50 case code2:
51 if(itsONled[2] == 1) {
52 digitalWrite(led2, LOW);
53 itsONled[2] = 0;
54 } else {
55 digitalWrite(led2, HIGH);
56 itsONled[2] = 1;
57 }
58 break;
59 case code3:
60 if(itsONled[3] == 1) {
61 digitalWrite(led3, LOW);
62 itsONled[3] = 0;
63 } else {
64 digitalWrite(led3, HIGH);
65 itsONled[3] = 1;
66 }
67 break;
68 case code4:
69 if(itsONled[4] == 1) {
70 digitalWrite(led4, LOW);
71 itsONled[4] = 0;
72 } else {
73 digitalWrite(led4, HIGH);
74 itsONled[4] = 1;
75 }
76 break;
77 }
78 Serial.println(value);
79 irrecv.resume();
80 }
81 }