www.FAMILIE-MICHELE.de

Navigation Vorherige Seite.....................Nächste Seite

Arduino Workshop: Dimmen einer LED: Pulsweitenmodulation

Die vorherige Schaltung wird weiter genutzt und erweitert: Je nach Helligeit am LDR soll eine LED mehr oder weniger gedimmt werden. LEDs müssen jedoch immer mit der richtigen Betriebsspannung versorgt werden und das Dimmen geschieht "nur" über das schnelle An- und Ausschalten per Pulsweitenmodulation. Nur die Pins, die auf dem Board mit einer Tilde "~" gekennzeichnet sind, können ein PWM-Signal abgeben.

Pulsweitenmodulation

Pulsweitenmodulation animiert

Die Pulsweitenmodulation "erwartet" Werte zwischen 0 und 255. 0 entspricht durchgängig 0V, 255 entspricht durchgängig 5 V. Alles dazwischen kann man sich wie in dem oben dargestellten Bild vorstellen.
Der analoge gemessene Wert kann aber zwischen 0 und 1023 liegen. Hier kommt das "Mapping" ins Spiel. Sie ordnet richtig zu (die Ergebnisse könnten der Einfachheit halber hier auch durch vier geteilt werden).

Schaltung:

Dimmen mit PWM

Code:

int ledPin = 9; int sensorPin = A0; int sensorValue = 0; int dimmerValue = 0; void setup() { // Der Eingang muss nicht speziell "vorbereitet" werden // und der PWM-Ausgang auch nicht. } void loop() { sensorValue = analogRead(sensorPin); dimmerValue = map( sensorValue, 0, 1023, 0, 255); analogWrite(ledPin, dimmerValue); }

Vorherige Seite.....................Nächste Seite
31.03.2021 Dr. Oliver Michele