Created on: 31 July 2012
In this tutorial, eight LEDs are interfaced to the Arduino Uno board. This is not complicated – it is just like interfacing a single LED to the Arduino as done in tutorial 3, but eight times over. A program is then loaded to the Arduino that will turn the eight LEDs into a "Knight rider" display.
The following video shows what you will achieve:
Can't see the video? View on YouTube →
You will need to have completed tutorial 3 and its prerequisites before attempting this tutorial.
Besides a breadboard, Arduino Uno and USB cable, you will need:
| Qty | Part | Designator | Notes | Type |
|---|---|---|---|---|
| 8 | 470 ohm resistor (yellow - violet - brown) | R1 | 1/4W, 5% or better | Resistors |
| 8 | 5mm red LED | D1 | Other coloured and sized LEDs could also be used, e.g. 3mm green LED | Semiconductors |
| 9 | Wire links | Wire links that will reach from the breadboard to the Arduino | Wire |
The circuit diagram is shown below. It is simply eight LEDs interfaced to the Arduino pins 2 to 9.
Place the LEDs next to each other in the breadboard so that the anode (longer lead) is at the left and the cathode is on the right.
Insert the 470 ohm resistors connecting one lead to the LED's cathode and the other to the top rail.
Join the anodes of the LEDs to pins 2 to 9 of the Arduino from left to right using single-core wire. Join the top rail to one of the GND pins of the Arduino.
When finished building the circuit, connect the Arduino to the PC via the USB cable.
Donate to Starting Electronics
Enjoy the article? Help us out by
making a donation. Any amount
will be much appreciated.
(Pay Pal)
Support Starting Electronics
by buying from Amazon.com
Support Starting Electronics
by buying from Amazon.co.uk (UK)
The Knight Rider program listing is shown below. Copy it and pasted it into the Arduino IDE.
/*
Knight Rider
Knight rider display on 8 LEDs
*/
void setup() {
// set up pins 2 to 9 as outputs
for (int i = 2; i < 10; i++) {
pinMode(i, OUTPUT);
}
}
// function to switch all LEDs off
void allLEDsOff(void)
{
for (int i = 2; i < 10; i++) {
digitalWrite(i, LOW);
}
}
void loop() {
// move on LED to the right
for (int i = 2; i < 9; i++) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(200);
}
// move on LED to the left
for (int i = 9; i > 2; i--) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(200);
}
}
Load the program to the Arduino and if the circuit was built correctly, your knight rider circuit will start operating.
To comment on this article or ask questions, go to the blog entry for this article. Use the comment box at the bottom of the blog entry.
© 2012 – 2013, Starting Electronics