Eine LED am Arduino dimmen mit analogWrite() und PWM – Pulsweiten Modulation
// LED dimmen int LED=13,i=1; void setup() { pinMode(LED,OUTPUT); } void loop() { i++; if (i>255) { i=1; } analogWrite(LED, i); delay(10); }
Eine LED am Arduino dimmen mit analogWrite() und PWM – Pulsweiten Modulation
// LED dimmen int LED=13,i=1; void setup() { pinMode(LED,OUTPUT); } void loop() { i++; if (i>255) { i=1; } analogWrite(LED, i); delay(10); }
Eine LED ansteuern mit digitalWrite
Teil 2 – Die LED an Pin 13 soll blinken.
// Neues Programm... int LED=13; void setup() { pinMode(LED,OUTPUT); } void loop() { digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); delay(500); }
Arduino Kurs Teil 6
Mit zwei Tastern wird die Helligkeit einer LED hoch und runter gefahren.
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.
Arduino Kurs Teil 4
Zwei Taster können zwei Interrupts auslösen.
Der eine Taster-Interrupt schaltet die LED ein und der andere Taster-Interrupt schaltet die LED aus.
Wenn ein Programmstatus oder ein Programmierschritt durch das mehrfaches blinken einer LED angezeigt werden soll bietet sich hierfür auch der Timer Interrupt an. Wie im vorherigen Artikel beschrieben wird der Interrupt gesetzt.
Mit Hilfe einer 8 stelligen Binärzahl kann nun das Blinkmuster festgelegt werden.
1 x Blink ist 00000001
2 x Blink ist 00000101
3 x Blink ist 00010101
Mit der Variablen folgeindex werden die Bits bei jeden Interrupt Aufruf nacheinander verglichen und die LED wird entsprechend geschaltet. Weiterlesen
Wenn im Programm keine Zeit ist eine Status LED blinken zu lassen, dann kann das ein Interrupt machen.
Er werden die Interrupt Register gesetzt, der Prescaler gesetzt und das Vergleichsregister eingestellt.
In meinem Beispiel ist der Prescaler auf 256 eingestellt. Damit wird das Vergleichsregister folgendermaßen berechnet.
Taktfrequenz / Prescaler ergibt einen Aufruf des Interrupt pro Sekunde.
Soll eine LED einmal die Sekunde blinken, dann ist sie 1/2 Sekunde aus und dann 1/2 Sekunde an. Das ergibt einen Wert von 16.000.000 / 256 / 2 = 31250 Weiterlesen
Die blaue LED auf dem ESP-01 Board zeigt den seriellen Datenverkehr an. Sie soll nun hier von einer HTML Seite aus geschaltet werden.
Dazu ist es notwendig den seriellen Datenverkehr abzustellen. Alternativ dazu könnte auch eine LED mit Vorwiderstand an den GPIO-2 geschaltet werden. Ich nehme hier für diese einfache Demo aber die schon vorhandene blaue LED. Weiterlesen
Um einen Kalibrationswert oder ähnliches einzustellen und im EEPROM abzulegen kann man 3 Tasten nehmen.
Die erste Taste unterbricht das Programm per Interrupt und geht in das Menu.
Die zwei anderen Tasten verändern den Wert. Eine Taste für kleiner und die andere für größer.
Danach verlässt die Interrupt Taste das Menu wieder und der Wert wird im EEPROM abgelegt. Weiterlesen