Arduino Tutorial #6 – Zwei Taster dimmen eine LED kontinuierlich hell und dunkel

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.