1#include <IRremote.h>
2int RECV_PIN = 9;
3IRrecv irrecv(RECV_PIN);
4decode_results results;
5const int RED = 6;
6const int YELLOW = 7;
7const int BLUE = 8;
8int counter;
9
10int Random = 0;
11void setup()
12{
13Serial.begin(9600);
14irrecv.enableIRIn();
15 pinMode(RED,OUTPUT);
16pinMode(YELLOW,OUTPUT);
17pinMode(BLUE,OUTPUT);
18 }
19
20
21
22
23void loop()
24{
25if (irrecv.decode(&results))
26{
27switch (results.value)
28{
29
30
31
32
33 case 0xFD00FF :
34digitalWrite(RED,LOW);
35digitalWrite(YELLOW,LOW);
36digitalWrite(BLUE,LOW);
37 Serial.println("ALL LED OFF");
38 break;
39
40 case 0xFD08F7:
41digitalWrite(RED,HIGH);
42digitalWrite(YELLOW,LOW);
43digitalWrite(BLUE,LOW);
44 Serial.println("RED ON");
45 break;
46
47 case 0xFD8877 :
48digitalWrite(RED,LOW);
49digitalWrite(YELLOW,HIGH);
50digitalWrite(BLUE,LOW);
51 Serial.println("YELLOW ON");
52 break;
53
54
55 case 0xFD48B7 :
56digitalWrite(RED,LOW);
57digitalWrite(YELLOW,LOW);
58digitalWrite(BLUE,HIGH);
59 Serial.println("BLUE ON");
60 break;
61
62 case 0xFD28D7 :
63digitalWrite(RED,LOW);
64digitalWrite(YELLOW,LOW);
65digitalWrite(BLUE,LOW);
66
67
68 digitalWrite(RED,HIGH);
69 delay(1000);
70digitalWrite(RED,LOW);
71digitalWrite(YELLOW,HIGH);
72 delay(1000);
73digitalWrite(YELLOW,LOW);
74 digitalWrite(BLUE,HIGH);
75
76 delay(1000);
77digitalWrite(BLUE,LOW);
78
79 Serial.println("BLINKING FASTLY 1 SEC");
80 break;
81
82
83 case 0xFDA857 :
84digitalWrite(RED,LOW);
85digitalWrite(YELLOW,LOW);
86digitalWrite(BLUE,LOW);
87
88
89 digitalWrite(RED,HIGH);
90 delay(3000);
91digitalWrite(RED,LOW);
92digitalWrite(YELLOW,HIGH);
93 delay(3000);
94digitalWrite(YELLOW,LOW);
95 digitalWrite(BLUE,HIGH);
96
97 delay(3000);
98digitalWrite(BLUE,LOW);
99
100 Serial.println("BLINKING FASTLY 3 SEC");
101 break;
102
103
104
105 case 0xFD6897 :
106digitalWrite(RED,LOW);
107digitalWrite(YELLOW,LOW);
108digitalWrite(BLUE,LOW);
109
110
111 digitalWrite(RED,HIGH);
112 delay(5000);
113digitalWrite(RED,LOW);
114digitalWrite(YELLOW,HIGH);
115 delay(5000);
116digitalWrite(YELLOW,LOW);
117 digitalWrite(BLUE,HIGH);
118
119 delay(5000);
120digitalWrite(BLUE,LOW);
121
122 Serial.println("BLINKING FASTLY 5 SEC");
123 break;
124
125 case 0xFD18E7 :
126digitalWrite(RED,HIGH);
127 digitalWrite(YELLOW,HIGH);
128
129digitalWrite(BLUE,HIGH);
130 Serial.println("ALL ON ");
131 break;
132
133 case 0xFD58A7 :
134digitalWrite(5, HIGH);
135 delay(1000);
136 digitalWrite(5, LOW);
137 digitalWrite(6, HIGH);
138 delay(1000 * random(0.2, 2 + 1));
139 digitalWrite(6, LOW);
140 digitalWrite(7,HIGH);
141 delay(1000 * random(0.2, 2 + 1));
142 digitalWrite(7,LOW);
143 digitalWrite(5, HIGH);
144 delay(1000 * random(0.2, 2 + 1));
145 digitalWrite(5, HIGH);
146 digitalWrite(6, HIGH);
147 delay(1000 * random(0.2, 2 + 1));
148 digitalWrite(6, LOW);
149 digitalWrite(7,HIGH);
150 delay(1000 * random(0.2, 2 + 1));
151 digitalWrite(7,LOW);
152 digitalWrite(5, HIGH);
153 delay(1000 * random(0.2, 2 + 1));
154 digitalWrite(7,HIGH);
155 delay(1000 * random(0.1, 2 + 1));
156 digitalWrite(7,LOW);
157 delay(1000 * random(0.1, 2 + 1));
158 digitalWrite(6, LOW);
159 delay(1000 * random(0.1, 2 + 1));
160 digitalWrite(5, LOW);
161 digitalWrite(5, HIGH);
162 delay(200);
163 digitalWrite(5, LOW);
164 digitalWrite(6, HIGH);
165 delay(200);
166 digitalWrite(6, LOW);
167 digitalWrite(7,HIGH);
168 digitalWrite(6, HIGH);
169 digitalWrite(5, HIGH);
170 delay(1000);
171 digitalWrite(5, LOW);
172 digitalWrite(6, LOW);
173 digitalWrite(7,LOW);
174
175 delay(1000 * random(0.1, 2 + 1));
176 digitalWrite(7,LOW);
177 digitalWrite(6, LOW);
178 digitalWrite(5, LOW);
179
180 delay(1000 * random(0.2, 2 + 1));
181 for (counter = 0; counter < 10; ++counter) {
182 delay(1000 * random(0.1, 2 + 1));
183 digitalWrite(7,LOW);
184 delay(1000 * random(0.1, 2 + 1));
185 digitalWrite(6, LOW);
186 delay(1000 * random(0.1, 2 + 1));
187 digitalWrite(5, LOW);
188 digitalWrite(5, HIGH);
189 delay(200);
190 digitalWrite(5, LOW);
191 digitalWrite(6, HIGH);
192 delay(200);
193 digitalWrite(6, LOW);
194 digitalWrite(7,HIGH);
195 }
196 digitalWrite(6, HIGH);
197 digitalWrite(5, HIGH);
198 delay(1000 * random(0.1, 2 + 1));
199 digitalWrite(7,LOW);
200 digitalWrite(6, LOW);
201 digitalWrite(5, LOW);
202 digitalWrite(7,HIGH);
203 digitalWrite(6, HIGH);
204 digitalWrite(5, HIGH);
205 digitalWrite(7,LOW);
206 digitalWrite(6, LOW);
207 digitalWrite(5, LOW);
208
209 break;
210
211
212
213
214
215
216 default:
217Serial.print("Undefined code received: 0x");
218Serial.println(results.value, HEX);
219break;
220}
221irrecv.resume();
222}
223}
224