Advertisement
TolentinoCotesta

Up Down counter

May 5th, 2020
1,438
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #define UP   2
  2. #define DOWN 3
  3. int counter1 = 5;
  4. int counter2 = 4;
  5.  
  6. int upDown(int &val, int inc, int max=9, int min=0){
  7.   if (val != min)    
  8.     val = (val + inc) % (max +1);
  9.   else if(inc > 0)
  10.          val = (val + inc);
  11. }
  12.  
  13. void setup() {
  14.   Serial.begin(9600);
  15.   pinMode(UP,   INPUT_PULLUP);
  16.   pinMode(DOWN, INPUT_PULLUP);
  17. }
  18.  
  19.  
  20. void loop() {
  21.  
  22.   if(digitalRead(UP) == LOW){
  23.     upDown(counter1, +1);
  24.     Serial.print("\nCounter1: ");
  25.     Serial.println(counter1);
  26.  
  27.     upDown(counter2, +2, 20, -4);
  28.     Serial.print("Counter2: ");
  29.     Serial.println(counter2);
  30.     delay(200);
  31.   }
  32.  
  33.   if(digitalRead(DOWN) == LOW){    
  34.     upDown(counter1, -1);
  35.     Serial.print("\nCounter1: ");
  36.     Serial.println(counter1);
  37.  
  38.     upDown(counter2, -1, 20, -4);
  39.     Serial.print("Counter2: ");
  40.     Serial.println(counter2);    
  41.     delay(200);
  42.   }
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement