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

Lösung
Seite als PDF

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

So sieht es aus:

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-Wech­sel simu­liert die Span­nung zwi­schen 0 und 5 Volt. Der Dau­er des Ein-Zustan­des ist die Pulsweite. 


Quel­le:  🔗https://​www​.ardui​no​.cc/​e​n​/​T​u​t​o​r​i​a​l​/​F​o​u​n​d​a​t​i​o​n​s​/​PWM (eige­ne Bear­bei­tung, abge­ru­fen am 25.02.23)

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 220 Ω
  • Poten­tio­me­ter
  • Lei­tungs­dräh­te

Beach­te die ➨Vor­wi­der­stän­de ver­schie­de­ner LEDs

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: 23. Nov 2023 @ 12:07