/* RGB-LED mit gemeinsamer Annode --> Anode auf +5V. Kathoden für red, green, blue über Widerstand auf folgende PWM-Pins (für green ginge auch anderer Pin, da grün bloss ein/ausgeschaltet wird): */ #define ledRedPin 9 #define ledGreenPin 10 #define ledBluePin 11 #define potiPin A0 // Abriff des Potentiometers --> 0...5 V, auf Pin A0. #define downPin 4 // Taste "down" verbindet Pin 4 mit GND #define upPin 5 // Taste "up" verbindet Pin 5 mit GND #define onOffPin 6 // Taste "onOff" verbindet Pin 6 mit GND #define debounce 200 // Wartezeit (in ms) zur "Entprellung" der Tasten uint8_t red = 255; // Werte auf HIGH, sodass LED dunkel bool green = 1; uint8_t blue = 255; uint8_t blueStep = 5; void setup() { pinMode(ledRedPin, OUTPUT); pinMode(ledGreenPin, OUTPUT); pinMode(ledBluePin, OUTPUT); pinMode(potiPin, INPUT); pinMode(downPin, INPUT_PULLUP); pinMode(upPin, INPUT_PULLUP); pinMode(onOffPin, INPUT_PULLUP); } void loop() { red = analogRead(potiPin); if(!digitalRead(onOffPin)){ delay(debounce); green = !green; } if(!digitalRead(downPin)){ delay(debounce); if(blue > 0){ blue -= blueStep; } } if(!digitalRead(upPin)){ delay(debounce); if(blue < 255){ blue += blueStep; } } analogWrite(ledRedPin, red); digitalWrite(ledGreenPin, green); analogWrite(ledBluePin, blue); }