loop.ino 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. void loop() {
  2. // int v = digitalRead(8);
  3. // Serial.print(v);
  4. // Serial.print('\n');
  5. if (timerRunning == 0 && digitalRead(SENSOR) == HIGH) { // stop counting
  6. startTime = millis();
  7. timerRunning = 1;
  8. }
  9. if (timerRunning == 1 && digitalRead(SENSOR) == LOW) { // start counting
  10. endTime = millis();
  11. timerRunning = 0;
  12. laps++;
  13. avglaps++;
  14. duration = endTime - startTime;
  15. seconds = (duration/1000);
  16. hours= (duration/3600000);
  17. mph= (distance/hours);
  18. Serial.print ("Lap: ");
  19. Serial.print (laps);
  20. Serial.print (" \t");
  21. Serial.print ("mph: ");
  22. Serial.print (mph,3);
  23. Serial.print (" \t");
  24. Serial.print ("sec: ");
  25. Serial.println (seconds,3);
  26. Serial.print ("avgLap: ");
  27. Serial.println (avglaps);
  28. delay(5); // added this delay to stop reading rear wheels error before was up to .003 seconds
  29. if (mode == MODE_SPINUP) {
  30. showNumber(mph);
  31. showShapeLAP(2);
  32. }
  33. if (mode == MODE_COUNTING) {
  34. showNumber(mph);
  35. showNumberLAP(recordedLaps);
  36. recordLap(mph);
  37. if (recordedLaps == maxLaps) {
  38. Serial.println('Switching mode to MODE_RESTING\n');
  39. mode = MODE_RESTING;
  40. }
  41. }
  42. if (mode == MODE_RESTING) {
  43. showNumber(averageSpeed());
  44. showNumberLAP(maxLaps);
  45. delay(3000);
  46. showNumber(0);
  47. showShapeLAP(2);
  48. Serial.println("Setting mode to MODE_SPINUP\n");
  49. mode = MODE_SPINUP;
  50. recordedLaps = 0;
  51. }
  52. // Otherwise leave it
  53. /// LAP AVERAGE COUNTER LOOP CODE /////////////////////
  54. Serial.print("avgSpeed: ");
  55. Serial.println (averageSpeed(),4);
  56. }
  57. }