Leucht­stär­ke von LEDs mit der Puls­wei­ten­mo­du­la­ti­on und Poten­tio­me­ter regeln

Lese­zeit: 3 Minu­ten
Seite als PDF
Navi­ga­ti­on

Die Hel­lig­keit einer LED soll mit einem Poten­tio­me­ter stu­fen­los regu­liert werden.

So sieht es aus:

Pulsweitenmodulation

Ein ➨ana­lo­ges Signal kann von 0% bis 100% regu­liert wer­den.
Digi­ta­le Signa­le ken­nen aber nur zwei Zustän­de: an (HIGH) oder aus (LOW).
Bei der Puls­wei­ten­mo­du­la­ti­on (PWM) wird das digi­ta­le Signal in bestimm­ten Abstän­den immer wie­der ein- und aus­ge­schal­tet, um ähn­li­che Ergeb­nis­se wie die eines nor­ma­len ana­lo­gen Signals zu erhal­ten. Der Ein-Aus-Wechsel simu­liert die Span­nung zwi­schen 0 und 5 Volt. Der Dau­er des Ein-Zustandes ist die Pulsweite. 


Bild­quel­le: ➨https://​www​.ardui​no​.cc/​e​n​/​T​u​t​o​r​i​a​l​/​PWM (deut­sche Übersetzung)

Pins mit PWM

Nur die digi­ta­len Pins, die mit einem ~ gekenn­zeich­net sind, kön­nen mit der PWM ange­spro­chen werden.

Benö­tig­te Bauteile:

  • LED
  • Wider­stand > 100 Ω
  • Poten­tio­me­ter
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Defi­nie­re die Varia­blen und erstel­le den setup-Teil.

int ReglerWert;
int REGLER = A0;
int LED = 6;

void setup()
{
  pinMode(LED, OUTPUT);
}

Die LED darf mit ➨ana­log­Wri­te höchs­ten mit dem Wert 255 ange­steu­ert wer­den, der Poten­tio­me­ter kennt aber Wer­te zwi­schen 0 (= 0 Volt) und 1023 (= 5 Volt).

Des­halb muss der gele­se­ne Reg­ler­wert durch 4 geteilt werden.

void loop()
{
  ReglerWert = analogRead(REGLER);
  analogWrite(LED, ReglerWert / 4);
}

Alter­na­tiv kannst du auch den ➨map-Befehl verwenden:

void loop()
{ 
  ReglerWert = analogRead(REGLER); 
  analogWrite (LED, map(ReglerWert, 0, 1023, 0, 255));
}

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 27. Jan 2021 @ 21:58