Arduino Kurs Teil 6
Mit zwei Tastern wird die Helligkeit einer LED hoch und runter gefahren.
Das Programm
// Zwei Taster dimmen die LED 6 kontinuierlich int LED=6, taster1=2, taster2=3, helligkeit=7; void setup() { pinMode(taster1,INPUT_PULLUP); pinMode(taster2,INPUT_PULLUP); analogWrite(LED,mapHelligkeit()); } void loop() { while(!digitalRead(taster1)) { helligkeit--; if(helligkeit<1) helligkeit=1; analogWrite(LED,mapHelligkeit()); delay(250); } while(!digitalRead(taster2)) { helligkeit++; if(helligkeit>10) helligkeit=10; analogWrite(LED,mapHelligkeit()); delay(250); } } int mapHelligkeit() { // optische Helligkeit in 10 Schritten anpassen return (int) helligkeit*helligkeit*helligkeit/3.93; }
Die elegante Möglichkeit
// Zwei Taster dimmen die LED 6 kontinuierlich int LED=6, taster1=2, taster2=3, helligkeit=5, dimmzeit=200; long zeit; void setup() { pinMode(taster1,INPUT_PULLUP); pinMode(taster2,INPUT_PULLUP); analogWrite(LED,mapHelligkeit()); } void loop() { if(!digitalRead(taster1) && (millis()-zeit > dimmzeit)) { zeit=millis(); helligkeit--; if(helligkeit<1) helligkeit=1; analogWrite(LED,mapHelligkeit()); } if(!digitalRead(taster2) && (millis()-zeit > dimmzeit)) { zeit=millis(); helligkeit++; if(helligkeit>10) helligkeit=10; analogWrite(LED,mapHelligkeit()); } } int mapHelligkeit() { // optische Helligkeit in 10 Schritten anpassen return (int) helligkeit*helligkeit*helligkeit/3.93; }
von Matthias Busse
Hallo Shelvin
Danke für deine tollen Videos, kann man echt brauchen.
Ich habe eine Frage zum Arduino Tutorial 6:
Wie macht man es denn wenn man Stufenlos Dimmen will, also 0 – 255?
Ich benötige das PWM Signal Anstelle eines Potis für einen J113 und da möchte ich Stufenlos regulieren können.
Was steckt genau hinter der Funktion mapHelligkeit?
Danke für Deine Bemühungen
Beste Grüsse
Marco Bischof