Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. //i/o
  2. int gmain=3; //Green light main
  3. int ymain=4; //Yellow light main
  4. int rmain=5; //Red light main
  5. int gside=7; //green light side
  6. int yside=8; //yellow light side
  7. int rside=9; //red light side
  8. int lwalk=11; //good to walk like
  9. int bwalk=12; //the button
  10.  
  11. //Variables
  12. int walk = 0; //used to store info on if button has been pressed
  13. int val = 0;
  14. int walkmode = 0; //used for different modes of walk light
  15.  
  16. void setup() {
  17. // put your setup code here, to run once:
  18. pinMode(gmain,OUTPUT);
  19. pinMode(ymain,OUTPUT);
  20. pinMode(rmain,OUTPUT);
  21. pinMode(gside,OUTPUT);
  22. pinMode(yside,OUTPUT);
  23. pinMode(rside,OUTPUT);
  24. pinMode(lwalk,OUTPUT);
  25. pinMode(bwalk,INPUT);
  26. }
  27.  
  28.  
  29. void loop() {
  30.  
  31. main:
  32. ButtonCheck();
  33.  
  34. digitalWrite(gmain,LOW);//all red lights
  35. digitalWrite(ymain,LOW);
  36. digitalWrite(rmain,HIGH);
  37. digitalWrite(gside,LOW);
  38. digitalWrite(yside,LOW);
  39. digitalWrite(rside,HIGH);
  40. //int walkmode=0;
  41.  
  42. delay (500);
  43.  
  44. ButtonCheck();
  45. digitalWrite(rmain,LOW);//red to green
  46. digitalWrite(gmain,HIGH);
  47.  
  48. delay(3000);
  49.  
  50. ButtonCheck();
  51. digitalWrite(gmain,LOW);//green to yellow
  52. digitalWrite(ymain,HIGH);
  53.  
  54. delay(1000);
  55.  
  56.  
  57. if (walk == 1){
  58. goto cross;
  59. }
  60. else if (walk == 0){
  61. goto nocross;
  62. }
  63. else{digitalWrite(gmain,HIGH);//all on indicating error
  64. digitalWrite(ymain,HIGH);
  65. digitalWrite(rmain,HIGH);
  66. digitalWrite(gside,HIGH);
  67. digitalWrite(yside,HIGH);
  68. digitalWrite(rside,HIGH);
  69. }
  70.  
  71.  
  72. nocross:
  73.  
  74. ButtonCheck();
  75. digitalWrite(gmain,LOW);//all red lights
  76. digitalWrite(ymain,LOW);
  77. digitalWrite(rmain,HIGH);
  78. digitalWrite(gside,LOW);
  79. digitalWrite(yside,LOW);
  80. digitalWrite(rside,HIGH);
  81. walkmode=0;
  82.  
  83. delay (500);
  84.  
  85. ButtonCheck();
  86. digitalWrite(rside,LOW);//red to green
  87. digitalWrite(gside,HIGH);
  88.  
  89. delay(1500);
  90.  
  91. ButtonCheck();
  92. digitalWrite(gside,LOW);//green to yellow
  93. digitalWrite(yside,HIGH);
  94.  
  95. delay(700);
  96.  
  97. goto main;
  98.  
  99.  
  100. cross:
  101.  
  102. digitalWrite(gmain,LOW);//all red lights
  103. digitalWrite(ymain,LOW);
  104. digitalWrite(rmain,HIGH);
  105. digitalWrite(gside,LOW);
  106. digitalWrite(yside,LOW);
  107. digitalWrite(rside,HIGH);
  108. //walkmode=0;
  109.  
  110.  
  111.  
  112. delay (500);
  113.  
  114. digitalWrite(rside,LOW);//red to green
  115. digitalWrite(gside,HIGH);
  116. int (walkmode=1);
  117. //walkmode=0;
  118. digitalWrite(lwalk,HIGH);
  119.  
  120. delay(3000);
  121.  
  122. digitalWrite(gside,LOW);//green to yellow
  123. digitalWrite(yside,HIGH);
  124. //int (walkmode=2);
  125.  
  126. delay(1000);
  127. digitalWrite(lwalk,LOW);
  128.  
  129. walk = 0;
  130. val = LOW;
  131. delay (10);
  132.  
  133. goto main;
  134. }
  135.  
  136. void ButtonCheck()
  137. {
  138. val = digitalRead (bwalk);
  139. while (val == HIGH){
  140. walk = 1;
  141. break;
  142. }
  143. }
  144.  
  145. /*
  146. void walksignal(){
  147. //different walk modes
  148. if (walkmode=0){
  149. digitalWrite(lwalk,LOW);
  150. }
  151. else if (walkmode=1){
  152. digitalWrite(lwalk,HIGH);
  153. }
  154. else if (walkmode=2){
  155. digitalWrite(lwalk,HIGH);
  156. delay (100);
  157. digitalWrite(lwalk,LOW);
  158. delay (100);
  159. }
  160. else{
  161. digitalWrite(gmain,HIGH);//all red lights
  162. digitalWrite(ymain,HIGH);
  163. digitalWrite(rmain,HIGH);
  164. digitalWrite(gside,HIGH);
  165. digitalWrite(yside,HIGH);
  166. digitalWrite(rside,HIGH);
  167. }
  168. }
  169. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement