Advertisement
RuiViana

Velocimetro

Jul 25th, 2017
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <Stepper.h>
  2. #define STEPS 32 // 40 - 60 Steps for Opel Tacho
  3. #define SPEED 7000 // Speed in Rounds per Minute
  4. #define Reed 2                  // Port do reed switch
  5. Stepper stepperSPEED(STEPS, 8, 10, 9, 11);
  6. float rev = 0;
  7. int rpm;
  8. unsigned long Tempo;
  9. int diferenca = 0;
  10. int rpm_old = 0;
  11. //------------------------------
  12. void isr() //interrupt service routine
  13. {
  14.   rev++;
  15. }
  16. //-------------------------------
  17. void setup()
  18. {
  19.   pinMode(Reed, INPUT_PULLUP);                          // Define o  port reeed como entrada e liga o pull up
  20.   Serial.begin(9600);
  21.   stepperSPEED.setSpeed(60);
  22.   attachInterrupt(0, isr, RISING);                   // Interrupt do reed
  23.   Tempo = millis();
  24. }
  25. //------------------------------
  26. void loop()
  27. {
  28.   if (millis() - Tempo > 1000)
  29.   {
  30.     rpm = rev;
  31.     Tempo = millis();
  32.     rev   = 0;
  33.  //   Serial.println(rpm);  
  34.   }
  35.   diferenca = rpm - rpm_old;
  36.   stepperSPEED.step(diferenca);
  37.   rpm_old = rpm;
  38. //  Serial.println(rpm);
  39. //  Serial.println(rpm_old);
  40.   if (diferenca != 0)
  41.   Serial.println(diferenca);    
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement