LEDs ohne Puls­wei­ten­mo­du­la­ti­on dimmen

Lese­zeit: 3 Minu­ten

Lösung
Seite als PDF

Die LEDs sol­len ohne Ver­wen­dung der ➨Puls­wei­ten­mo­du­la­ti­on schritt­wei­se auf­leuch­ten und wie­der gedimmt werden.

So sieht es aus:

Benö­tig­te Bauteile:

  • 5 LEDs
  • 3 Wider­stän­de 220 Ω (gel­be, rote und grü­ne LED)
  • 2 Wider­stän­de 100 Ω (blaue und wei­ße LED)
  • 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)

Bevor du star­ten kannst musst du eine Biblio­thek instal­lie­ren:
Sketch → Biblio­thek ein­bin­den → Biblio­the­ken verwalten

Bin­de die benö­tig­te Biblio­thek ein und defi­nie­re die Variablen.

# include "SoftPWM.h"

// Array mit 5 Elementen und den zugehörigen Ports
byte LED[5] = {3, 4, 5, 6, 7};

// Anzahl der LEDs feststellen
byte LEDMax = sizeof(LED);

Der set­up-Teil. Beach­te die Kommentare.

void setup() 
{
  // SoftPWM starten
  SoftPWMBegin();
  for (int i = 0; i < LEDMax; i++) 
  {
    // Status aus für jede LED setzen
    SoftPWMSet(LED[i], 0);

    /* 
      Dimmzeiten setzen: 
      Parameter LED, Auf-Dimmen (in Millisekunden), 
      Ab-Dimmen (in Millisekunden)
      Dimmzeiten müssen mit der Wartezeit übereinstimmen
    */
    SoftPWMSetFadeTime(LED[i], 700, 700);
  }
}

Der loop-Teil. Beach­te die Kommentare.

void loop() 
{
  for (int i = 0; i < LEDMax; i++) 
  { 
    // aktuelle LED einschalten und dimmen
    SoftPWMSet(LED[i], 255);
  
    // Wartezeit muss mit den Dimmzeiten übereinstimmen
    delay(700);

    // aktuelle LED ausschalten
    SoftPWMSet(LED[i], 0);

    // Wartezeit vor der nächsten LED
    delay(100);
  }
}

Expe­ri­men­tie­re ein wenig mit ande­ren "Dimm­zei­ten". Den­ke aber dar­an die War­te­zeit anzupassen.


Startseite
Suchen
Aufgaben A-Z
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 8. Okt 2023 @ 15:30