Advertisement
RuiViana

Untitled

May 14th, 2015
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. // Rotina para debounce
  2. // Uso didático
  3. // Rui 14/05/2015
  4.  
  5. //*************** Variaveis e constantes *************
  6. const int Saida = 13; // Pino de Saída
  7. const int Start = 9; // Pino do switch de start
  8. const int Stop = 10; // Pino do switch de stop
  9. unsigned int debounceDelay_Start = 5000; // Tempo de debounce de start
  10. unsigned int debounceDelay_Stop = 1000; // Tempo de debounce de stop
  11.  
  12. unsigned int FlagStart; // Variave'q identifica se o botao ja estava ligado
  13. unsigned int FlagStop; // Variave'q identifica se o botao ja estava ligado
  14.  
  15. //*********************** Setup ********************
  16. void setup()
  17. {
  18. pinMode(Saida, OUTPUT); // Port como saída
  19. digitalWrite(Saida, LOW); // Desliga motor
  20. pinMode(Start, INPUT); // Port do switch Start como entrada
  21. digitalWrite(Start, HIGH); // Puul-Up Entrada
  22. pinMode(Stop, INPUT); // Port do switch Stop como entrada
  23. digitalWrite(Stop, HIGH); // Puul-Up Entrada
  24. }
  25.  
  26. //*********************** Loop ********************
  27. void loop()
  28. {
  29. // ================= Start deboucing ===================
  30. if(!digitalRead(Start)) // Se o switch estiver apertado
  31. {
  32. delay(debounceDelay_Start); // espere um tempo
  33. if(!digitalRead(Start)) // se continua apertado
  34. {
  35. FlagStart = 1; // diz que start está apertado
  36. FlagStop = 0;
  37. // digitalWrite(Saida, HIGH);
  38.  
  39. // Coloque aqui seu codigo
  40.  
  41. while(!digitalRead(Start)) // Espera pela liberação do switch
  42. delayMicroseconds(1); // Espera 1 us só
  43. }
  44. }
  45. // ================= Stop deboucing ===================
  46. if(!digitalRead(Stop)) // Se o switch estiver apertado
  47. {
  48. delay(debounceDelay_Stop); // espere um tempo
  49. if(!digitalRead(Stop)) // se continua apertado
  50. {
  51. FlagStop = 1; // diz que stop está apertado
  52. FlagStart = 0;
  53. // digitalWrite(Saida, LOW);
  54.  
  55. // Coloque aqui seu codigo
  56.  
  57. while(!digitalRead(Stop)) // Espera pela liberação do switch
  58. delayMicroseconds(1); // Espera 1 us só
  59. }
  60. }
  61. // ================= deboucing ===================
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement