PWM-Optionen für die LCD-Beleuchtung

Die Hintergrundbeleuchtung des 16×2-LCD per Transistor, PWM-Pin oder zeitgesteuerter Abschaltung dimmen, gegen Blendung und Stromverbrauch nachts.

Draufsicht auf eine blaue Arduino-Uno-Mikrocontrollerplatine vor weißem Hintergrund
Arduino-kompatible Boards führen den Sketch aus, der die Fühler abfragt und JSON veröffentlicht. Foto: Wikimedia Commons contributor. CC0

Die parallele LCD-Schnittstelle nutzt RS, E und D4–D7 für den Text, dokumentiert in der GPIO-Belegung des LCD. Die LED-Hintergrundbeleuchtung ist ein Leistungsstromkreis, der oft über einen Transistor geschaltet wird, weil Arduino-Pins den Strom dafür nicht direkt liefern können. PWM oder zeitgesteuertes Dimmen hält die Anzeige nachts lesbar, ohne dass ein Dauerleuchten das Gehäuse aufheizt.

Schaltskizze eines NPN-Transistors, der die LCD-Hintergrundbeleuchtung schaltet, mit optionalem PWM-Pin
Ein GPIO steuert einen Transistor an, der den LED-Kreis der Hintergrundbeleuchtung per PWM regelt oder schaltet, unabhängig von den Datenleitungen.

Verdrahtungsvarianten

  1. Direkter Digitalpin: nur ein/aus; am einfachsten für Tests an der Werkbank.
  2. PWM-Pin: stufenloses Dimmen per analogWrite an unterstützten Pins.
  3. Zeitgesteuertes Abschalten: Die Firmware schaltet die Beleuchtung nach einigen Minuten Leerlauf ab.

Zusammenspiel mit der Firmware

Änderungen an der Hintergrundbeleuchtung erfordern keine Neuinitialisierung von LiquidCrystal. Stimme sie mit der Aktualisierung des Anzeigeformats ab, damit das Dimmen nicht mit einem unlesbaren Kontrast zusammenfällt. Das Vo-Poti bestimmt weiterhin die Sichtbarkeit der Zeichen über die Versorgungsschienen.

Strombudget

Nächtliches Abschalten spart nur wenig Strom, verringert aber die Wärme in geschlossenen Gehäusen. Achte darauf, dass die SPI-Pins frei bleiben, wenn du PWM auf Pins mit überlappenden Timern wählst: Prüfe die Pinbelegung deines Boards.