Devices & Components
Arduino Uno Rev3
9V battery (generic)
Jumper wires (generic)
Solderless Breadboard Half Size
Grove - 16 x 2 LCD (White on Blue)
5 mm LED: Green
5 mm LED: Yellow
5 mm LED: Red
Software & Tools
Arduino IDE
Project description
Code
Traffic_light.ino
arduino
1int ledr = 2; 2int ledy = 3; 3int ledg = 4; 4 5int i=0; 6 7#include<LiquidCrystal.h> 8LiquidCrystal lcd(7,8,9,10,11,12); 9 10byte STOP[8]={ 11 B00000, 12 B01110, 13 B10011, 14 B10101, 15 B11001, 16 B01110, 17 B00000, 18 B00000 19 20}; 21 22byte GO[8]={ 23 B01110, 24 B01110, 25 B11111, 26 B10101, 27 B10101, 28 B01110, 29 B01010, 30 B01010 31}; 32 33void setup() { 34 pinMode(ledr,OUTPUT); 35 pinMode(ledy,OUTPUT); 36 pinMode(ledg,OUTPUT); 37 38 lcd.begin(16,2); 39 40 lcd.createChar(0,STOP); 41 lcd.createChar(1,GO); 42} 43 44void loop() { 45 46 //RED 47 digitalWrite(ledr,HIGH); 48 49 lcd.setCursor(4,0); 50 lcd.write(byte(0)); 51 lcd.print(" STOP "); 52 lcd.write(byte(0)); 53 54 for(i=0;i<11;i++) 55 {lcd.setCursor(7,1); 56 lcd.print(i); 57 delay(1000);} 58 59 60 digitalWrite(ledy,HIGH); 61 62 lcd.setCursor(7,1); 63 lcd.print("11"); 64 65 delay(1000); 66 digitalWrite(ledy,LOW); 67 68 lcd.setCursor(7,1); 69 lcd.print("12"); 70 71 delay(1000); 72 digitalWrite(ledy,HIGH); 73 74 lcd.setCursor(7,1); 75 lcd.print("13"); 76 77 delay(1000); 78 digitalWrite(ledy,LOW); 79 80 lcd.setCursor(7,1); 81 lcd.print("14"); 82 83 delay(1000); 84 digitalWrite(ledy,HIGH); 85 86 lcd.setCursor(7,1); 87 lcd.print("15"); 88 89 delay(1000); 90 digitalWrite(ledy,LOW); 91 digitalWrite(ledr,LOW); 92 93 94 95 lcd.clear(); 96 97 //GREEN 98 digitalWrite(ledg,HIGH); 99 100 lcd.setCursor(5,0); 101 lcd.write(byte(1)); 102 lcd.print(" GO "); 103 lcd.write(byte(1)); 104 105 for(i=0;i<11;i++) 106 {lcd.setCursor(7,1); 107 lcd.print(i); 108 delay(1000);} 109 110 digitalWrite(ledy,HIGH); 111 112 lcd.setCursor(7,1); 113 lcd.print("11"); 114 115 delay(1000); 116 digitalWrite(ledy,LOW); 117 118 lcd.setCursor(7,1); 119 lcd.print("12"); 120 121 delay(1000); 122 digitalWrite(ledy,HIGH); 123 124 lcd.setCursor(7,1); 125 lcd.print("13"); 126 127 delay(1000); 128 digitalWrite(ledy,LOW); 129 130 lcd.setCursor(7,1); 131 lcd.print("14"); 132 133 delay(1000); 134 digitalWrite(ledy,HIGH); 135 136 lcd.setCursor(7,1); 137 lcd.print("15"); 138 139 delay(1000); 140 digitalWrite(ledy,LOW); 141 digitalWrite(ledg,LOW); 142 143 144 145 lcd.clear(); 146} 147
Downloadable files
fritzing circuit diagram for Traffic Light
fritzing circuit diagram for Traffic Light

simulation Traffic Light by proteus
simulation Traffic Light by proteus
fritzing circuit diagram for Traffic Light
fritzing circuit diagram for Traffic Light

simulation Traffic Light by proteus
simulation Traffic Light by proteus
Comments
Only logged in users can leave comments