Fade LED: Der Arduino als analoger Output
Analoger Output: Fade LED
Aufbau
In diesem Beispiel nutzen wir den Arduino als analogen Output, um eine LED schrittweise zu dimmen. Das positive, längere Bein (Anode) der LED wird dazu über einen 220 Ohm Widerstand an Pin 9 angeschlossen, das kürzere, negative Bein der LED (Kathode) an die Ground Pin des Arduino. Wir benutzen die PWD Pins des Arduino: 3, 5, 6, 9, 10, 11 um durch Pulse Width Modulation ein analoges Output Signal zu steuern, das die LED runter und anschließend wieder hoch dimmt.
Schaltplan & Reallife Aufbau
Steckplan
Pulse Width Modulation Pin
Wenn du mehr über Pulse Width Modulation lernen möchtest, die wir nutzen, um den Arduino als scheinbar analogen Output zu verwenden, kannst du dir diesen Artikel anschauen: https://learn.sparkfun.com/tutorials/pulse-width-modulation/all Auf der Website wird einfach und genau erklärt, wie das PWD Signal im Vergleich zu einem analogen gedimmten Signal entsteht und wofür es angewendet werden kann.
Code
int led = 9; // Die Pin, an die unsere LED angeschlossen ist, wird als Variable led festgelegt
int helligkeit = 0; // Eine Variable, die die Helligkeit unserer Pin beschreibt
int fadeAmount = 5; // Eine Variable, die die Helligkeitsveränderung (und damit die Intensität) des Fade In und Fade Outs beschreibt
// einmalig zu Beginn des Programms muss festgelegt werden:
void setup() {
// Pin 9 ist ein Output!
pinMode(led, OUTPUT);
}
// im Anschluss läuft das Programm im Loop unendlich weiter:
void loop() {
// stelle die Helligkeit von led "analog" ein:
analogWrite(led, helligkeit);
// im nächsten Schritt verändere die Helligkeit um die Menge fadeAmount:
helligkeit = helligkeit + fadeAmount;
// kehre den Wert des Fade um, sobald du am maximalen/minimalen Ende der analogen Werteskala angelangt bist:
// Fade In wird,sobald die LED maximal hell ist zu Fade Out und umgekehrt
if ( helligkeit <= 0 || helligkeit >= 255) {
fadeAmount = -fadeAmount;
}
// warte für 30 Millisekunden, bis du zum nächsten Dimmschritt weitergehst
// dieser Wert bestimmt die Geschwindigkeit des Fade In/Out
delay(30);
}
Die LED wird also bis zur maximalen Helligkeit heller und anschließend wieder dunkler solange das Programm läuft, dadurch, dass wir die analogen Werte der PWD Pin verändern und damit die Spannung an dieser Pin.