Devices & Components
SparkFun RedBoard
Resistor 330 ohm
5 mm LED: Red
Push Button
5 mm LED: Green
Jumper wires (generic)
Solderless Breadboard Half Size
5 mm LED: Yellow
Software & Tools
Arduino IDE
Project description
Code
Code
arduino
The code
1int button = 7; 2int buttonState = 0; 3int red = 3; 4int yellow = 4; 5int green = 5; 6 7void setup() { 8 9 pinMode(red, OUTPUT); // red led 10 pinMode(yellow, OUTPUT); // yellow led 11 pinMode(green, OUTPUT); // green led 12 pinMode(button, INPUT); // button 13 14} 15 16 17 18// Main/Loop Function 19void loop(){ 20 if (digitalRead(button) == HIGH){ 21 if (digitalRead(button) == HIGH) { 22 // if the button pressed, stop traffic 23 lightCycle(); 24 } 25 } 26 else { // If the button is off, traffic goes on 27 digitalWrite(green, HIGH); 28 digitalWrite(yellow, LOW); 29 digitalWrite(red, LOW); 30 } 31 } 32 33 34void lightCycle(){ 35 36 // Turns green off, Yellow on 37 delay(2000); 38 digitalWrite(green, LOW); 39 digitalWrite(yellow, HIGH); 40 digitalWrite(red, LOW); 41 delay(3000); 42 43 44 // Turns yellow off, Red on 45 digitalWrite(green, LOW); 46 digitalWrite(yellow, LOW); 47 digitalWrite(red, HIGH); 48 delay(8000); 49}
Code
arduino
The code
1int button = 7; 2int buttonState = 0; 3int red = 3; 4int yellow = 4; 5int green = 5; 6 7void setup() { 8 9 pinMode(red, OUTPUT); // red led 10 pinMode(yellow, OUTPUT); // yellow led 11 pinMode(green, OUTPUT); // green led 12 pinMode(button, INPUT); // button 13 14} 15 16 17 18// Main/Loop Function 19void loop(){ 20 if (digitalRead(button) == HIGH){ 21 if (digitalRead(button) == HIGH) { 22 // if the button pressed, stop traffic 23 lightCycle(); 24 } 25 } 26 else { // If the button is off, traffic goes on 27 digitalWrite(green, HIGH); 28 digitalWrite(yellow, LOW); 29 digitalWrite(red, LOW); 30 } 31 } 32 33 34void lightCycle(){ 35 36 // Turns green off, Yellow on 37 delay(2000); 38 digitalWrite(green, LOW); 39 digitalWrite(yellow, HIGH); 40 digitalWrite(red, LOW); 41 delay(3000); 42 43 44 // Turns yellow off, Red on 45 digitalWrite(green, LOW); 46 digitalWrite(yellow, LOW); 47 digitalWrite(red, HIGH); 48 delay(8000); 49}
Downloadable files
Traffic Light Schematic
The Schematic View by using Fritzing
Traffic Light Schematic
Comments
Only logged in users can leave comments