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

Ein Gedanke zu „Arduino Tutorial #6 – Zwei Taster dimmen eine LED kontinuierlich hell und dunkel

  1. Marco Bischof

    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

    Antworten

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.