Advertisement
RealHero

Arduino 8

Jun 5th, 2021
786
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #define FIR_START_PIN 4
  2.  
  3. #define SEC_START_PIN 8
  4.  
  5. #define BUTTON_PIN 3
  6.  
  7. int clicks = 0;
  8.  
  9. boolean buttonWasUp = true;
  10.  
  11. byte segments[10] = {
  12.  
  13. 0b01111101, 0b00100100, 0b01111010, 0b01110110, 0b00100111,
  14.  
  15. 0b01010111, 0b01011111, 0b01100100, 0b01111111, 0b01110111
  16.  
  17. };
  18.  
  19. void setup()
  20.  
  21. {
  22.  
  23. for(int i = 0; i < 3; i++)
  24.  
  25. pinMode(i + FIR_START_PIN, OUTPUT);
  26.  
  27. for(int i = 0; i < 3; i++)
  28.  
  29. pinMode(i + SEC_START_PIN, OUTPUT);
  30.  
  31. pinMode(BUTTON_PIN, INPUT_PULLUP);
  32.  
  33. }
  34.  
  35. void loop()
  36.  
  37. {
  38.  
  39. if (buttonWasUp && !digitalRead(BUTTON_PIN))
  40.  
  41. {
  42.  
  43. delay(10);
  44.  
  45. if (!digitalRead(BUTTON_PIN))
  46.  
  47. {
  48.  
  49. clicks++;
  50.  
  51. if (clicks == 99)
  52.  
  53. clicks = 0;
  54.  
  55. }
  56.  
  57. }
  58.  
  59. buttonWasUp = digitalRead(BUTTON_PIN);
  60.  
  61. Print(clicks / 10, FIR_START_PIN);
  62.  
  63. Print(clicks % 10, SEC_START_PIN);
  64.  
  65. }
  66.  
  67. void Print(int num, int start)
  68.  
  69. {
  70.  
  71. digitalWrite(start + 1, LOW);
  72.  
  73. shiftOut(start + 2, start, LSBFIRST, segments[num]);
  74.  
  75. digitalWrite(start + 1, HIGH);
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement