Arduino TLC5940 und 74HC595

Ich muss die Arduino Uno-Ausgabe erweitern. Nach einiger Suche habe ich 74HC595 identifiziert, um meinen Digitalausgang und TLC5940 für den Analogausgang zu erweitern.

Ich habe auch herausgefunden, wie man sie separat mit Arduino Uno verbindet:

TLC5940

74HC595

Diese beiden Setups teilen sich einige Pins, ich habe in diesem Thread gesehen , dass andere Leute sie zusammen verwenden, aber ich bin mir nicht sicher, wie ich sie mit meinem Arduino verbinden soll. Können Sie mir einen Hinweis geben?

Bibliotheken sind auch kompatibel?

Antworten (1)

Sie können sie zusammen verwenden. Beide Chips können über das SPI-Protokoll angesteuert werden.

Um Ihre Frage zu beantworten, müssen Sie zuerst SPI verstehen:

SPI verwendet 4 Datenleitungen. Sie werden in der Arduino-Welt normalerweise als MISO, MOSI, SCLK und CS (Chip Select) bezeichnet. MOSI steht für Master out - Slave in. MISO ist dann Master in - Slave out.

Sie müssen Ihre Geräte wie folgt verbinden:

Arduino   |  TLC5940   |  74HC595
MOSI (11) |  SIN (26)  |  DS (14)
SCLK (13) |  CLK (25)  |  SHCP (11)
9         |  XLAT (24) |  nothing
8         |  nothing   |  STCP (12)

Wenn Sie mehrere TLC5940-Chips gleichzeitig anschließen möchten, verdrahten Sie alle Verbindungen wie in der vorherigen Tabelle, aber verbinden Sie SOUT (17) des ersten Chips mit dem SIN (26) des nächsten. Sie verschieben dann doppelt so viele Bits und die Bits für das am weitesten entfernte Gerät müssen zuerst gehen.

MOSI -> [SIN … SOUT] -> [SIN … SOUT] -> ….

Wenn Sie mehr 595er benötigen, verbinden Sie den Q7S-Pin (9) auf die gleiche Weise mit dem DS (14) des nächsten Chips.

Das Folgende gilt dann für beide Chips, aber die Polaritäten können bei einigen anderen Geräten anders sein.

Wenn Sie die Polarität von SCLK von niedrigem (L) auf hohen (H) Logikpegel ändern, tasten beide Geräte den Dateneingang ab und verschieben ihn in das interne Register.

Sie verschieben also die erforderliche Anzahl von Bits, indem Sie den MOSI-Wert ändern und den SCLK-Pin durchlaufen.

Sobald Sie alle Daten eingegeben haben, ändern Sie die Polarität des entsprechenden CS von L auf H, um das interne Register auf die Ausgänge anzuwenden. Wenn Sie meiner Tabelle gefolgt sind, arbeiten Pin 8 als CS für den 595 und Pin 9 für den TLC5940.

Bibliotheken sollten funktionieren, es sei denn, sie verwenden eine Konfiguration, die intern nicht kompatibel ist (Timer, SPI-Setup ...). Sie müssen nur sicherstellen, dass Sie die Chip-Select-Pins richtig konfigurieren.

Die Details sind den Datenblättern zu entnehmen: