Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Varieables
- //North-South Lights
- const int nsr = 10;
- //Red
- const int nsy = 9;
- //Yellow
- const int nsg =8;
- //Green
- //--------Page_Break--------
- //Eas-West Lights
- const int ewr = 13;
- //Red
- const int ewy = 12;
- //Yellow
- const int ewg = 11;
- //Green
- //--------Page_Break--------
- //walk sign parts
- int wb1 = 7;
- //walk button 1
- int wb2 = 6;
- //walk button 2
- const int ws = 5;
- //walk sign light
- int buttonState = 0;
- int buttonState2 = 0;
- //for reading button status (on/off)
- const int answer = 42;
- //answer to life, the universe, and everything
- void setup(){
- //this defines weather the item is an input or output
- //OUTPUT is a light, INPUT is a button
- pinMode(nsr,OUTPUT);
- pinMode(nsy,OUTPUT);
- pinMode(nsg,OUTPUT);
- pinMode(ewr,OUTPUT);
- pinMode(ewy,OUTPUT);
- pinMode(ewg,OUTPUT);
- pinMode(wb1,INPUT);
- pinMode(wb2,INPUT);
- pinMode(ws,OUTPUT);
- }
- void loop(){
- //East-West runs through full light cycle
- //north-south red light starts on red
- digitalWrite(nsr,HIGH);
- digitalWrite(nsy,LOW);
- digitalWrite(nsg,LOW);
- delay(2000);
- //east-west light green
- digitalWrite(ewr,LOW);
- digitalWrite(ewy,LOW);
- digitalWrite(ewg,HIGH);
- delay(10000);
- //east-west yellow
- digitalWrite(ewy,HIGH);
- digitalWrite(ewg,LOW);
- delay(5000);
- //east-west red
- digitalWrite(ewr,HIGH);
- digitalWrite(ewy,LOW);
- delay(2000);
- //check crosswalk
- buttonState = digitalRead(wb1);
- buttonState2 = digitalRead(wb2);
- if (buttonState == HIGH) {
- // turn red lights all on
- digitalWrite(nsr,HIGH);
- digitalWrite(ewr,HIGH);
- delay(3000);
- // turn walk sign on
- digitalWrite(ws,HIGH);
- delay(10000);
- digitalWrite(ws,LOW);
- delay(3000);
- } else if (buttonState2 == HIGH) {
- // turn red lights all on
- digitalWrite(nsr,HIGH);
- digitalWrite(ewr,HIGH);
- delay(3000);
- // turn walk sign on
- digitalWrite(ws,HIGH);
- delay(10000);
- digitalWrite(ws,LOW);
- delay(3000);
- } else {
- delay(1); //final option incase things dont work (just keeps going)
- }
- //North-South Runs through full light cycle
- //North-South green
- digitalWrite(nsr,LOW);
- digitalWrite(nsy,LOW);
- digitalWrite(nsg,HIGH);
- //North-South yellow
- delay(10000);
- digitalWrite(nsy,HIGH);
- digitalWrite(nsg,LOW);
- delay(5000);
- //check crosswalk
- buttonState = digitalRead(wb1);
- buttonState2 = digitalRead(wb2);
- //checks both buttons
- if (buttonState == HIGH) {
- // turn red lights all on
- digitalWrite(nsy,LOW); //extra precautions
- digitalWrite(nsr,HIGH);
- digitalWrite(ewr,HIGH);
- delay(3000);
- // turn walk sign on
- digitalWrite(ws,HIGH);
- delay(10000);
- digitalWrite(ws,LOW);
- delay(3000);
- } else if (buttonState2 == HIGH) {
- // turn red lights all on
- digitalWrite(nsy,LOW);
- digitalWrite(nsr,HIGH);
- digitalWrite(ewr,HIGH);
- delay(3000);
- // turn walk sign on
- digitalWrite(ws,HIGH);
- delay(10000);
- digitalWrite(ws,LOW);
- delay(3000);
- } else {
- delay(1); //final option incase things dont work (just keeps going)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement