How to make Led Chaser with Arduino
In this tutorial, I will show you how to make Led Chaser with arduino nano, led and jumper wires
Components and supplies
1
Jumper wires (generic)
1
LED (generic)
1
Arduino Nano R3
1
Breadboard (generic)
Apps and platforms
1
Arduino IDE
Project description
Code
Arduino code 4
arduino
1 2#define SPEED_MS 200 3 4void setup() { 5 // set up pins 2 to 13 as outputs 6 for (int i = 2; i <= 13; i++) { 7 pinMode(i, OUTPUT); 8 } 9} 10 11uint16_t chase2 = 13; // keeps track of second LED movement 12 13void loop() { 14 // move first LED from left to right and second from right to left 15 for (int i = 2; i < 13; i++) { 16 allLEDsOff(); 17 digitalWrite(i, HIGH); // chaser 1 18 digitalWrite(chase2, HIGH); // chaser 2 19 chase2--; 20 // stop LEDs from appearing to stand still in the middle 21 if (chase2 != 7) { 22 delay(SPEED_MS); 23 } 24 } 25 26 // move first LED from right to left and second LED from left to right 27 for (int i = 13; i > 2; i--) { 28 allLEDsOff(); 29 digitalWrite(i, HIGH); // chaser 1 30 digitalWrite(chase2, HIGH); // chaser 2 31 chase2++; 32 // stop LEDs from appearing to stand still in the middle 33 if (chase2 != 8) { 34 delay(SPEED_MS); 35 } 36 } 37} 38 39// function to switch all LEDs off 40void allLEDsOff(void) 41{ 42 for (int i = 2; i <= 13; i++) { 43 digitalWrite(i, LOW); 44 } 45} 46 47
Arduino code 2
arduino
1 2#define SPEED_MS 100 3 4void setup() { 5 // set up pins 2 to 13 as outputs 6 for (int i = 2; i <= 13; i++) { 7 pinMode(i, OUTPUT); 8 } 9} 10 11uint16_t chase2 = 13; // keeps track of second LED movement 12 13void loop() { 14 // move first LED from left to right and second from right to left 15 for (int i = 2; i < 13; i++) { 16 allLEDsOff(); 17 digitalWrite(i, HIGH); // chaser 1 18 digitalWrite(chase2, HIGH); // chaser 2 19 chase2--; 20 // stop LEDs from appearing to stand still in the middle 21 if (chase2 != 7) { 22 delay(SPEED_MS); 23 } 24 } 25 26 // move first LED from right to left and second LED from left to right 27 for (int i = 13; i > 2; i--) { 28 allLEDsOff(); 29 digitalWrite(i, HIGH); // chaser 1 30 digitalWrite(chase2, HIGH); // chaser 2 31 chase2++; 32 // stop LEDs from appearing to stand still in the middle 33 if (chase2 != 8) { 34 delay(SPEED_MS); 35 } 36 } 37} 38 39// function to switch all LEDs off 40void allLEDsOff(void) 41{ 42 for (int i = 2; i <= 13; i++) { 43 digitalWrite(i, LOW); 44 } 45} 46 47
Arduino code 3
arduino
1 2void setup(){ 3 pinMode(2, OUTPUT); 4 pinMode(3, OUTPUT); 5 pinMode(4, OUTPUT); 6 pinMode(5, OUTPUT); 7 pinMode(6, OUTPUT); 8 pinMode(7, OUTPUT); 9 pinMode(8, OUTPUT); 10 pinMode(9, OUTPUT); 11 pinMode(10, OUTPUT); 12 pinMode(11, OUTPUT); 13 pinMode(12, OUTPUT); 14 pinMode(13, OUTPUT); 15} 16void loop(){ 17 digitalWrite(4, HIGH); 18 delay(100); 19 digitalWrite(4, LOW); 20 delay(100); 21 digitalWrite(4, HIGH); 22 delay(100); 23 digitalWrite(4, LOW); 24 delay(100); 25 digitalWrite(8, HIGH); 26 delay(100); 27 digitalWrite(8, LOW); 28 delay(100); 29 digitalWrite(8, HIGH); 30 delay(100); 31 digitalWrite(8, LOW); 32 delay(100); 33 digitalWrite(2, HIGH); 34 delay(100); 35 digitalWrite(2, LOW); 36 delay(100); 37 digitalWrite(2, HIGH); 38 delay(100); 39 digitalWrite(2, LOW); 40 delay(100); 41 digitalWrite(10, HIGH); 42 delay(100); 43 digitalWrite(10, LOW); 44 delay(100); 45 digitalWrite(10, HIGH); 46 delay(100); 47 digitalWrite(10, LOW); 48 delay(100); 49 digitalWrite(3, HIGH); 50 delay(100); 51 digitalWrite(3, LOW); 52 delay(100); 53 digitalWrite(3, HIGH); 54 delay(100); 55 digitalWrite(3, LOW); 56 delay(100); 57 digitalWrite(13, HIGH); 58 delay(100); 59 digitalWrite(13, LOW); 60 delay(100); 61 digitalWrite(13, HIGH); 62 delay(100); 63 digitalWrite(13, LOW); 64 delay(100); 65 digitalWrite(7, HIGH); 66 delay(100); 67 digitalWrite(7, LOW); 68 delay(100); 69 digitalWrite(7, HIGH); 70 delay(100); 71 digitalWrite(7, LOW); 72 delay(100); 73 digitalWrite(12, HIGH); 74 delay(100); 75 digitalWrite(12, LOW); 76 delay(100); 77 digitalWrite(12, HIGH); 78 delay(100); 79 digitalWrite(12, LOW); 80 delay(100); 81 digitalWrite(5, HIGH); 82 delay(100); 83 digitalWrite(5, LOW); 84 delay(100); 85 digitalWrite(5, HIGH); 86 delay(100); 87 digitalWrite(5, LOW); 88 delay(100); 89 digitalWrite(11, HIGH); 90 delay(100); 91 digitalWrite(11, LOW); 92 delay(100); 93 digitalWrite(11, HIGH); 94 delay(100); 95 digitalWrite(11, LOW); 96 delay(100); 97 digitalWrite(6, HIGH); 98 delay(100); 99 digitalWrite(6, LOW); 100 delay(100); 101 digitalWrite(6, HIGH); 102 delay(100); 103 digitalWrite(6, LOW); 104 delay(100); 105 digitalWrite(9, HIGH); 106 delay(100); 107 digitalWrite(9, LOW); 108 delay(100); 109 digitalWrite(9, HIGH); 110 delay(100); 111 digitalWrite(9, LOW); 112 delay(100); 113 digitalWrite(13, HIGH); 114 delay(100); 115 digitalWrite(13, LOW); 116 delay(100); 117 digitalWrite(12, HIGH); 118 delay(100); 119 digitalWrite(12, LOW); 120 delay(100); 121 digitalWrite(11, HIGH); 122 delay(100); 123 digitalWrite(11, LOW); 124 delay(100); 125 digitalWrite(10, HIGH); 126 delay(100); 127 digitalWrite(10, LOW); 128 delay(100); 129 digitalWrite(9, HIGH); 130 delay(100); 131 digitalWrite(9, LOW); 132 delay(100); 133 digitalWrite(8, HIGH); 134 delay(100); 135 digitalWrite(8, LOW); 136 delay(100); 137 digitalWrite(7, HIGH); 138 delay(100); 139 digitalWrite(7, LOW); 140 delay(100); 141 digitalWrite(6, HIGH); 142 delay(100); 143 digitalWrite(6, LOW); 144 delay(100); 145 digitalWrite(5, HIGH); 146 delay(100); 147 digitalWrite(5, LOW); 148 delay(100); 149 digitalWrite(4, HIGH); 150 delay(100); 151 digitalWrite(4, LOW); 152 delay(100); 153 digitalWrite(3, HIGH); 154 delay(100); 155 digitalWrite(3, LOW); 156 delay(100); 157 digitalWrite(2, HIGH); 158 delay(100); 159 digitalWrite(2, LOW); 160 delay(100); 161 digitalWrite(2, HIGH); 162 delay(100); 163 digitalWrite(3, HIGH); 164 delay(100); 165 digitalWrite(4, HIGH); 166 delay(100); 167 digitalWrite(5, HIGH); 168 delay(100); 169 digitalWrite(6, HIGH); 170 delay(100); 171 digitalWrite(7, HIGH); 172 delay(100); 173 digitalWrite(8, HIGH); 174 delay(100); 175 digitalWrite(9, HIGH); 176 delay(100); 177 digitalWrite(10, HIGH); 178 delay(100); 179 digitalWrite(11, HIGH); 180 delay(100); 181 digitalWrite(12, HIGH); 182 delay(100); 183 digitalWrite(13, HIGH); 184 delay(100); 185 digitalWrite(2,LOW); 186 delay(100); 187 digitalWrite(3,LOW); 188 delay(100); 189 digitalWrite(4,LOW); 190 delay(100); 191 digitalWrite(5,LOW); 192 delay(100); 193 digitalWrite(6,LOW); 194 delay(100); 195 digitalWrite(7,LOW); 196 delay(100); 197 digitalWrite(8,LOW); 198 delay(100); 199 digitalWrite(9,LOW); 200 delay(100); 201 digitalWrite(10,LOW); 202 delay(100); 203 digitalWrite(11,LOW); 204 delay(100); 205 digitalWrite(12,LOW); 206 delay(100); 207 digitalWrite(13,LOW); 208 delay(100); 209 digitalWrite(13,HIGH); 210 delay(100); 211 digitalWrite(2,HIGH); 212 delay(100); 213 digitalWrite(12,HIGH); 214 delay(100); 215 digitalWrite(3,HIGH); 216 delay(100); 217 digitalWrite(11,HIGH); 218 delay(100); 219 digitalWrite(4,HIGH); 220 delay(100); 221 digitalWrite(10,HIGH); 222 delay(100); 223 digitalWrite(5,HIGH); 224 delay(100); 225 digitalWrite(9,HIGH); 226 delay(100); 227 digitalWrite(6,HIGH); 228 delay(100); 229 digitalWrite(8,HIGH); 230 delay(100); 231 digitalWrite(7,HIGH); 232 delay(100); 233 digitalWrite(2, HIGH); 234 delay(100); 235 digitalWrite(2, LOW); 236 delay(100); 237 digitalWrite(3, HIGH); 238 delay(100); 239 digitalWrite(3, LOW); 240 delay(100); 241 digitalWrite(4, HIGH); 242 delay(100); 243 digitalWrite(4, LOW); 244 delay(100); 245 digitalWrite(5, HIGH); 246 delay(100); 247 digitalWrite(5, LOW); 248 delay(100); 249 digitalWrite(6, HIGH); 250 delay(100); 251 digitalWrite(6, LOW); 252 delay(100); 253 digitalWrite(7, HIGH); 254 delay(100); 255 digitalWrite(7, LOW); 256 delay(100); 257 digitalWrite(8, HIGH); 258 delay(100); 259 digitalWrite(8, LOW); 260 delay(100); 261 digitalWrite(9, HIGH); 262 delay(100); 263 digitalWrite(9, LOW); 264 delay(100); 265 digitalWrite(10, HIGH); 266 delay(100); 267 digitalWrite(10, LOW); 268 delay(100); 269 digitalWrite(11, HIGH); 270 delay(100); 271 digitalWrite(11, LOW); 272 delay(100); 273 digitalWrite(12, HIGH); 274 delay(100); 275 digitalWrite(12, LOW); 276 delay(100); 277 digitalWrite(13, HIGH); 278 delay(100); 279 digitalWrite(13, LOW); 280 delay(100); 281 digitalWrite(2, HIGH); 282 delay(100); 283 digitalWrite(3, HIGH); 284 delay(100); 285 digitalWrite(4, HIGH); 286 delay(100); 287 digitalWrite(5, HIGH); 288 delay(100); 289 digitalWrite(6, HIGH); 290 delay(100); 291 digitalWrite(7, HIGH); 292 delay(100); 293 digitalWrite(8, HIGH); 294 delay(100); 295 digitalWrite(9, HIGH); 296 delay(100); 297 digitalWrite(10, HIGH); 298 delay(100); 299 digitalWrite(11, HIGH); 300 delay(100); 301 digitalWrite(12, HIGH); 302 delay(100); 303 digitalWrite(13, HIGH); 304 delay(100); 305 digitalWrite(13,LOW); 306 delay(100); 307 digitalWrite(12,LOW); 308 delay(100); 309 digitalWrite(11,LOW); 310 delay(100); 311 digitalWrite(10,LOW); 312 delay(100); 313 digitalWrite(9,LOW); 314 delay(100); 315 digitalWrite(8,LOW); 316 delay(100); 317 digitalWrite(7,LOW); 318 delay(100); 319 digitalWrite(6,LOW); 320 delay(100); 321 digitalWrite(5,LOW); 322 delay(100); 323 digitalWrite(4,LOW); 324 delay(100); 325 digitalWrite(3,LOW); 326 delay(100); 327 digitalWrite(2,LOW); 328 delay(100); 329 digitalWrite(2, HIGH); 330 delay(100); 331 digitalWrite(2, LOW); 332 delay(100); 333 digitalWrite(3, HIGH); 334 delay(100); 335 digitalWrite(3, LOW); 336 delay(100); 337 digitalWrite(4, HIGH); 338 delay(100); 339 digitalWrite(4, LOW); 340 delay(100); 341 digitalWrite(5, HIGH); 342 delay(100); 343 digitalWrite(5, LOW); 344 delay(100); 345 digitalWrite(6, HIGH); 346 delay(100); 347 digitalWrite(6, LOW); 348 delay(100); 349 digitalWrite(7, HIGH); 350 delay(100); 351 digitalWrite(7, LOW); 352 delay(100); 353 digitalWrite(8, HIGH); 354 delay(100); 355 digitalWrite(8, LOW); 356 delay(100); 357 digitalWrite(9, HIGH); 358 delay(100); 359 digitalWrite(9, LOW); 360 delay(100); 361 digitalWrite(10, HIGH); 362 delay(100); 363 digitalWrite(10, LOW); 364 delay(100); 365 digitalWrite(11, HIGH); 366 delay(100); 367 digitalWrite(11, LOW); 368 delay(100); 369 digitalWrite(12, HIGH); 370 delay(100); 371 digitalWrite(12, LOW); 372 delay(100); 373 digitalWrite(13, HIGH); 374 delay(100); 375 digitalWrite(13, LOW); 376 delay(100); 377 digitalWrite(13, HIGH); 378 delay(100); 379 digitalWrite(12, HIGH); 380 delay(100); 381 digitalWrite(11, HIGH); 382 delay(100); 383 digitalWrite(10, HIGH); 384 delay(100); 385 digitalWrite(9, HIGH); 386 delay(100); 387 digitalWrite(8, HIGH); 388 delay(100); 389 digitalWrite(7, HIGH); 390 delay(100); 391 digitalWrite(6, HIGH); 392 delay(100); 393 digitalWrite(5, HIGH); 394 delay(100); 395 digitalWrite(4, HIGH); 396 delay(100); 397 digitalWrite(3, HIGH); 398 delay(100); 399 digitalWrite(2, HIGH); 400 delay(100); 401 digitalWrite(13,LOW); 402 delay(100); 403 digitalWrite(2,LOW); 404 delay(100); 405 digitalWrite(12,LOW); 406 delay(100); 407 digitalWrite(3,LOW); 408 delay(100); 409 digitalWrite(11,LOW); 410 delay(100); 411 digitalWrite(4,LOW); 412 delay(100); 413 digitalWrite(10,LOW); 414 delay(100); 415 digitalWrite(5,LOW); 416 delay(100); 417 digitalWrite(9,LOW); 418 delay(100); 419 digitalWrite(6,LOW); 420 delay(100); 421 digitalWrite(8,LOW); 422 delay(100); 423 digitalWrite(7,LOW); 424 delay(100); 425 digitalWrite(13, HIGH); 426 delay(100); 427 digitalWrite(12, HIGH); 428 delay(100); 429 digitalWrite(11, HIGH); 430 delay(100); 431 digitalWrite(11,LOW); 432 delay(100); 433 digitalWrite(12,LOW); 434 delay(100); 435 digitalWrite(13,LOW); 436 delay(100); 437} 438
Arduino codes
arduino
1#define t 30 2#define t1 20 3#define t2 100 4#define t3 50 5 6void setup() 7{ 8 for (int i = 2; i <= 13; i++) { 9 pinMode(i, OUTPUT); 10} 11} 12 13void loop() 14{ 15 16effect_1(); 17effect_1(); 18 19 effect_2(); 20 effect_2(); 21 22 effect_3(); 23 effect_3(); 24 25 effect_4(); 26 effect_4(); 27 28 effect_5(); 29 effect_5(); 30 31 effect_6(); 32 effect_6(); 33 34 effect_7(); 35 effect_7(); 36} 37 38void effect_1() 39{ 40for(int i=2; i<14; i++){ 41digitalWrite(i, HIGH); 42delay(t1); 43digitalWrite(i+1, HIGH); 44delay(t1); 45digitalWrite(i+2, HIGH); 46delay(t1); 47digitalWrite(i, LOW); 48delay(t1); 49digitalWrite(i+1, LOW); 50delay(t1); 51} 52for(int i=13; i>1; i--){ 53digitalWrite(i, HIGH); 54delay(t1); 55digitalWrite(i-1, HIGH); 56delay(t1); 57digitalWrite(i-2, HIGH); 58delay(t1); 59digitalWrite(i, LOW); 60delay(t1); 61digitalWrite(i-1, LOW); 62delay(t1); 63} 64} 65/////////////////////////////////////////////////////////////////////////////////Effect 2 66void effect_2() 67{ 68int count = 13; // keeps track of second LED movement 69 70 // move first LED from left to right and second from right to left 71 for (int i = 2; i < 13; i++) { 72 clear(); 73 digitalWrite(i, HIGH); // chaser 1 74 digitalWrite(count, HIGH); // chaser 2 75 count--; 76 // stop LEDs from appearing to stand still in the middle 77 if (count != 7) { 78 delay(t2); 79 } 80 } 81 82 // move first LED from right to left and second LED from left to right 83 for (int i = 13; i > 2; i--) { 84 clear(); 85 digitalWrite(i, HIGH); // chaser 1 86 digitalWrite(count, HIGH); // chaser 2 87 count++; 88 // stop LEDs from appearing to stand still in the middle 89 if (count != 8) { 90 delay(t2); 91 } 92 } 93} 94 95////////////////////////////////////////////////////////////////////////////////Effect 3 96 97void effect_3() 98{ 99for(int i=2; i<14; i++){ 100 digitalWrite(i, HIGH); 101 delay(t3); 102} 103for(int i=2; i<14; i++){ 104 digitalWrite(i, LOW); 105 delay(t3); 106} 107 108 109for(int i = 14; i>=2; i--){ 110 digitalWrite(i, HIGH); 111 delay(t3); 112} 113for(int i = 14; i>=2; i--){ 114 digitalWrite(i, LOW); 115 delay(t3); 116} 117} 118 ///////////////////////////////////////////////////////////////////////////Effect 4 119void effect_4() 120{ 121for(int j = 2; j <= 13; j++){ 122 digitalWrite(j, HIGH); 123 delay(t2); 124 j=j+1; 125 } 126for(int j = 2; j <= 13; j++){ 127 digitalWrite(j, LOW); 128 delay(t2); 129 } 130 131 for(int k = 15; k > 2; k--){ 132 digitalWrite(k, HIGH); 133 delay(t2); 134 k=k-1; 135 } 136for(int k = 15; k > 2; k--){ 137 digitalWrite(k, LOW); 138 delay(t2); 139 } 140} 141//////////////////////////////////////////////////////////////////////////////Effect 5 142 void effect_5() 143{ 144 for(int pin = 15; pin >= 2; pin--) 145 { 146 digitalWrite(pin, HIGH); 147 delay(t1); 148 digitalWrite(pin+1, LOW); 149 delay(t1); 150 } 151 for(int pin = 15; pin >= 2; pin--) 152 { 153 digitalWrite(pin+1, HIGH); 154 delay(t1); 155 digitalWrite(pin+2, LOW); 156 delay(t1); 157 } 158 for(int pin = 15; pin >= 2; pin--) 159 { 160 digitalWrite(pin+2, HIGH); 161 delay(t1); 162 digitalWrite(pin+3, LOW); 163 delay(t1); 164 } 165 for(int pin = 15; pin >= 2; pin--) 166 { 167 digitalWrite(pin+3, HIGH); 168 delay(t1); 169 digitalWrite(pin+4, LOW); 170 delay(t1); 171 } 172 for(int pin = 15; pin >= 2; pin--) 173 { 174 digitalWrite(pin+4, HIGH); 175 delay(t1); 176 digitalWrite(pin+5, LOW); 177 delay(t1); 178 } 179 for(int pin = 15; pin >= 2; pin--) 180 { 181 digitalWrite(pin+5, HIGH); 182 delay(t1); 183 digitalWrite(pin+6, LOW); 184 delay(t1); 185 } 186 for(int pin = 15; pin >= 2; pin--) 187 { 188 digitalWrite(pin+6, HIGH); 189 delay(t1); 190 digitalWrite(pin+7, LOW); 191 delay(t1); 192 } 193 for(int pin = 15; pin >= 2; pin--) 194 { 195 digitalWrite(pin+7, HIGH); 196 delay(t1); 197 digitalWrite(pin+8, LOW); 198 delay(t1); 199 } 200 for(int pin = 15; pin >= 2; pin--) 201 { 202 digitalWrite(pin+8, HIGH); 203 delay(t1); 204 digitalWrite(pin+9, LOW); 205 delay(t1); 206 } 207 for(int pin = 15; pin >= 2; pin--) 208 { 209 digitalWrite(pin+9, HIGH); 210 delay(t1); 211 digitalWrite(pin+10, LOW); 212 delay(t1); 213 } 214 for(int pin = 15; pin >= 2; pin--) 215 { 216 digitalWrite(pin+10, HIGH); 217 delay(t1); 218 digitalWrite(pin+11, LOW); 219 delay(t1); 220 } 221 for(int pin = 15; pin >= 2; pin--) 222 { 223 digitalWrite(pin+11, HIGH); 224 delay(t1); 225 digitalWrite(pin+12, LOW); 226 delay(t1); 227 } 228 for(int pin = 15; pin >= 2; pin--) 229 { 230 digitalWrite(pin+12, HIGH); 231 delay(t1); 232 digitalWrite(pin+13, LOW); 233 delay(t1); 234 }for(int pin = 15; pin >= 2; pin--) 235 { 236 digitalWrite(pin+13, HIGH); 237 delay(t1); 238 digitalWrite(pin, LOW); 239 } 240 } 241 /////////////////////////////////////////////////////////////////////////////Effect 6 242void effect_6() 243{ 244for(int j=2; j<14; j++){ 245 digitalWrite(j, LOW); 246 delay(t); 247 digitalWrite(j, HIGH); 248 delay(t); 249 digitalWrite(j-2, LOW); 250 delay(t); 251 digitalWrite(j, HIGH); 252} 253for(int k = 15; k>2; k--){ 254 digitalWrite(k, LOW); 255 delay(t); 256 digitalWrite(k, HIGH); 257 delay(t); 258 digitalWrite(k+2, LOW); 259 delay(t); 260 digitalWrite(k, HIGH); 261} 262for(int k = 2; k<14; k++){ 263 digitalWrite(k, LOW); 264 delay(t); 265 digitalWrite(k, HIGH); 266 delay(t); 267 digitalWrite(k-2, LOW); 268 delay(t); 269 digitalWrite(k, HIGH); 270} 271for(int k = 15; k>2; k--){ 272 digitalWrite(k, LOW); 273 delay(t); 274 digitalWrite(k, HIGH); 275 delay(t); 276 digitalWrite(k+4, LOW); 277 delay(t); 278 digitalWrite(k, HIGH); 279} 280for(int k = 2; k<14; k++){ 281 digitalWrite(k, LOW); 282 delay(t); 283 digitalWrite(k, HIGH); 284 delay(t); 285 digitalWrite(k-4, LOW); 286 delay(t); 287 digitalWrite(k, HIGH); 288} 289} 290///////////////////////////////////////////////////////////////////////////////////Effect 7 291void effect_7() 292{ 293for(int j=2; j<14; j++){ 294 digitalWrite(j, HIGH); 295 delay(t); 296 digitalWrite(j+2, LOW); 297 delay(t); 298} 299for(int k = 15; k>2; k--){ 300 digitalWrite(k, HIGH); 301 delay(t); 302 digitalWrite(k+2, LOW); 303 delay(t); 304} 305} 306 307// function to switch all LEDs off 308void clear(void) 309{ 310 for (int i = 2; i <= 13; i++) { 311 digitalWrite(i, LOW); 312 } 313} 314 315
Arduino code 3
arduino
1 2void setup(){ 3 pinMode(2, OUTPUT); 4 pinMode(3, OUTPUT); 5 pinMode(4, OUTPUT); 6 pinMode(5, OUTPUT); 7 pinMode(6, OUTPUT); 8 pinMode(7, OUTPUT); 9 pinMode(8, OUTPUT); 10 pinMode(9, OUTPUT); 11 pinMode(10, OUTPUT); 12 pinMode(11, OUTPUT); 13 pinMode(12, OUTPUT); 14 pinMode(13, OUTPUT); 15} 16void loop(){ 17 digitalWrite(4, HIGH); 18 delay(100); 19 digitalWrite(4, LOW); 20 delay(100); 21 digitalWrite(4, HIGH); 22 delay(100); 23 digitalWrite(4, LOW); 24 delay(100); 25 digitalWrite(8, HIGH); 26 delay(100); 27 digitalWrite(8, LOW); 28 delay(100); 29 digitalWrite(8, HIGH); 30 delay(100); 31 digitalWrite(8, LOW); 32 delay(100); 33 digitalWrite(2, HIGH); 34 delay(100); 35 digitalWrite(2, LOW); 36 delay(100); 37 digitalWrite(2, HIGH); 38 delay(100); 39 digitalWrite(2, LOW); 40 delay(100); 41 digitalWrite(10, HIGH); 42 delay(100); 43 digitalWrite(10, LOW); 44 delay(100); 45 digitalWrite(10, HIGH); 46 delay(100); 47 digitalWrite(10, LOW); 48 delay(100); 49 digitalWrite(3, HIGH); 50 delay(100); 51 digitalWrite(3, LOW); 52 delay(100); 53 digitalWrite(3, HIGH); 54 delay(100); 55 digitalWrite(3, LOW); 56 delay(100); 57 digitalWrite(13, HIGH); 58 delay(100); 59 digitalWrite(13, LOW); 60 delay(100); 61 digitalWrite(13, HIGH); 62 delay(100); 63 digitalWrite(13, LOW); 64 delay(100); 65 digitalWrite(7, HIGH); 66 delay(100); 67 digitalWrite(7, LOW); 68 delay(100); 69 digitalWrite(7, HIGH); 70 delay(100); 71 digitalWrite(7, LOW); 72 delay(100); 73 digitalWrite(12, HIGH); 74 delay(100); 75 digitalWrite(12, LOW); 76 delay(100); 77 digitalWrite(12, HIGH); 78 delay(100); 79 digitalWrite(12, LOW); 80 delay(100); 81 digitalWrite(5, HIGH); 82 delay(100); 83 digitalWrite(5, LOW); 84 delay(100); 85 digitalWrite(5, HIGH); 86 delay(100); 87 digitalWrite(5, LOW); 88 delay(100); 89 digitalWrite(11, HIGH); 90 delay(100); 91 digitalWrite(11, LOW); 92 delay(100); 93 digitalWrite(11, HIGH); 94 delay(100); 95 digitalWrite(11, LOW); 96 delay(100); 97 digitalWrite(6, HIGH); 98 delay(100); 99 digitalWrite(6, LOW); 100 delay(100); 101 digitalWrite(6, HIGH); 102 delay(100); 103 digitalWrite(6, LOW); 104 delay(100); 105 digitalWrite(9, HIGH); 106 delay(100); 107 digitalWrite(9, LOW); 108 delay(100); 109 digitalWrite(9, HIGH); 110 delay(100); 111 digitalWrite(9, LOW); 112 delay(100); 113 digitalWrite(13, HIGH); 114 delay(100); 115 digitalWrite(13, LOW); 116 delay(100); 117 digitalWrite(12, HIGH); 118 delay(100); 119 digitalWrite(12, LOW); 120 delay(100); 121 digitalWrite(11, HIGH); 122 delay(100); 123 digitalWrite(11, LOW); 124 delay(100); 125 digitalWrite(10, HIGH); 126 delay(100); 127 digitalWrite(10, LOW); 128 delay(100); 129 digitalWrite(9, HIGH); 130 delay(100); 131 digitalWrite(9, LOW); 132 delay(100); 133 digitalWrite(8, HIGH); 134 delay(100); 135 digitalWrite(8, LOW); 136 delay(100); 137 digitalWrite(7, HIGH); 138 delay(100); 139 digitalWrite(7, LOW); 140 delay(100); 141 digitalWrite(6, HIGH); 142 delay(100); 143 digitalWrite(6, LOW); 144 delay(100); 145 digitalWrite(5, HIGH); 146 delay(100); 147 digitalWrite(5, LOW); 148 delay(100); 149 digitalWrite(4, HIGH); 150 delay(100); 151 digitalWrite(4, LOW); 152 delay(100); 153 digitalWrite(3, HIGH); 154 delay(100); 155 digitalWrite(3, LOW); 156 delay(100); 157 digitalWrite(2, HIGH); 158 delay(100); 159 digitalWrite(2, LOW); 160 delay(100); 161 digitalWrite(2, HIGH); 162 delay(100); 163 digitalWrite(3, HIGH); 164 delay(100); 165 digitalWrite(4, HIGH); 166 delay(100); 167 digitalWrite(5, HIGH); 168 delay(100); 169 digitalWrite(6, HIGH); 170 delay(100); 171 digitalWrite(7, HIGH); 172 delay(100); 173 digitalWrite(8, HIGH); 174 delay(100); 175 digitalWrite(9, HIGH); 176 delay(100); 177 digitalWrite(10, HIGH); 178 delay(100); 179 digitalWrite(11, HIGH); 180 delay(100); 181 digitalWrite(12, HIGH); 182 delay(100); 183 digitalWrite(13, HIGH); 184 delay(100); 185 digitalWrite(2,LOW); 186 delay(100); 187 digitalWrite(3,LOW); 188 delay(100); 189 digitalWrite(4,LOW); 190 delay(100); 191 digitalWrite(5,LOW); 192 delay(100); 193 digitalWrite(6,LOW); 194 delay(100); 195 digitalWrite(7,LOW); 196 delay(100); 197 digitalWrite(8,LOW); 198 delay(100); 199 digitalWrite(9,LOW); 200 delay(100); 201 digitalWrite(10,LOW); 202 delay(100); 203 digitalWrite(11,LOW); 204 delay(100); 205 digitalWrite(12,LOW); 206 delay(100); 207 digitalWrite(13,LOW); 208 delay(100); 209 digitalWrite(13,HIGH); 210 delay(100); 211 digitalWrite(2,HIGH); 212 delay(100); 213 digitalWrite(12,HIGH); 214 delay(100); 215 digitalWrite(3,HIGH); 216 delay(100); 217 digitalWrite(11,HIGH); 218 delay(100); 219 digitalWrite(4,HIGH); 220 delay(100); 221 digitalWrite(10,HIGH); 222 delay(100); 223 digitalWrite(5,HIGH); 224 delay(100); 225 digitalWrite(9,HIGH); 226 delay(100); 227 digitalWrite(6,HIGH); 228 delay(100); 229 digitalWrite(8,HIGH); 230 delay(100); 231 digitalWrite(7,HIGH); 232 delay(100); 233 digitalWrite(2, HIGH); 234 delay(100); 235 digitalWrite(2, LOW); 236 delay(100); 237 digitalWrite(3, HIGH); 238 delay(100); 239 digitalWrite(3, LOW); 240 delay(100); 241 digitalWrite(4, HIGH); 242 delay(100); 243 digitalWrite(4, LOW); 244 delay(100); 245 digitalWrite(5, HIGH); 246 delay(100); 247 digitalWrite(5, LOW); 248 delay(100); 249 digitalWrite(6, HIGH); 250 delay(100); 251 digitalWrite(6, LOW); 252 delay(100); 253 digitalWrite(7, HIGH); 254 delay(100); 255 digitalWrite(7, LOW); 256 delay(100); 257 digitalWrite(8, HIGH); 258 delay(100); 259 digitalWrite(8, LOW); 260 delay(100); 261 digitalWrite(9, HIGH); 262 delay(100); 263 digitalWrite(9, LOW); 264 delay(100); 265 digitalWrite(10, HIGH); 266 delay(100); 267 digitalWrite(10, LOW); 268 delay(100); 269 digitalWrite(11, HIGH); 270 delay(100); 271 digitalWrite(11, LOW); 272 delay(100); 273 digitalWrite(12, HIGH); 274 delay(100); 275 digitalWrite(12, LOW); 276 delay(100); 277 digitalWrite(13, HIGH); 278 delay(100); 279 digitalWrite(13, LOW); 280 delay(100); 281 digitalWrite(2, HIGH); 282 delay(100); 283 digitalWrite(3, HIGH); 284 delay(100); 285 digitalWrite(4, HIGH); 286 delay(100); 287 digitalWrite(5, HIGH); 288 delay(100); 289 digitalWrite(6, HIGH); 290 delay(100); 291 digitalWrite(7, HIGH); 292 delay(100); 293 digitalWrite(8, HIGH); 294 delay(100); 295 digitalWrite(9, HIGH); 296 delay(100); 297 digitalWrite(10, HIGH); 298 delay(100); 299 digitalWrite(11, HIGH); 300 delay(100); 301 digitalWrite(12, HIGH); 302 delay(100); 303 digitalWrite(13, HIGH); 304 delay(100); 305 digitalWrite(13,LOW); 306 delay(100); 307 digitalWrite(12,LOW); 308 delay(100); 309 digitalWrite(11,LOW); 310 delay(100); 311 digitalWrite(10,LOW); 312 delay(100); 313 digitalWrite(9,LOW); 314 delay(100); 315 digitalWrite(8,LOW); 316 delay(100); 317 digitalWrite(7,LOW); 318 delay(100); 319 digitalWrite(6,LOW); 320 delay(100); 321 digitalWrite(5,LOW); 322 delay(100); 323 digitalWrite(4,LOW); 324 delay(100); 325 digitalWrite(3,LOW); 326 delay(100); 327 digitalWrite(2,LOW); 328 delay(100); 329 digitalWrite(2, HIGH); 330 delay(100); 331 digitalWrite(2, LOW); 332 delay(100); 333 digitalWrite(3, HIGH); 334 delay(100); 335 digitalWrite(3, LOW); 336 delay(100); 337 digitalWrite(4, HIGH); 338 delay(100); 339 digitalWrite(4, LOW); 340 delay(100); 341 digitalWrite(5, HIGH); 342 delay(100); 343 digitalWrite(5, LOW); 344 delay(100); 345 digitalWrite(6, HIGH); 346 delay(100); 347 digitalWrite(6, LOW); 348 delay(100); 349 digitalWrite(7, HIGH); 350 delay(100); 351 digitalWrite(7, LOW); 352 delay(100); 353 digitalWrite(8, HIGH); 354 delay(100); 355 digitalWrite(8, LOW); 356 delay(100); 357 digitalWrite(9, HIGH); 358 delay(100); 359 digitalWrite(9, LOW); 360 delay(100); 361 digitalWrite(10, HIGH); 362 delay(100); 363 digitalWrite(10, LOW); 364 delay(100); 365 digitalWrite(11, HIGH); 366 delay(100); 367 digitalWrite(11, LOW); 368 delay(100); 369 digitalWrite(12, HIGH); 370 delay(100); 371 digitalWrite(12, LOW); 372 delay(100); 373 digitalWrite(13, HIGH); 374 delay(100); 375 digitalWrite(13, LOW); 376 delay(100); 377 digitalWrite(13, HIGH); 378 delay(100); 379 digitalWrite(12, HIGH); 380 delay(100); 381 digitalWrite(11, HIGH); 382 delay(100); 383 digitalWrite(10, HIGH); 384 delay(100); 385 digitalWrite(9, HIGH); 386 delay(100); 387 digitalWrite(8, HIGH); 388 delay(100); 389 digitalWrite(7, HIGH); 390 delay(100); 391 digitalWrite(6, HIGH); 392 delay(100); 393 digitalWrite(5, HIGH); 394 delay(100); 395 digitalWrite(4, HIGH); 396 delay(100); 397 digitalWrite(3, HIGH); 398 delay(100); 399 digitalWrite(2, HIGH); 400 delay(100); 401 digitalWrite(13,LOW); 402 delay(100); 403 digitalWrite(2,LOW); 404 delay(100); 405 digitalWrite(12,LOW); 406 delay(100); 407 digitalWrite(3,LOW); 408 delay(100); 409 digitalWrite(11,LOW); 410 delay(100); 411 digitalWrite(4,LOW); 412 delay(100); 413 digitalWrite(10,LOW); 414 delay(100); 415 digitalWrite(5,LOW); 416 delay(100); 417 digitalWrite(9,LOW); 418 delay(100); 419 digitalWrite(6,LOW); 420 delay(100); 421 digitalWrite(8,LOW); 422 delay(100); 423 digitalWrite(7,LOW); 424 delay(100); 425 digitalWrite(13, HIGH); 426 delay(100); 427 digitalWrite(12, HIGH); 428 delay(100); 429 digitalWrite(11, HIGH); 430 delay(100); 431 digitalWrite(11,LOW); 432 delay(100); 433 digitalWrite(12,LOW); 434 delay(100); 435 digitalWrite(13,LOW); 436 delay(100); 437} 438
Arduino code 2
arduino
1 2#define SPEED_MS 100 3 4void setup() { 5 // set up pins 2 6 to 13 as outputs 7 for (int i = 2; i <= 13; i++) { 8 pinMode(i, OUTPUT); 9 10 } 11} 12 13uint16_t chase2 = 13; // keeps track of second LED movement 14 15void 16 loop() { 17 // move first LED from left to right and second from right to left 18 19 for (int i = 2; i < 13; i++) { 20 allLEDsOff(); 21 digitalWrite(i, HIGH); 22 // chaser 1 23 digitalWrite(chase2, HIGH); // chaser 2 24 chase2--; 25 26 // stop LEDs from appearing to stand still in the middle 27 if (chase2 != 28 7) { 29 delay(SPEED_MS); 30 } 31 } 32 33 // move first LED from right 34 to left and second LED from left to right 35 for (int i = 13; i > 2; i--) { 36 37 allLEDsOff(); 38 digitalWrite(i, HIGH); // chaser 1 39 digitalWrite(chase2, 40 HIGH); // chaser 2 41 chase2++; 42 // stop LEDs from appearing to stand 43 still in the middle 44 if (chase2 != 8) { 45 delay(SPEED_MS); 46 } 47 48 } 49} 50 51// function to switch all LEDs off 52void allLEDsOff(void) 53{ 54 55 for (int i = 2; i <= 13; i++) { 56 digitalWrite(i, LOW); 57 } 58} 59 60
Arduino codes
arduino
1#define t 30 2#define t1 20 3#define t2 100 4#define t3 50 5 6void 7 setup() 8{ 9 for (int i = 2; i <= 13; i++) { 10 pinMode(i, OUTPUT); 11} 12} 13 14void 15 loop() 16{ 17 18effect_1(); 19effect_1(); 20 21 effect_2(); 22 effect_2(); 23 24 25 effect_3(); 26 effect_3(); 27 28 effect_4(); 29 effect_4(); 30 31 effect_5(); 32 33 effect_5(); 34 35 effect_6(); 36 effect_6(); 37 38 effect_7(); 39 effect_7(); 40} 41 42void 43 effect_1() 44{ 45for(int i=2; i<14; i++){ 46digitalWrite(i, HIGH); 47delay(t1); 48digitalWrite(i+1, 49 HIGH); 50delay(t1); 51digitalWrite(i+2, HIGH); 52delay(t1); 53digitalWrite(i, 54 LOW); 55delay(t1); 56digitalWrite(i+1, LOW); 57delay(t1); 58} 59for(int i=13; 60 i>1; i--){ 61digitalWrite(i, HIGH); 62delay(t1); 63digitalWrite(i-1, HIGH); 64delay(t1); 65digitalWrite(i-2, 66 HIGH); 67delay(t1); 68digitalWrite(i, LOW); 69delay(t1); 70digitalWrite(i-1, 71 LOW); 72delay(t1); 73} 74} 75/////////////////////////////////////////////////////////////////////////////////Effect 76 2 77void effect_2() 78{ 79int count = 13; // keeps track of second LED movement 80 81 82 // move first LED from left to right and second from right to left 83 for (int 84 i = 2; i < 13; i++) { 85 clear(); 86 digitalWrite(i, HIGH); // chaser 87 1 88 digitalWrite(count, HIGH); // chaser 2 89 count--; 90 // stop LEDs 91 from appearing to stand still in the middle 92 if (count != 7) { 93 delay(t2); 94 95 } 96 } 97 98 // move first LED from right to left and second LED from left 99 to right 100 for (int i = 13; i > 2; i--) { 101 clear(); 102 digitalWrite(i, 103 HIGH); // chaser 1 104 digitalWrite(count, HIGH); // chaser 2 105 count++; 106 107 // stop LEDs from appearing to stand still in the middle 108 if (count != 109 8) { 110 delay(t2); 111 } 112 } 113} 114 115////////////////////////////////////////////////////////////////////////////////Effect 116 3 117 118void effect_3() 119{ 120for(int i=2; i<14; i++){ 121 digitalWrite(i, HIGH); 122 123 delay(t3); 124} 125for(int i=2; i<14; i++){ 126 digitalWrite(i, LOW); 127 delay(t3); 128} 129 130 131for(int 132 i = 14; i>=2; i--){ 133 digitalWrite(i, HIGH); 134 delay(t3); 135} 136for(int 137 i = 14; i>=2; i--){ 138 digitalWrite(i, LOW); 139 delay(t3); 140} 141} 142 ///////////////////////////////////////////////////////////////////////////Effect 143 4 144void effect_4() 145{ 146for(int j = 2; j <= 13; j++){ 147 digitalWrite(j, 148 HIGH); 149 delay(t2); 150 j=j+1; 151 } 152for(int j = 2; j <= 13; j++){ 153 digitalWrite(j, 154 LOW); 155 delay(t2); 156 } 157 158 for(int k = 15; k > 2; k--){ 159 digitalWrite(k, 160 HIGH); 161 delay(t2); 162 k=k-1; 163 } 164for(int k = 15; k > 2; k--){ 165 digitalWrite(k, 166 LOW); 167 delay(t2); 168 } 169} 170//////////////////////////////////////////////////////////////////////////////Effect 171 5 172 void effect_5() 173{ 174 for(int pin = 15; pin >= 2; pin--) 175 { 176 digitalWrite(pin, 177 HIGH); 178 delay(t1); 179 digitalWrite(pin+1, LOW); 180 delay(t1); 181 } 182 183 for(int pin = 15; pin >= 2; pin--) 184 { 185 digitalWrite(pin+1, HIGH); 186 187 delay(t1); 188 digitalWrite(pin+2, LOW); 189 delay(t1); 190 } 191 for(int 192 pin = 15; pin >= 2; pin--) 193 { 194 digitalWrite(pin+2, HIGH); 195 delay(t1); 196 197 digitalWrite(pin+3, LOW); 198 delay(t1); 199 } 200 for(int pin = 15; pin >= 201 2; pin--) 202 { 203 digitalWrite(pin+3, HIGH); 204 delay(t1); 205 digitalWrite(pin+4, 206 LOW); 207 delay(t1); 208 } 209 for(int pin = 15; pin >= 2; pin--) 210 { 211 212 digitalWrite(pin+4, HIGH); 213 delay(t1); 214 digitalWrite(pin+5, LOW); 215 216 delay(t1); 217 } 218 for(int pin = 15; pin >= 2; pin--) 219 { 220 digitalWrite(pin+5, 221 HIGH); 222 delay(t1); 223 digitalWrite(pin+6, LOW); 224 delay(t1); 225 } 226 227 for(int pin = 15; pin >= 2; pin--) 228 { 229 digitalWrite(pin+6, HIGH); 230 231 delay(t1); 232 digitalWrite(pin+7, LOW); 233 delay(t1); 234 } 235 for(int 236 pin = 15; pin >= 2; pin--) 237 { 238 digitalWrite(pin+7, HIGH); 239 delay(t1); 240 241 digitalWrite(pin+8, LOW); 242 delay(t1); 243 } 244 for(int pin = 15; pin >= 245 2; pin--) 246 { 247 digitalWrite(pin+8, HIGH); 248 delay(t1); 249 digitalWrite(pin+9, 250 LOW); 251 delay(t1); 252 } 253 for(int pin = 15; pin >= 2; pin--) 254 { 255 256 digitalWrite(pin+9, HIGH); 257 delay(t1); 258 digitalWrite(pin+10, LOW); 259 260 delay(t1); 261 } 262 for(int pin = 15; pin >= 2; pin--) 263 { 264 digitalWrite(pin+10, 265 HIGH); 266 delay(t1); 267 digitalWrite(pin+11, LOW); 268 delay(t1); 269 } 270 271 for(int pin = 15; pin >= 2; pin--) 272 { 273 digitalWrite(pin+11, HIGH); 274 275 delay(t1); 276 digitalWrite(pin+12, LOW); 277 delay(t1); 278 } 279 for(int 280 pin = 15; pin >= 2; pin--) 281 { 282 digitalWrite(pin+12, HIGH); 283 delay(t1); 284 285 digitalWrite(pin+13, LOW); 286 delay(t1); 287 }for(int pin = 15; pin >= 2; pin--) 288 289 { 290 digitalWrite(pin+13, HIGH); 291 delay(t1); 292 digitalWrite(pin, LOW); 293 294 } 295 } 296 /////////////////////////////////////////////////////////////////////////////Effect 297 6 298void effect_6() 299{ 300for(int j=2; j<14; j++){ 301 digitalWrite(j, LOW); 302 303 delay(t); 304 digitalWrite(j, HIGH); 305 delay(t); 306 digitalWrite(j-2, LOW); 307 308 delay(t); 309 digitalWrite(j, HIGH); 310} 311for(int k = 15; k>2; k--){ 312 digitalWrite(k, 313 LOW); 314 delay(t); 315 digitalWrite(k, HIGH); 316 delay(t); 317 digitalWrite(k+2, 318 LOW); 319 delay(t); 320 digitalWrite(k, HIGH); 321} 322for(int k = 2; k<14; k++){ 323 324 digitalWrite(k, LOW); 325 delay(t); 326 digitalWrite(k, HIGH); 327 delay(t); 328 329 digitalWrite(k-2, LOW); 330 delay(t); 331 digitalWrite(k, HIGH); 332} 333for(int 334 k = 15; k>2; k--){ 335 digitalWrite(k, LOW); 336 delay(t); 337 digitalWrite(k, 338 HIGH); 339 delay(t); 340 digitalWrite(k+4, LOW); 341 delay(t); 342 digitalWrite(k, 343 HIGH); 344} 345for(int k = 2; k<14; k++){ 346 digitalWrite(k, LOW); 347 delay(t); 348 349 digitalWrite(k, HIGH); 350 delay(t); 351 digitalWrite(k-4, LOW); 352 delay(t); 353 354 digitalWrite(k, HIGH); 355} 356} 357///////////////////////////////////////////////////////////////////////////////////Effect 358 7 359void effect_7() 360{ 361for(int j=2; j<14; j++){ 362 digitalWrite(j, HIGH); 363 364 delay(t); 365 digitalWrite(j+2, LOW); 366 delay(t); 367} 368for(int k = 15; 369 k>2; k--){ 370 digitalWrite(k, HIGH); 371 delay(t); 372 digitalWrite(k+2, LOW); 373 374 delay(t); 375} 376} 377 378// function to switch all LEDs off 379void clear(void) 380{ 381 382 for (int i = 2; i <= 13; i++) { 383 digitalWrite(i, LOW); 384 } 385} 386 387
Downloadable files
Circuit Diagram
Circuit Diagram

Circuit Diagram
Circuit Diagram

Comments
Only logged in users can leave comments