Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. const byte interruptPin = 13;
  2. const unsigned long sampleTime = 2000;
  3. int rpmMaximum = 0;
  4.  
  5. void setup() {
  6.  
  7. Serial.begin(115200);
  8. pinMode(interruptPin, INPUT);
  9.  
  10. }
  11.  
  12. int getRPM()
  13. {
  14. int count = 0;
  15. boolean countFlag = LOW;
  16. unsigned long currentTime = 0;
  17. unsigned long startTime = millis();
  18. while (currentTime <= sampleTime)
  19. {
  20. if (digitalRead(interruptPin) == HIGH)
  21. {
  22. countFlag = HIGH;
  23. }
  24. if (digitalRead(interruptPin) == LOW && countFlag == HIGH)
  25. {
  26. count++;
  27. countFlag=LOW;
  28. }
  29. currentTime = millis() - startTime;
  30. }
  31. Serial.println(count/2);
  32. int countRpm = int(60000/float(sampleTime))*int(count/2);
  33. return countRpm;
  34. }
  35.  
  36. void loop() {
  37. delay(100);
  38. int rpm = getRPM();
  39. Serial.print("An interrupt has occurred. Total: ");
  40. Serial.println(rpm);
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement