12 Led Chaser Using Arduino Uno
12 Led Chaser Using Arduino Uno
In this blog, I have to show you dancing led using Arduino Uno. Using 12 LEDs to create a
decorative lighting effect.
2. we need 12 resistors of 220 ohms each and 12 LEDs of the same color or a different color.
4. After the led is attached, now connect the resistor to the positive pin of all LEDs.
5. Now connect the end of the resistors to pin 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13 of the Arduino using a
jumper wire.
6. Connect the negative pin of all LEDs to the GND pin of Arduino using a jumper wire.
7. Now the circuit is ready to upload the code through Arduino Uno.
v 1 × Arduino board.
v 1 × Breadboard.
v 12 × 5mm Led.
v 12 × Resistor (220Ω).
Circuit diagram:-
void setup() {
// put your setup code here, to run once:
//initialize digital pin as output
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(led1, HIGH);//it mean to give 5v(high) to pins.here ,the led will be on.
delay(1000);//1000 = 1 second
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led4, HIGH);
delay(1000);
digitalWrite(led5, HIGH);
delay(1000);
digitalWrite(led6, HIGH);
delay(1000);
digitalWrite(led7, HIGH);
delay(1000);
digitalWrite(led8, HIGH);
delay(1000);
digitalWrite(led9, HIGH);
delay(1000);
digitalWrite(led10, HIGH);
delay(1000);
digitalWrite(led11, HIGH);
delay(1000);
digitalWrite(led12, HIGH);
delay(1000);
digitalWrite(led1, LOW);//it mean to give 0v(low) to pin.here, led will be off
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
digitalWrite(led3, LOW);
delay(1000);
digitalWrite(led4, LOW);
delay(1000);
digitalWrite(led5, LOW);
delay(1000);
digitalWrite(led6, LOW);
delay(1000);
digitalWrite(led7, LOW);
delay(1000);
digitalWrite(led8, LOW);
delay(1000);
digitalWrite(led9, LOW);
delay(1000);
digitalWrite(led10, LOW);
delay(1000);
digitalWrite(led11, LOW);
delay(1000);
digitalWrite(led12, LOW);
delay(1000);
}
#define t 30
#define t1 20
#define t2 100
#define t3 50
void setup() {
// set up pins 2 to 13 as outputs
for (int i = 2; i <= 13; i++) {
pinMode(i, OUTPUT);
}
}
/////////////////////////////////////////////////////////////////////////////////Effect 1
void loop(){
effect_1();
effect_1();
effect_2();
effect_2();
effect_3();
effect_3();
effect_4();
effect_4();
effect_5();
effect_5();
effect_6();
effect_6();
effect_7();
effect_7();
}
//left to right and right to left
void effect_1()
{
for(int i=2; i<14; i++){
digitalWrite(i, HIGH);
delay(t1);
digitalWrite(i+1, HIGH);
delay(t1);
digitalWrite(i+2, HIGH);
delay(t1);
digitalWrite(i, LOW);
delay(t1);
digitalWrite(i+1, LOW);
delay(t1);
}
for(int i=13; i>1; i--){
digitalWrite(i, HIGH);
delay(t1);
digitalWrite(i-1, HIGH);
delay(t1);
digitalWrite(i-2, HIGH);
delay(t1);
digitalWrite(i, LOW);
delay(t1);
digitalWrite(i-1, LOW);
delay(t1);
}
}
/////////////////////////////////////////////////////////////////////////////////Effect 2
void effect_2()
{
int count = 13; // keeps track of second LED movement
// move first LED from left to right and second from right to left
for (int i = 2; i < 13; i++) {
clear();
digitalWrite(i, HIGH); // chaser 1
digitalWrite(count, HIGH); // chaser 2
count--;
// stop LEDs from appearing to stand still in the middle
if (count != 7) {
delay(t2);
}
}
// move first LED from right to left and second LED from left to right
for (int i = 13; i > 2; i--) {
clear();
digitalWrite(i, HIGH); // chaser 1
digitalWrite(count, HIGH); // chaser 2
count++;
// stop LEDs from appearing to stand still in the middle
if (count != 8) {
delay(t2);
}
}
}
////////////////////////////////////////////////////////////////////////////////Effect 3
void effect_3()
{
for(int i=2; i<14; i++){
digitalWrite(i, HIGH);
delay(t3);
}
for(int i=2; i<14; i++){
digitalWrite(i, LOW);
delay(t3);
}