Tasterprogramm

Meine Taster gehen gegen GND
Interne Pullup aktiviert

const int ledpin = 9;
const int Up     = 2;
const int Down   = 4;
const unsigned long speed   = 10; // kleinere Zahl schnelleres dimmen


struct Automat
{
  int dim = 0;
  unsigned long lastHit;
  Automat()
  {
    lastHit = millis();
    analogWrite(ledpin,dim);
  }
  
  void handle() 
  {
    if(millis() - lastHit >= speed)
    {
      lastHit = millis();
      int neuerdim = dim; 
      if(!digitalRead(Up)) neuerdim++;
      if(!digitalRead(Down)) neuerdim--;
      neuerdim = constrain(neuerdim,0,255);
      if(neuerdim != dim)
      {
        dim = neuerdim;
        analogWrite(ledpin,dim);
      }
    }  
  }
} Dimmer;

void setup ()
{
  pinMode(Up,INPUT_PULLUP);
  pinMode(Down,INPUT_PULLUP);
}
void loop ()
{
  Dimmer.handle();
}