Advertisement
safwan092

Untitled

Nov 9th, 2021
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. int carRed = 2; //car lights being assigned
  2. int carYellow = 3;
  3. int carGreen = 4;
  4. int pedRed = 9; //ped lights being assigned
  5. int pedGreen = 10;
  6. int button = 12; // button pin
  7. int crossTime = 5000; //crossing time given to pedestrians
  8. unsigned long changeTime ; // collects the time since the button was last pressed
  9. void setup () {
  10. pinMode(carRed, OUTPUT);
  11. pinMode(carYellow, OUTPUT);
  12. pinMode(carGreen, OUTPUT);
  13. pinMode(pedRed, OUTPUT);
  14. pinMode(pedGreen, OUTPUT);
  15. pinMode(button, INPUT);
  16. digitalWrite(carGreen, HIGH); //start with green car light on
  17. digitalWrite(pedRed, HIGH); //start with red ped light on
  18. }
  19. void loop() {
  20. /* check if button is pressed
  21. and it is over 5 sec since last button press*/
  22. int state = digitalRead(button);
  23. if (state == HIGH && (millis() - changeTime) > 5000) {
  24. changeLights(); //function to change lights
  25. }
  26. }
  27. void changeLights() {
  28. digitalWrite(carGreen, LOW); //green car light off
  29. digitalWrite(carYellow, HIGH); // yellow car light on
  30. delay(2000); //wait 2 seconds
  31. digitalWrite(carYellow, LOW); // yellow car light off
  32. digitalWrite(carRed, HIGH); //red car light on
  33. delay(1000); //wait 1 second to turn on ped light
  34. digitalWrite(pedRed, LOW); //red ped light off
  35. digitalWrite(pedGreen, HIGH); //green ped light on. Allow crossing
  36. delay(crossTime); //delay preset time of 5 seconds
  37.  
  38. //flashing of ped green light
  39. for (int x = 0; x < 10; x++) {
  40. digitalWrite(pedGreen, HIGH);
  41. delay(250);
  42. digitalWrite(pedGreen, LOW);
  43. delay(250);
  44. }
  45. digitalWrite(pedRed, HIGH); //turn red ped light on
  46. delay(100);
  47. digitalWrite(carGreen, HIGH); //car green light on
  48. digitalWrite(carRed, LOW); //car red light off
  49. changeTime = millis(); //record time since last lights change
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement