fad1.ino


/* Beispiel 1 Grundversion
    Led mit Taster auf/ ab faden
    Taster schaltet nach GND interner Pullup aktiv
    verwendet delay()
*/
const byte LedRot = 5;    // pwm Ausgang
const byte btnRot = 7;    // taster schalten gegen OV
byte hellRot;             // Helligkeit für rote Led

const byte fadstep = 10;        // Schrittweite
const byte delaytime;           // Wartezeit

void setup() {
  Serial.begin(9600);
  pinMode(btnRot, INPUT_PULLUP);  // Pin als Input festlegen
}

void loop() {
  if (digitalRead(btnRot) == 0) {     // wenn der Taster gerückt ist
    if (hellRot + fadstep <= 255 ) {  // max Wert noch nicht erreicht
      hellRot = hellRot + fadstep;    // um Wert erhöhen
      analogWrite(LedRot, hellRot);   // neuen Wert ausgeben
      delay (delaytime);              // warten 
    }
  }
  else {  // taster ist nicht gedrückt                      
    if (hellRot - fadstep >= 0 ) {    // min Wert nicht erreicht
      hellRot = hellRot - fadstep;    // um wert verringern
      analogWrite(LedRot, hellRot);   // Wert ausgeben
      delay(delaytime);               // warten 
    }
  }
}