Anfängerfrage... 2Taster entprellen... Hoch-Runterzählen

versuch es mal so

/*
 *© Ardubu Nov 2017
 *Taster wird zwischen GND und pin_x angeschlossen
 *interner Pullup Widerstand aktiviert
 *der counter zählt von 0 bis 3 jeden Tastendruck
*/

#define DEBUG //Nur zur Fehlersuche aktivieren
#define tasterHoch 2   //Taster an D2 und GND
#define tasterRunter 3 //Taster an D3 und GND
#define ledPin1 11     // LED an D11
#define ledPin2 12     // LED an D12
#define ledPin3 13     // LED an D13
#define MotorPin 6    // the number of the Mootor pin
#define debounce_delay 15 //Entprellzeit für den Taster in ms
  bool tasterHochState, tasterRunterState, tasterHochState_alt,  tasterRunterState_alt;// Variablendeklaration (global)
  uint8_t counter; //Zählt wie oft die Taste gedrückt wurde
void setup() {
  #ifdef DEBUG
  Serial.begin(115200);
  Serial.println("Setup");
  #endif
  pinMode(tasterHoch, INPUT_PULLUP);
  pinMode(tasterRunter, INPUT_PULLUP);
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
 }

void loop() {

 static uint32_t debounce_time;
 if (millis()-debounce_time>debounce_delay)tasterHochState = digitalRead(tasterHoch); //einlesen des Tasters
    
 if (tasterHochState != tasterHochState_alt) // bei Pegelwechsel 
    {
     debounce_time=millis();
     #ifdef DEBUG
               Serial.println(counter);
     #endif
     if(!tasterHochState)//wenn Taster gedrückt
       {counter++;
        counter   = min (3 , counter  );
       }
        tasterHochState_alt = tasterHochState; // state aktualisieren
     }
 if (millis()-debounce_time>debounce_delay)tasterRunterState = digitalRead(tasterRunter); //einlesen des Tasters   
   
 if (tasterRunterState != tasterRunterState_alt) // bei Pegelwechsel 
    {
     debounce_time=millis();
     #ifdef DEBUG
               Serial.println(counter);
     #endif
     if(!tasterRunterState)//wenn Taster gedrückt
       {counter--;
        if(counter<1||counter>250) counter=0;
       }
        tasterRunterState_alt = tasterRunterState; // state aktualisieren
     }  

// *********************************************************** counter   = 0 ****************************       
          if (counter   == 0) {
          digitalWrite (ledPin1, LOW);
          digitalWrite (ledPin2, LOW);
          digitalWrite (ledPin3, LOW);
          analogWrite (MotorPin, 0);
          }
// *********************************************************** counter   = 1 ****************************       
          if (counter   == 1) {
          digitalWrite (ledPin1, HIGH);
          digitalWrite (ledPin2, LOW);
          digitalWrite (ledPin3, LOW);
          analogWrite (MotorPin, 100);
          }
 // *********************************************************** counter   = 2 ****************************       
          if (counter   == 2) {
          digitalWrite (ledPin1, HIGH);
          digitalWrite (ledPin2, HIGH);
          digitalWrite (ledPin3, LOW);
          analogWrite (MotorPin, 150);
          }
 // *********************************************************** counter   = 3 ****************************       
          if (counter   == 3) {
          digitalWrite (ledPin1, HIGH);
          digitalWrite (ledPin2, HIGH);
          digitalWrite (ledPin3, HIGH);
          analogWrite (MotorPin, 200);
          }        
}//Ende loop