/* Fade Zwei Dimmer für die zwei Scheinwerfer unseres Bootes Sie sind separat dimmbar über je zwei Taster Zudem gibt es einen Taster für Lichthupe (beide voll an). */ int led1 = 9; // PWM pin von LED 1 int led2 = 10; // PWM pin von LED 2 int AUF1 = 3; // Taster AUF LED 1 int AB1 = 4; // Taster AB LED 1 int AUF2 = 5; // Taster AUF LED 2 int AB2 = 6; // Taster AB LED 2 int LiHu = 7; // Taster alle LEDs an int brightness1 = 0; // Helligkeit LED 1 beim Start int brightness2 = 0; // Helligkeit LED 2 beim Start int voll_an = 255; // Helligkeit voll int fadeAmount = 1; // Schrittweite Dimmen // Grundeinstellungen beim Setup: void setup() { // Ein- und Ausg. deklarieren pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(AUF1, INPUT); pinMode(AB1, INPUT); pinMode(AUF2, INPUT); pinMode(AB2, INPUT); pinMode(LiHu, INPUT); // setzt LEDs auf die jeweilige Helligkeit: analogWrite(led1, brightness1); analogWrite(led2, brightness2); } // die unendliche Schleife void loop() { // liest die Taster aus int lightUp1 = digitalRead(AUF1); int lightDown1 = digitalRead(AB1); int lightUp2 = digitalRead(AUF2); int lightDown2 = digitalRead(AB2); int LiHux = digitalRead(LiHu); //falls Lichthupe LiHu gedrückt wurde if (LiHux == HIGH) { analogWrite(led1, voll_an); analogWrite(led2, voll_an); } else { // setzt LEDs auf die jeweilige Helligkeit: analogWrite(led1, brightness1); analogWrite(led2, brightness2); //falls Taster für LED 1 gedrückt wurde if (lightUp1 == HIGH) { // change the brightness for next time through the loop: brightness1 = brightness1 + fadeAmount; if (brightness1 > 255) { brightness1 = 255 ; } // warte 30 Millisekunden zwischen den Dimmstufen delay(30); } if (lightDown1 == HIGH) { // Helligkeit pro Schleifendurchlauf ändern: brightness1 = brightness1 - fadeAmount; if (brightness1 < 0) { brightness1 = 0 ; } // warte 30 Millisekunden zwischen den Dimmstufen delay(20); } //falls Taster für LED 2 gedrückt wurde if (lightUp2 == HIGH) { // change the brightness for next time through the loop: brightness2 = brightness2 + fadeAmount; if (brightness2 > 255) { brightness2 = 255 ; } // warte 30 Millisekunden zwischen den Dimmstufen delay(30); } if (lightDown2 == HIGH) { // Helligkeit pro Schleifendurchlauf ändern: brightness2 = brightness2 - fadeAmount; if (brightness2 < 0) { brightness2 = 0 ; } // warte 30 Millisekunden zwischen den Dimmstufen delay(20); } } }