Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. //Digital Inputs
  2. int measureSwitch = 13; //switch that sets 2 tsp and 1 tsp
  3.  
  4. //Digital Outputs
  5. int motor = 12;
  6. int buzzer = 11;
  7. int readyLed = 10;
  8. int running1Led = 9;
  9. int running2Led = 8;
  10. int doneLed = 7;
  11. int sugarLevelLed = 6;
  12.  
  13. //Analog Inputs
  14. int cupSensor = 20; //the light sensor should read 0 when the cup is resting on it
  15. int lightSensor = 100; // the sugar should cover up thelight sensor so the light can pass thru, making it zero
  16.  
  17. //different run times
  18.  
  19. int running1Time = 100; //1 tsp tentative times
  20. int running2Time = 250; //2 tsp tentative times
  21. int buzzerTimer = 200; // how long the buzzer will go off for
  22.  
  23. void setup() {
  24. Serial.begin(9600);
  25. pinMode(measureSwitch, INPUT);
  26. pinMode(motor, OUTPUT);
  27. pinMode(buzzer, OUTPUT);
  28. pinMode(readyLed, OUTPUT);
  29. pinMode(running1Led, OUTPUT);
  30. pinMode(running2Led, OUTPUT);
  31. pinMode(doneLed, OUTPUT);
  32. pinMode(sugarLevelLed, OUTPUT);
  33. }
  34.  
  35. //Ready State
  36.  
  37. void readyState(){
  38. digitalWrite(readyLed, HIGH);
  39. digitalWrite(running1Led, LOW);
  40. digitalWrite(running2Led, LOW);
  41. digitalWrite(doneLed, LOW);
  42. digitalWrite(sugarLevelLed, LOW);
  43. digitalWrite(buzzer, LOW);
  44. digitalWrite(motor, LOW);
  45. }
  46.  
  47. //Running 1 State
  48.  
  49. void running1State(){
  50. digitalWrite(readyLed, LOW);
  51. digitalWrite(running1Led, HIGH);
  52. digitalWrite(running2Led, LOW);
  53. digitalWrite(doneLed, LOW);
  54. digitalWrite(sugarLevelLed, LOW);
  55. digitalWrite(buzzer, LOW);
  56. digitalWrite(motor, HIGH);
  57. }
  58.  
  59. //Running 2 State
  60. void running2State(){
  61. digitalWrite(readyLed, LOW);
  62. digitalWrite(running1Led, LOW);
  63. digitalWrite(running2Led, HIGH);
  64. digitalWrite(doneLed, LOW);
  65. digitalWrite(sugarLevelLed, LOW);
  66. digitalWrite(buzzer, LOW);
  67. digitalWrite(motor, HIGH);
  68. }
  69.  
  70. //Done State
  71. void doneState(){
  72. digitalWrite(readyLed, LOW);
  73. digitalWrite(running1Led, LOW);
  74. digitalWrite(running2Led, LOW);
  75. digitalWrite(doneLed, HIGH);
  76. digitalWrite(sugarLevelLed, LOW);
  77. digitalWrite(buzzer, HIGH);
  78. digitalWrite(motor, LOW);
  79. }
  80.  
  81. //Waiting State
  82. void waitingState(){
  83. digitalWrite(readyLed, LOW);
  84. digitalWrite(running1Led, LOW);
  85. digitalWrite(running2Led, LOW);
  86. digitalWrite(doneLed, HIGH);
  87. digitalWrite(sugarLevelLed, LOW);
  88. digitalWrite(buzzer, LOW);
  89. digitalWrite(motor, LOW);
  90. }
  91.  
  92. //Sugar Level State
  93. void sugarLevelState(){
  94. digitalWrite(readyLed, LOW);
  95. digitalWrite(running1Led, LOW);
  96. digitalWrite(running2Led, LOW);
  97. digitalWrite(doneLed, LOW);
  98. digitalWrite(sugarLevelLed, HIGH);
  99. digitalWrite(buzzer, LOW);
  100. digitalWrite(motor, LOW);
  101. }
  102.  
  103. void loop() {
  104. while(analogRead(A0) > lightSensor){ //when there is no cup placed on the
  105. sensor, be in ready state
  106. readyState();
  107. Serial.println("READY STATE");
  108. }
  109.  
  110.  
  111. //when the cup is on the sensor and the switch is set to 1 tsp
  112. for(int time1 = 0; ((time1 < running1Time) &&
  113. (analogRead(A0) < cupSensor) &&
  114. (digitalRead(measureSwitch) == HIGH)) ; time1++){
  115. //run the running 1 state for 4 seconds
  116. running1State();
  117. delay(1);
  118.  
  119. Serial.println("RUNNING STATE 1");
  120. Serial.println(time1);
  121.  
  122.  
  123.  
  124. }
  125.  
  126.  
  127.  
  128. //when the cup is on the sensor and the switch is set to 2 tsp
  129.  
  130. for(int time2 = 0; ((time2 < running2Time) && (analogRead(A0) < cupSensor)
  131.  
  132. && (digitalRead(measureSwitch) == LOW)); time2++){
  133.  
  134. //run the running 2 state for 8 seconds
  135.  
  136. running2State();
  137. delay(1);
  138. Serial.println("RUNNING STATE 2");
  139. Serial.println(time2);
  140. Serial.println(analogRead(A0));
  141.  
  142. }
  143.  
  144.  
  145.  
  146. for(int buzzerTime = 0; buzzerTime < buzzerTimer; buzzerTime++){
  147.  
  148. doneState();
  149. Serial.println("DONE STATE");
  150. Serial.println(buzzerTime);
  151. delay(1);
  152. }
  153.  
  154. while(analogRead(A0) < cupSensor){
  155. waitingState();
  156. Serial.println("WAITING STATE");
  157. }
  158.  
  159. while(analogRead(A1) > lightSensor){
  160. sugarLevelState();
  161. Serial.println("SUGAR LEVEL STATE");
  162. }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement