Eine LED dimmen – Arduino Kurs Teil 5
Zwei Taster lösen im Arduino Programm einen Interrupt aus und die LED wird damit gedimmt. Die Kurve der PWM Dimmung wird dem optischen Eindruck angepaßt.
Das Pogramm
// Zwei externe Taster dimmen die LED 6 per Interrupt // Beim Arduino Uno / Nano sind das Pin2 oder Pin3 für den Interrupt // Beim Arduino Uno / Nano sind das Pin 3, 5, 6, 9, 10, 11 für PWM int LED=6, taster1=2, taster2=3, helligkeit=5; void setup() { pinMode(taster1,INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(taster1), isrLedDunkler, FALLING); pinMode(taster2,INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(taster2), isrLedHeller, FALLING); analogWrite(LED,mapHelligkeit()); } void loop() { delay(1000); } void isrLedDunkler() { helligkeit--; if(helligkeit<=0) helligkeit=1; analogWrite(LED,mapHelligkeit()); } void isrLedHeller() { helligkeit++; if(helligkeit>10) helligkeit=10; analogWrite(LED,mapHelligkeit()); } int mapHelligkeit() { return (int) helligkeit*helligkeit*helligkeit/3.93; }
von Matthias Busse