Led Chaser WITH a Functional Button Controlled by Arduino.

by 1077320 in Circuits > Arduino

40 Views, 1 Favorites, 0 Comments

Led Chaser WITH a Functional Button Controlled by Arduino.

unnamed.jpg

An led pattern changing circuit, which includes functional button to operate through the 6 different patterns which makes it very cool. it will be very helpful in your other projects


Supplies

download.jpg
download.png
download.jpg
download.jpg
images.jpg
download.jpg

LIST OF MATERIALS: LINKS TO BUY THOSE ITEMS:

220 ohms resistors x6 AMAZON-- 220 Ohms

Arduino Uno R3-- x1 AMAZON-- ARDUINO R3

Jumper wires x10 AMAZON-- JUMPER WIRES

Push button x1 AMAZON-- PUSH BUTTON

Red led x7 AMAZON-- RED LED

Medium sized Breadboard x1 AMAZON-- BREADBOARD

*ALSO NOTE THAT*

this project is originally made by

Waqas Farooq


THINKERCAD OF THIS PROJECT

Sequential Diagram 1.png
AAA.png

This is a tinkercad which replicates our original project on breadboard. The reason for making this project first on tinkercad is that it helps us understand the concept of this project and after that we can jump on making our project on breadboard. The first tinkercad circuit is a base module of this project which is identified as it doesn't have a button as a input, I would suggest making this circuit first and then jumping onto the next one.

Making This Project Circuit 1 on Breadboard

base.jpg

CIRCUIT 1:

This circuit is very simple and basic, it uses 220 ohms resistors, red leds, and wires. the pattern of leds in this circuit changes with different set of codings which means to change pattern we have to manually change the codings as it doesn't have any input items. the Arduino coding of this circuit is provided below:

int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;
int LED8 = 9;
int LED9 = 10;
int LED10 = 11;
int LED11 = 12;
int LED12 = 13;
int t=30;

void setup() {
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(){
digitalWrite(LED12, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED12, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED1, LOW);
delay(t);

digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED12, HIGH);
delay(t);
digitalWrite(LED1, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED12, LOW);
delay(t);

digitalWrite(LED12, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED12, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED1, LOW);
delay(t);


digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED12, HIGH);
delay(t);

digitalWrite(LED1, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED12, LOW);
delay(t);

digitalWrite(LED12, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED12, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED1, LOW);
delay(t);

digitalWrite(LED1, HIGH);
delay(t);
digitalWrite(LED2, HIGH);
delay(t);
digitalWrite(LED3, HIGH);
delay(t);
digitalWrite(LED4, HIGH);
delay(t);
digitalWrite(LED5, HIGH);
delay(t);
digitalWrite(LED6, HIGH);
delay(t);
digitalWrite(LED7, HIGH);
delay(t);
digitalWrite(LED8, HIGH);
delay(t);
digitalWrite(LED9, HIGH);
delay(t);
digitalWrite(LED10, HIGH);
delay(t);
digitalWrite(LED11, HIGH);
delay(t);
digitalWrite(LED12, HIGH);
delay(t);

digitalWrite(LED1, LOW);
delay(t);
digitalWrite(LED2, LOW);
delay(t);
digitalWrite(LED3, LOW);
delay(t);
digitalWrite(LED4, LOW);
delay(t);
digitalWrite(LED5, LOW);
delay(t);
digitalWrite(LED6, LOW);
delay(t);
digitalWrite(LED7, LOW);
delay(t);
digitalWrite(LED8, LOW);
delay(t);
digitalWrite(LED9, LOW);
delay(t);
digitalWrite(LED10, LOW);
delay(t);
digitalWrite(LED11, LOW);
delay(t);
digitalWrite(LED12, LOW);
delay(t);}

Making the Final Product on Breadboard

unnamed.jpg

FINAL CIRCUIT:

This circuit is the original circuit which contains 6 different patterns, to change the pattern of leds a button is added as a input which gives signal to Arduino and pattern changes according to the coding. This circuit contains 6 leds to present those patterns, and an arduino which operates through them. The coding to the FINAL project is given below:


int L1 = 13;
int L2 = 12;
int L3 = 11;
int L4 = 10;
int L5 = 9;
int L6 = 8;
int L7 = 7; //7 LED pin

int buttonPin = 6; //the number of the pushbutton pin

int de=50; // delay time

int p=0; // variable for pattem

int buttonState = 0; // variable for reading the pushbutton status

void setup() {


pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
pinMode(L7, OUTPUT);

pinMode(buttonPin, INPUT);

}

void loop()
{
buttonState = digitalRead(buttonPin);

if (buttonState == HIGH)

{
p++;
delay(2000);
}

if(p==1)
{
digitalWrite(L1,1);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //1
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //2
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //3
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //5
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //6
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,1); //7
delay(de);
}




if(p==2)
{
digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,1); //7
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //6
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //5
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //3
delay(de);


digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //2
delay(de);

digitalWrite(L1,1);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //1
delay(de);

}

if(p==3)
{
digitalWrite(L1,1);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //1
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //2
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //3
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //5
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //6
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,1); //7
delay(de);


digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //6
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //5
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //3
delay(de);


digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //2
delay(de);
}



if(p==4)
{
digitalWrite(L1,1);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,1); //1,7
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //2,6
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //3,5
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

}


if(p==5)
{


digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,1);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //4
delay(de);

digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,1);
digitalWrite(L4,0);
digitalWrite(L5,1);
digitalWrite(L6,0);
digitalWrite(L7,0); //3,5
delay(de);



digitalWrite(L1,0);
digitalWrite(L2,1);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,1);
digitalWrite(L7,0); //2,6
delay(de);

digitalWrite(L1,1);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,1); //1,7
delay(de);
}

if(p==6)
{
digitalWrite(L1,1);
delay(de);
digitalWrite(L2,1);
delay(de);
digitalWrite(L3,1);
delay(de);
digitalWrite(L4,1);
delay(de);
digitalWrite(L5,1);
delay(de);
digitalWrite(L6,1);
delay(de);
digitalWrite(L7,1); //1,7
delay(de);
digitalWrite(L7,0); //1,7
delay(de);
digitalWrite(L6,0);
delay(de);
digitalWrite(L5,0);
delay(de);
digitalWrite(L4,0);
delay(de);
digitalWrite(L3,0);
delay(de);
digitalWrite(L2,0);
delay(de);
digitalWrite(L1,0);
delay(de);


}

if(p==7)
{
digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
digitalWrite(L7,0); //1,7
p=0;
}

}


THANKYOU FOR VISITING

ENJOY!!