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();
}