RuiViana

Contador_2Dig_7Seg_Botoes_2

Oct 13th, 2016
174
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "SevSeg.h"
  2. SevSeg sevseg; //Instanciar a biblioteca sevseg
  3. #define CONTAR1 11 // pino onde será conectado a tecla de contagem
  4. #define APAGA 14 // pino onde será conectado a tecla de modo
  5. #define CONTAR2 12 // pino onde será conectado a tecla de contagem
  6. byte Dig1 = 0;
  7. byte Dig2 = 0;
  8.  
  9. //---------------------------
  10. void setup()
  11. {
  12. Serial.begin(9600);
  13. pinMode(CONTAR1, INPUT_PULLUP);
  14. pinMode(APAGA, INPUT_PULLUP);
  15. pinMode(CONTAR2, INPUT_PULLUP);
  16.  
  17. byte numDigits = 2; //Números de dígitos do display, é válido para qualquer display (1, 2, 3, 4, n dígitos);
  18. byte digitPins[] = {9, 10}; //Pino dos ânodos ou cátodos.
  19. byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; //Pinos dos segmentos do A ao G
  20. sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins); //Aqui se seu display for cátodo é preciso trocar COMMON_ANODE para COMMON_CATHODE
  21. sevseg.setBrightness(90); //Define o brilho do display
  22. }
  23. //-------------------------
  24. void loop()
  25. {
  26. while (digitalRead(CONTAR1) == LOW) // Se o botão de contar1 estiver apertado
  27. {
  28. delay(50);
  29. while (digitalRead(CONTAR1) == LOW) // Se o botão de contar1 continua apertado
  30. {
  31. delay(20);
  32. if (digitalRead(CONTAR1) == HIGH) // Se o botão de contar1 foi liberado
  33. {
  34. Dig1++;
  35. if(Dig1 >9) Dig1 = 0;
  36. Serial.println(Dig1);
  37. }
  38. }
  39. }
  40.  
  41. while (digitalRead(CONTAR2) == LOW) // Se o botão de estiver apertado
  42. {
  43. delay(50);
  44. while (digitalRead(CONTAR2) == LOW) // Se o botão de continua apertado
  45. {
  46. delay(20);
  47. if (digitalRead(CONTAR2) == HIGH) // Se o botão de foi liberado
  48. {
  49. Dig2++;
  50. if(Dig2 >9) Dig2 = 0;
  51. Serial.println(Dig2);
  52. }
  53. }
  54. }
  55.  
  56. while (digitalRead(APAGA) == LOW) // Se o botão de estiver apertado
  57. {
  58. delay(50);
  59. while (digitalRead(APAGA) == LOW) // Se o botão de continua apertado
  60. {
  61. delay(20);
  62. if (digitalRead(APAGA) == HIGH) // Se o botão de foi liberado
  63. {
  64. Dig1 = 0;
  65. Dig2 = 0;
  66. }
  67. }
  68. }
  69. sevseg.setNumber(Dig1, 2); // Seta o número que será mostrado no display
  70. sevseg.setNumber(Dig2, 1); // Seta o número que será mostrado no display
  71. sevseg.refreshDisplay(); // Executar repetidamente
  72. }
RAW Paste Data