Arduino Tutorial #5 – 2 Taster dimmen per Interrupt eine LED mit PWM

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

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.