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

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

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
  • 5 Wider­stän­de > 100 Ω
  • 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)

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 setup-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: 11. Apr 2021 @ 10:22