This is lesson 4 in the series of how to teach kids electronics and coding with Arduino and mBlock (block programming).
You can view Lesson 3 here
What will we do
This example uses three LEDs to make a model traffic light signal. You can use all red LEDs if you like, but its more realistic if you use red, yellow and green.
The LEDs cycle around in the sequence red, green, yellow and then back to red again
Parts List
You will need the following parts:
- 1x arduino uno
- 1x arduino USB Cable
- 1x Breadboard
- 4x Jumper Wire
- 1x Red LED
- 1x Green LED
- 1x Yellow LED
- 3x Resistor
Wiring it up
To add the extra LEDs and resistors, wire them up as shown in the breadboard layout below.
Ensure that the LEDs are the right way around, with the longer positive leads (anodes) to the left.
How does it work
Think of how a traffic light works.
- it starts from RED
- then turns to GREEN
- then turns YELLOW
- and back to RED
Think about the how long the light stays on before it changes to the next colour
This time that it takes before the light changes is called a WAIT in coding. So the program will WAIT for a specific number of seconds before the next light changes to the next colour
In order to turn the light ON or OFF in code, we say that if we want the light on then we need to set it to HIGH and if we want the light OFF we setup it to LOW.
So to change the traffic lights we say
- to make the light ON, we set it to HIGH
- to make the light OFF, we set it to LOW
If you look at the wiring diagram above, you will see that we connected it as follows
- we connected DIGITAL PIN 7 (D7) to the RED light
- we connect DIGITAL PIN 6 (D6) to the YELLOW light
- we connect DIGITAL PIN 5 (D5) to the GREEN light
So In order for the program to work we will do the following
- set D7 to HIGH (red light)
- set D6 to LOW (yellow light)
- set D5 to LOW (green light)
- WAIT for 10 seconds
- set D7 to LOW (red light)
- set D6 to LOW (yellow light)
- set D5 to HIGH (green light)
- WAIT for 10 seconds
- set D7 to LOW (red light)
- set D6 to HIGH (yellow light)
- set D5 to LOW (green light)
- WAIT for 1 seconds
Block Coding
original lesson is published here: https://docs.kidscode.co.za/arduino-kids-lessons/traffic-signal