Multiple Blinking LED on the Arduino

200,608

40

43

Posted

Introduction: Multiple Blinking LED on the Arduino

In this tutorial I will show you how to make multiple LEDs blink with Arduino.  You will need three LEDs, jumper wires, breadboard, and Arduino.

Step 1: Program the Arduino

Now you will need to paste the following code into the Arduino software and upload it to the Arduino.

int led = 13;
int led2 = 12;
int led3 = 11;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT); 
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(100); 
  {digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(100);}
{digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
delay(100);}// wait for a second
}

Step 2: Connecting GND

First connect a jumper wire from GND to the negative rail on the breadboard.

Step 3: Connecting the LEDs.

Then plug in the other jumper wires like this:
First, plug a wire from 13 on the Arduino to the top row on the breadboard.
Next, plug a wire from 12 on the Arduino to the top row on the breadboard.
Then plug a wire from 11 on the Arduino to the top row on the breadboard.
Space these out well. Use the picture to help you.
Now connect a wire going from the negative rail to the right of the other wires on the breadboard.
Lastly, put the longer leg of the Led (+) under the wire that goes to the Arduino. The shorter leg of the LED goes under the port that connects to the negative rail.

Step 4: Video of It Working

7 People Made This Project!

Recommendations

  • Epilog Challenge 9

    Epilog Challenge 9
  • First Time Author Contest 2018

    First Time Author Contest 2018
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

only 2 leds lite with me

30 Comments

What to do to turn on 4 leds?

Capture_2017_10_08_14_20_15_292.png

you missed a semi colon on line 4, that's why you have an error.

What to do to turn on 4 leds?

how can I make two lights blink at the same time?

By the way you can also do it in a much simpler manner using delay().

//turns on leds 3 and 4 for 500 millisec
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
delay(500);

//turns off leds 3 and 4 for 500 millisec
digitalWrite(3, LOW);
digitalWrite(4, LOW);
delay(500);

for this you will need to multitask. Look into the millis() function.

Search: aduino multitasking to learn more

here's the code:

class Flasher

{

// Class Member Variables

// These are initialized at startup

int ledPin; // the number of the LED pin

long OnTime; // milliseconds of on-time

long OffTime; // milliseconds of off-time

// These maintain the current state

int ledState; // ledState used to set the LED

unsigned long previousMillis; // will store last time LED was updated

// Constructor - creates a Flasher

// and initializes the member variables and state

public:

Flasher(int pin, long on, long off)

{

ledPin = pin;

pinMode(ledPin, OUTPUT);

OnTime = on;

OffTime = off;

ledState = LOW;

previousMillis = 0;

}

void Update()

{

// check to see if it's time to change the state of the LED

unsigned long currentMillis = millis();

if((ledState == HIGH) && (currentMillis - previousMillis >= OnTime))

{

ledState = LOW; // Turn it off

previousMillis = currentMillis; // Remember the time

digitalWrite(ledPin, ledState); // Update the actual LED

}

else if ((ledState == LOW) && (currentMillis - previousMillis >= OffTime))

{

ledState = HIGH; // turn it on

previousMillis = currentMillis; // Remember the time

digitalWrite(ledPin, ledState); // Update the actual LED

}

}

};

Flasher led1(12, 350, 350);

Flasher led2(13, 350, 350);

void setup()

{

}

void loop()

{

led1.Update();

led2.Update();

}

taken from: https://learn.adafruit.com/multi-tasking-the-arduino-part-1/a-classy-solution

far more elegant

int led3 = 3;
int led4 = 4;
int led5 = 5;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {

for(int counter =3;counter<=6;counter++){
digitalWrite("led"+counter, HIGH);
delay(100);
digitalWrite("led"+counter, LOW);
delay(100);
}

}

It says error.. (T_T)

error.jpg