/* Beispiel 2
zwei Led mit Taster auf/ ab faden
verwendet delay() wenn beide noch akliv doppelte Zeit
*/
const byte LedRot = 5; // Pin für LED
const byte LedGruen = 6;
const byte btnRot = 7; // taster schalten gegen OV
const byte btnGruen = 8;
byte hellRot, hellGruen; // Helligkeit der LED
const byte fadstep = 10;
const byte delaytime=50;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(btnRot, INPUT_PULLUP);
pinMode(btnGruen, INPUT_PULLUP);
}
void loop() {
//---------- Teil für die Rote LED
if (digitalRead(btnRot) == 0) { // wenn Taster gedrückt
if (hellRot + fadstep <= 255 ) { // max noch nicht erreicht
hellRot = hellRot + fadstep;
analogWrite(LedRot, hellRot);
delay (delaytime);
}
}
else {
if (hellRot - fadstep >= 0 ) { // min noch nicht erreicht
hellRot = hellRot - fadstep;
analogWrite(LedRot, hellRot);
delay(delaytime);
}
}
// -------------Teil für die Grüne LED
if (digitalRead(btnGruen) == 0) {
if (hellGruen + fadstep <= 255 ) {
hellGruen = hellGruen + fadstep;
analogWrite(LedGruen, hellGruen);
delay (delaytime);
}
}
else {
if (hellGruen - fadstep >= 0 ) {
hellGruen = hellGruen - fadstep;
analogWrite(LedGruen, hellGruen);
delay(delaytime);
}
}
// delay(delaytime);
}