loop.ino 1.7 KB

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