Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung
In diesem Arduino-Tutorial lernen Sie, wie Sie den TLC5940 PWM-Treiber mit dem Arduino-Board verwenden. Der TLC5940 ist ein 16-Kanal-LED-Treiber mit PWM-Ausgängen – ideal zur Erweiterung der Arduino-PWM-Fähigkeiten. Nicht nur LEDs, auch Servos, DC-Motoren und andere Bauteile lassen sich per PWM-Signal steuern. Daisy-Chaining ist ein großartiges Feature: Mehrere TLC5940 ICs lassen sich in Reihe schalten. So erweitern Sie die Arduino-PWM-Ausgänge auf 32, 48, 64 Kanäle – und nutzen weiterhin dieselben 4 Arduino-Pins wie für einen einzelnen TLC5940. Benötigte Komponenten: Für die Steuerung des TLC5940 belegen wir 4 Arduino-Pins. Wir nutzen die TLC5940 Arduino Library von Alex Leone – der Anschluss muss gemäß seiner Library-Konfiguration oder folgendem Schaltplan erfolgen: Der Schaltplan nutzt externe Stromversorgung für die LEDs, kann aber auch direkt über Arduino VCC gespeist werden, sofern der Gesamtstrom das Arduino-Limit nicht überschreitet (max. 200 mA an VCC/GND). Wichtig: Der TLC5940 ist ein Konstantstrom-Senke (Current Sink) – der Strom fließt *zu* den Ausgangspins. Daher: LED-Kathode (–) an IC-Ausgang, LED-Anode (+) an 5 V VCC. Zwei Kondensatoren zur Entkopplung und ein Widerstand zur Strombegrenzung sind nötig. Der Widerstandswert hängt vom Lasttyp ab und wird per Diagramm aus dem TLC5940-Datenblatt gewählt. Für LEDs mit 20 mA benötigen wir laut Diagramm einen 2 kΩ Widerstand. Nach Installation der TLC5940 Library (Alex Leone) können wir das Demo-Beispiel „BasicUse“ nutzen. Hier ein einfacher Code für 16 LEDs – lesen Sie die Kommentare zum Verständnis der Funktionen. Für die Reihenschaltung mehrerer ICs gilt derselbe Schaltplan. Der einzige Unterschied: SOUT (Signalausgang, Pin 17) des ersten ICs wird mit SIN (Signaleingang, Pin 26) des zweiten ICs verbunden, und so weiter. Programmseitig: In der Library-Datei Als Beispiel: In meinem DIY LED Heart Photo Frame – Arduino Project nutze ich 2 TLC5940 ICs für 32 LEDs.
Grundlegende Eigenschaften
Arduino und TLC5940 Verdrahtung


Quellcode
/*
* Arduino and TLC5940 Tutorial - Simple Example
* by Dejan Nedelkovski, www.HowToMechatronics.com
*/
#include "Tlc5940.h"
void setup() {
Tlc.init(0); // TLC5940 initialisieren, alle Kanäle aus
}
void loop() {
Tlc.set(0, 4095); // (Ausgang 0-15, PWM-Wert 0-4095)
// Hinweis: set() aktiviert nicht sofort! Erst Tlc.update() schaltet die Ausgänge.
Tlc.update();
delay(1000);
// Alle 16 Ausgänge gleichzeitig aktivieren: for-Schleife setzen, dann update()
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
}
Tlc.update();
delay(1000);
// Tlc.clear() setzt alle PWM-Werte auf 0
Tlc.clear();
Tlc.update();
delay(1000);
// LEDs nacheinander einschalten
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
Tlc.update();
delay(200);
Tlc.clear();
Tlc.update();
delay(200);
}
}Code language: Arduino (arduino)Mehrere TLC5940 steuern

tlc_config.h die Variable NUM_TLCS auf die Anzahl der in Reihe geschalteten ICs setzen (hier 2). Damit können alle LEDs von 0 bis 31 wie bisher adressiert werden.
Herstellungsprozess
- Luftqualität messen mit OpenSensors: Arduino & Python Anleitung
- Sicheres Arduino RFID-Schloss bauen – Schritt-für-Schritt-Anleitung
- Universelle IR-Fernbedienung mit Arduino bauen: Schritt-für-Schritt-Anleitung
- Digitales Stadiometer bauen: Körpergröße messen mit Arduino & Lasersensor VL53L0X
- Thermistor (NTC) einfach nutzen: Schritt-für-Schritt Arduino-Anleitung
- Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
- Arduino Nano Fingerabdruck-Sensor-Projekt – Schritt-für-Schritt-Tutorial
- Modbus auf Arduino meistern: Schritt-für-Schritt-Anleitung
- Mini-Klavier mit Arduino UNO bauen – Schritt-für-Schritt-Anleitung
- Arduino Einsteiger Tutorial #1: Erstes Projekt (Blink)