
Led chaser circuit using Arduino Nano with codes
Requirements
1) Arduino Nano
2) Leds
3)Breadboard
4)Jumper wire
5)Micro USB Cable

The circuit is simple to design. Set the Arduino Nano on breadboard. Connect all the LEDs to digital pins of Arduino Nano.
After connecting LEDs give ground supply to LEDs from Arduino Nano any GND pin.
All LEDs share the common ground.
I have not used resistor here to connect between digital pins and positive terminal of led for protection of led. If you want you can add 450ohm resistor to reduce current flow.
You can also use same code for Arduino Uno to try chaser effect on LEDs.
Also Check – Pins Description and Hardware Components on Arduino Uno
Circuit Diagram

Steps before uploading code on Arduino board1)Select Board as Arduino Nano in Tools

2)Select processor as Atmega328p (old bootloader ) for arduinno nano board

3)Set Port based on your system provide to Arduino nano in my case port Com5

After all steps verify and upload code on Arduino nano board.
7 led chaser effects using Arduino Nano with code / Different led patterns designs with code
Code
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);
}
}
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
//Effect 1
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);
}
for(int i = 14; i>=2; i–){
digitalWrite(i, HIGH);
delay(t3);
}
for(int i = 14; i>=2; i–){
digitalWrite(i, LOW);
delay(t3);
}
}
//Effect 4
void effect_4()
{
for(int j = 2; j <= 13; j++){
digitalWrite(j, HIGH);
delay(t2);
j=j+1;
}
for(int j = 2; j <= 13; j++){
digitalWrite(j, LOW);
delay(t2);
}
for(int k = 15; k > 2; k–){
digitalWrite(k, HIGH);
delay(t2);
k=k-1;
}
for(int k = 15; k > 2; k–){
digitalWrite(k, LOW);
delay(t2);
}
}
//Effect 7
void effect_7()
{
for(int j=2; j<14; j++){ digitalWrite(j, HIGH); delay(t); digitalWrite(j+2, LOW); delay(t); } for(int k = 15; k>2; k–){
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k+2, LOW);
delay(t);
}
}
Watch YouTube Video
Code for chaser Effect 1
int counter;
void setup()
{
counter = 14;
for(int i = 0; i<counter; i++ )
pinMode(i, OUTPUT);
}
void flash(int led, int duration)
{
digitalWrite(led, HIGH);
delay(duration);
digitalWrite(led, LOW);
delay(duration);
}
void loop()
{
for (int i = 0; i < counter; i++)
flash(i, 20); //led duration 20 milliseconds you can change based on your requirements
}
Watch YouTube Video
Code for chaser Effect 2
int counter;
void setup()
{
counter = 14;
for(int i = 0; i<counter; i++ )
pinMode(i, OUTPUT);
}
void flash(int led, int duration)
{
digitalWrite(led, HIGH);
delay(duration);
digitalWrite(led, LOW);
delay(duration);
}
void loop()
{
for (int i = 0; i < counter; i++)
{
flash(i, 40);
if( i < counter)
flash(i-1, 20); //led duration 20 milliseconds you can change based on your requirements
}
}
Code for Chaser Effect 3
int counter;
void setup()
{
counter = 14;
for(int i = 0; i<counter; i++ )
pinMode(i, OUTPUT);
}
void flash(int led, int duration)
{
digitalWrite(led, HIGH);
delay(duration);
digitalWrite(led, LOW);
delay(duration);
}
void loop()
{
for (int i = 0; i < counter; i++)
{
flash(i, 40);
if( i < counter)
flash(i-1, 20);
flash(i-2, 10);
}
}
Code for Chaser Effect 4
int counter, led;
void setup()
{
counter = 14;
for(int i = 0; i<counter; i++ )
pinMode(i, OUTPUT);
}
void flash(int led, int duration)
{
digitalWrite(led, HIGH);
delay(duration);
digitalWrite(led, LOW);
delay(duration);
}
void loop()
{
led = 0;
for ( int i = 0 ; i < 27; i++)
{
flash(led, 20);
if ( i < counter-1 )
led++;
else
led–;
}
}
Code for Chaser Effect 5
int counter, led;
void setup()
{
counter = 14;
for(int i = 0; i<counter; i++ )
pinMode(i, OUTPUT);
}
void flash(int led, int duration)
{
digitalWrite(led, HIGH);
delay(duration);
digitalWrite(led, LOW);
delay(duration);
}
void loop()
{
for ( int i = 0 ; i<counter; i++ )
{
flash(i, 20);
flash(13-i, 20);
}
}
If you have any doubt on code or any circuit connections just message me on my social media accounts.
Thank You!
Have a Good Day, Happy Learning❤