LED Light Chaser Mimics as Progressing Point of Light. Here is Arduino LED Light Chaser Guide For 10+ LED With Code, Circuit and Video Demo. We have another LED Light related Arduino guide – Christmas Light. We are assuming that the reader has basic Electronics components kit. We need some jumper wire, resisters, LED, Breadboard and obviously an Arduino board. Skill of wiring work is more important than real electronics for this project.
Arduino LED Light Chaser : Modification Ideas of Basic Example
- If you add the LEDs in a circular manner, it actually looks great.
- If one Pin is shared by two LEDs on a symmetrically arranged design where the LEDs will sit – it create convergence feel.
- Maximum number of LEDs can be used becoming 14 using the Digital Pins. If you share on Pin for 2 or more times, number actually increases.
- It is practical to use 1.8V bulb instead of LED for decoration purpose – we have guide on how to use 1.8V bulb with Arduino without using relay.
Here is a video, it is not of great quality but serve the purpose :
Arduino LED Light Chaser : 10+ LED Code & Circuit
There are many ways we can make the “chasing effect”. Circuit is very easy. Practically blink like connection to all the LEDs. We have the full code and circuit on Fritzing, yet here is a good kind of infographics :
---
Easiest code is this :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | const int number = 11; const byte order [number] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; void setup() { for (byte i = 0; i < number; i++) pinMode(order [i], OUTPUT); } void repeat (const unsigned long delaytime) { for (byte i = 0; i < number; i++) { byte pin = order [i]; digitalWrite(pin, HIGH); delay(delaytime); digitalWrite(pin, LOW); } } void loop() { for (unsigned long n = 500; n > 0; n -= 100) repeat (n); } |
You can modify the values at :
for (unsigned long n = 500; n > 0; n -= 100)
: change 500 and 100 to lower for faster effect. Change one by one to see the “rebound” effect.
number
, order
, delaytime
repeat
are my own words.
const int number = 10;
: Total number of functional LED.const byte order [number] = { 1, ... 10 };
: Order of lighting up. We can light up number one, then number 9, then number 2 for our custom desired effect. Here is the Github gist of the code.
However, we suggest to use this code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | volatile byte wantedPin; // which pin to pulse on and off const byte PWMiterations = 40; const byte PWMdutyCycle = 2; // <-- should be less than PWMiterations volatile byte pwmCount; ISR(TIMER1_COMPA_vect) { // if in "on" cycle turn the LED on if (pwmCount > PWMdutyCycle) digitalWrite(wantedPin, LOW); else digitalWrite(wantedPin, HIGH); if (++pwmCount >= PWMiterations) pwmCount = 0; } // end of TIMER1_COMPA_vect const int numberOfLEDs = 11; const byte LEDorder [numberOfLEDs] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; void setup() { for (byte i = 0; i < numberOfLEDs; i++) pinMode(LEDorder [i], OUTPUT); // set up Timer 1 TCCR1A = 0; // normal operation TCNT1 = 0; // make sure we start at zero TCCR1B = _BV(WGM12) | _BV(CS10) | _BV (CS12); // CTC, scale to clock / 1024 OCR1A = 5; // compare A register value (1000 * clock speed / 1024) TIMSK1 = _BV (OCIE1A); // interrupt on Compare A Match } // end of setup void doCircle (const unsigned long delayAmount) { for (byte i = 0; i < numberOfLEDs; i++) { noInterrupts (); byte pin = LEDorder [i]; wantedPin = pin; pwmCount = 0; interrupts (); delay(delayAmount); digitalWrite(pin, LOW); } // end of for } // end of doCircle void loop() { for (unsigned long n = 500; n > 0; n -= 100) doCircle (n); } // end of loop |
for (unsigned long n = 500; n > 0; n -= 100)
: change 500 and 100 to lower for faster effect. Change one by one to see the “rebound” effect.
Above code is written by Nick Gammon and we included on Fritzing project, also as gist. Arduino officially create the effect in different way of coding.
Tagged With arduino led chase effect code , arduino 10 led chaser code , arduino led chaser , ARDUINO LIGHT CHASE , arduino chaser , arduino led circuit code , arduino light chaser code , arduino chasing lights , arduino light chaser , arduino led chaser code