/* Traffic Lights Arduino Shield Darcy Whyte, darcy@inventorArtist.com */ // Make a name for each Arduino pin int red = 2; int amber = 4; int green = 6; int walk = 8; int dontWalk = 10; // How fast do the lights change? int delayMS = 3000; // the setup routine runs once when you press reset: void setup() { // initialize digital pins as output. pinMode(red, OUTPUT); pinMode(amber, OUTPUT); pinMode(green, OUTPUT); pinMode(walk, OUTPUT); pinMode(dontWalk, OUTPUT); } // the loop routine runs over and over again forever: void loop() { //Red clearAll(); digitalWrite(red, HIGH); digitalWrite(dontWalk, HIGH); delay(delayMS); //Green clearAll(); digitalWrite(green, HIGH); digitalWrite(walk, HIGH); delay(delayMS); //Don't Walk Flash for (int i = 0; i <= 5; i++) { clearAll(); digitalWrite(green, HIGH); //digitalWrite(walk, HIGH); delay(delayMS/5); clearAll(); digitalWrite(green, HIGH); digitalWrite(dontWalk, HIGH); delay(delayMS/5); } //Amber clearAll(); digitalWrite(amber, HIGH); digitalWrite(dontWalk, HIGH); delay(delayMS); } //Turn all lights off void clearAll() { digitalWrite(red, LOW); digitalWrite(amber, LOW); digitalWrite(green, LOW); digitalWrite(walk, LOW); digitalWrite(dontWalk, LOW); }