Advertisement
Guest User

Untitled

a guest
Dec 9th, 2011
697
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. int boardLED = 13;
  2. int leftSignal = 9;
  3. int rightSignal = 11;
  4. int signalLow = 10;
  5. int rightLow = 4;
  6. int leftSwitch = 6;
  7. int rightSwitch = 12;
  8. int leftLED = 5;
  9. int rightLED = 3;
  10. int x, y;
  11. int mode = 0;
  12. int DAY = 0;
  13. int NIGHT = 1;
  14.  
  15. void setup() // run once, when the sketch starts
  16. {
  17. pinMode(boardLED, OUTPUT);
  18.  
  19. pinMode(leftSignal, OUTPUT);
  20. pinMode(rightSignal, OUTPUT);
  21.  
  22. pinMode(signalLow, OUTPUT);
  23. pinMode(rightLow, OUTPUT);
  24.  
  25. pinMode(leftSwitch, INPUT);
  26. digitalWrite(leftSwitch, HIGH);
  27. pinMode(rightSwitch, INPUT);
  28. digitalWrite(rightSwitch, HIGH);
  29.  
  30. pinMode(leftLED, OUTPUT);
  31. pinMode(rightLED, OUTPUT);
  32.  
  33. digitalWrite(boardLED, HIGH);
  34. digitalWrite(signalLow, LOW);
  35. digitalWrite(rightLow, LOW);
  36. }
  37.  
  38. void loop() // run over and over again
  39. {
  40. checkLeft();
  41. checkRight();
  42. if (mode == NIGHT)
  43. night();
  44. else
  45. day();
  46. }
  47.  
  48. void checkLeft()
  49. {
  50. if (digitalRead(leftSwitch) == LOW)
  51. {
  52. digitalWrite(boardLED, LOW);
  53. while (digitalRead(leftSwitch) == LOW)
  54. {
  55. if (digitalRead(rightSwitch) == LOW)
  56. {
  57. while (digitalRead(rightSwitch) == LOW | digitalRead(leftSwitch) == LOW);
  58. mode = 1-mode;
  59. digitalWrite(boardLED, HIGH);
  60. return;
  61. }
  62. }
  63. leftTurn();
  64. }
  65. }
  66.  
  67. void checkRight()
  68. {
  69. if (digitalRead(rightSwitch) == LOW)
  70. {
  71. digitalWrite(boardLED, LOW);
  72. while (digitalRead(rightSwitch) == LOW)
  73. {
  74. if (digitalRead(leftSwitch) == LOW)
  75. {
  76. while (digitalRead(leftSwitch) == LOW | digitalRead(rightSwitch) == LOW);
  77. mode = 1-mode;
  78. digitalWrite(boardLED, HIGH);
  79. return;
  80. }
  81. }
  82. rightTurn();
  83. }
  84. }
  85.  
  86. void leftTurn()
  87. {
  88. for (x=0;x<10;x++)
  89. {
  90. digitalWrite(leftSignal, HIGH);
  91. digitalWrite(leftLED, LOW);
  92. for(y=0;y<10;y++)
  93. {
  94. delay(30);
  95. if (digitalRead(leftSwitch) == LOW)
  96. {
  97. while (digitalRead(leftSwitch) == LOW);
  98. digitalWrite(leftSignal, LOW);
  99. digitalWrite(leftLED, LOW);
  100. return;
  101. }
  102. }
  103. digitalWrite(leftSignal, LOW);
  104. digitalWrite(leftLED, HIGH);
  105. for(y=0;y<10;y++)
  106. {
  107. delay(30);
  108. if (digitalRead(leftSwitch) == LOW)
  109. {
  110. while (digitalRead(leftSwitch) == LOW);
  111. digitalWrite(leftSignal, LOW);
  112. digitalWrite(leftLED, LOW);
  113. return;
  114. }
  115. }
  116. digitalWrite(leftLED, LOW);
  117. }
  118. }
  119.  
  120. void rightTurn()
  121. {
  122. for (x=0;x<10;x++)
  123. {
  124. digitalWrite(rightSignal, HIGH);
  125. digitalWrite(rightLED, LOW);
  126. for(y=0;y<10;y++)
  127. {
  128. delay(30);
  129. if (digitalRead(rightSwitch) == LOW)
  130. {
  131. while (digitalRead(rightSwitch) == LOW);
  132. digitalWrite(rightSignal, LOW);
  133. digitalWrite(rightLED, LOW);
  134. return;
  135. }
  136. }
  137. digitalWrite(rightSignal, LOW);
  138. digitalWrite(rightLED, HIGH);
  139. for(y=0;y<10;y++)
  140. {
  141. delay(30);
  142. if (digitalRead(rightSwitch) == LOW)
  143. {
  144. while (digitalRead(rightSwitch) == LOW);
  145. digitalWrite(rightSignal, LOW);
  146. digitalWrite(rightLED, LOW);
  147. return;
  148. }
  149. }
  150. digitalWrite(rightLED, LOW);
  151. }
  152. }
  153.  
  154. void night()
  155. {
  156. digitalWrite(boardLED, LOW);
  157.  
  158. digitalWrite(rightSignal, HIGH);
  159. digitalWrite(leftSignal, HIGH);
  160. digitalWrite(leftLED, LOW);
  161. digitalWrite(rightLED, LOW);
  162. delay(100);
  163. digitalWrite(rightSignal, LOW);
  164. digitalWrite(leftSignal, LOW);
  165. digitalWrite(leftLED, HIGH);
  166. digitalWrite(rightLED, HIGH);
  167. delay(100);
  168. digitalWrite(leftLED, LOW);
  169. digitalWrite(rightLED, LOW);
  170. }
  171.  
  172. void day()
  173. {
  174.  
  175. digitalWrite(boardLED, HIGH);
  176. delay(1);
  177. digitalWrite(boardLED, LOW);
  178. digitalWrite(leftLED, HIGH);
  179. delay (1);
  180. digitalWrite(leftLED, LOW);
  181. digitalWrite(rightLED, HIGH);
  182. delay(1);
  183. digitalWrite(rightLED, LOW);
  184. delay (5);
  185. }
  186.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement