loop.ino 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //GPIO declarations
  2. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  3. byte segmentClock = 6;
  4. byte segmentLatch = 5;
  5. byte segmentData = 7;
  6. byte segmentClockLAP = 11;
  7. byte segmentLatchLAP = 10;
  8. byte segmentDataLAP = 12;
  9. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  10. #define SENSOR 3 // define pint 3 for sensor
  11. #define ACTION 9 // define pin 9 as for ACTION
  12. float startTime;
  13. float endTime;
  14. float duration;
  15. byte timerRunning;
  16. unsigned long time;
  17. float distance;
  18. float seconds;
  19. // float minutes;
  20. float hours;
  21. float mph;
  22. int laps = 0;
  23. int avglaps= 0; // AVERAGE LAP COUNTER
  24. void loop() {
  25. if (timerRunning == 0 && digitalRead(SENSOR) == HIGH) { // stop counting
  26. startTime = millis();
  27. timerRunning = 1;
  28. }
  29. if (timerRunning == 1 && digitalRead(SENSOR) == LOW) { // start counting
  30. endTime = millis();
  31. timerRunning = 0;
  32. laps++;
  33. avglaps++;
  34. duration = endTime - startTime;
  35. seconds = (duration/1000);
  36. hours= (duration/3600000);
  37. mph= (distance/hours);
  38. Serial.print ("Lap: ");
  39. Serial.print (laps);
  40. Serial.print (" \t");
  41. Serial.print ("mph: ");
  42. Serial.print (mph,3);
  43. Serial.print (" \t");
  44. Serial.print ("sec: ");
  45. Serial.println (seconds,3);
  46. Serial.print ("avgLap: ");
  47. Serial.println (avglaps);
  48. delay(5); // added this delay to stop reading rear wheels error before was up to .003 seconds
  49. showNumber(mph);
  50. showNumberLAP(laps);
  51. /// LAP AVERAGE COUNTER LOOP CODE /////////////////////
  52. double nd = mph;
  53. //double ad= mph;
  54. pushd(nd);
  55. double ad = avgd();
  56. // pushd(ad); // this pushs previous average back into new average
  57. //Serial.print ("nd: ");
  58. //Serial.println (nd,4);
  59. Serial.print ("ad: ");
  60. Serial.println (ad,4);
  61. //Serial.print ("dlen: ");
  62. //Serial.println (dlen,4);
  63. //Serial.print ("d[dlen]: ");
  64. //Serial.println (d[dlen],4);
  65. //Serial.print(average);
  66. }
  67. }