Arduino + TLC5940

Warum soll ich für den 1. Transistor einen anderen als den TIP121 nehmen, kann ich nicht alles mit dem TIP121 bauen? Wo ist der Unterschied zu dem BC337?

Schau sie dir z.B. bei Reichelt an: Wer was ist, kriegst du selbst raus.

Leistungstransistor 0,35 EUR
Ausführung:NPN-Darlington
Gehäuse:TO-220
Uces: 80 V
Ic: 5 A
Ptot: 65 W

Kleinleistungstransistor 0,04 EUR
Gehäuse TO-92
Ausführung NPN
Uces: 45 V
Ic: 500 mA
Ptot: 625 mW

Zwei TIP121 kannst du schon nehmen. Das ist wie mit einem 7.5t LKW Brötchen holen fahren. Geht nicht wirklich besser als mit einem 750 kg Polo. Aber es geht.

BC337 ist übrigens nur ein Beispiel. Kannst du durch *jeden NPN * Transistor ersetzen, der in deiner Bastelkiste rumfliegt. Einen BC337-40 kannst du auch an die 24V (statt 12V) anschließen, wenn du willst.

Wie schon michael_x sagte weilder BC337/40 kleiner und billiger ist. Du braucht beim 1. Transistor keine so hohe Verstärkung.
Der BC337 ist ein Standarttransistor mit guter Verstärkung und höherem Strom (500mA bzw 800mA je nach Datenblatt.)
Grüße Uwe

OK, schau ich also was mein händler um die ecke da hat damit ich es mal bauen kann.

wie siehts mit den Widerständen aus? alles mit 2,2k Ohm?

gruß

Hallo Liebe Community,

ich hoffe mein Problem passt hier in dieses Topic.
Ich versuche jetzt seit geraumer Zeit eine 7-Segment anzeige zum laufen/blinken zu bekommen. Dazu verwende ich den ebenfalls den TLC5940 in Verbindung mit dem Teensy 3.1 und der passenden Libary von folgender Homepage: Google Code Archive - Long-term storage for Google Code Project Hosting.

Zu meiner Problembeschreibung:

Ich will eigentlich nur dass Standardprogramm laufen lassen, indem die LED's, in meinem Fall die 7-Segmente in der Helligkeit varrieren und durchlaufen. Wenn ich versuche die Segmente mit dem Befehl Tlc.set() zu verändern hat das keinen Einfluss auf die Helligkeit, sprich egal welchen Wert ich einstelle (1-4095) die Segmente bleiben gleich dunkel. Nur wenn ich den befehl Tlc.setall() verwende kann ich die Helligkeit varrieren, aber eben nur von allen.

Zudem ist die Helligkeit bei Tlc.set(x, 4095) sehr dunkel, wobei bei Tlc.setall(4095) die Segmente kräftig leuchten, so wie es sein sollte.

Meine Verdrahtung hab ich auch schon einige Male kontrolliert und keinen Fehler finden können, so langsam bin ich am verzweifeln.

Ich hoffe Ihr könnt mir einen Tipp oder Hinweis geben.

Liebe Grüße

Schaltplan?
Sketch?

Nein, paßt nicht.
mach einen neuen Topic auf
Grüße Uwe

hi @ all,

bin grad heil froh den threat hier gefunden zu haben. passt grob zu meinem Problem.

Problem:

ich habe mehrere tlc 4059 verbunden (sout auf sin des folgenden). Jetzt fangen meine Problemchen an. ich weiss das ich die anzahl der Tlc`s in der config.h angeben muss, nur wie... einfach in die Default klammer einsetzen oder gibt's da n Geheimnis? denn einfach 1 löschen und 2 als Beispiel eingeben geht nicht. hab das Frage 2 dreht sich um die Ansteuerung der einzelnen ausgänge der tlc´s. set all steuert ja alle an clear macht alle aus, was aber wenn ich als Beispiel channel 2 vom 1. tlc ansprechen will?
für antwort danke ich im voraus!

gruß hawi

hi,

bitte einen link zur library, sonst bleibt nur die glaskugel...

gruß stefan

Was ist der tlc4059 für ein ic?
Ich finde niix darüber.

megapeinlich... tlc 5940

Was ist mit der Library?

library ist ist von github

hi,

beim beispiel BasicUse der library steht:

/* This loop will create a Knight Rider-like effect if you have LEDs plugged
into all the TLC outputs. NUM_TLCS is defined in "tlc_config.h" in the
library folder. After editing tlc_config.h for your setup, delete the
Tlc5940.o file to save the changes. */

schon probiert? falls es die gleiche library ist wie meine. kann grad nicht downloaden.

ich war verwirrt weil Du 4059 geschrieben hast...

gruß stefan

was meinst Du mit default klammer?

da steht
#define NUM_TLCS 1
drin, ausbessern auf mehr.

gruß stefan

Oh man, ich hab ein TLC_NUM zu früh geändert...(da ist ne Erklärung bevor es an die eigentliche Angabe geht)

( für jene die dies vielleicht auch noch interessiert es ist die config.h wo es geändert werden muss. )

Dank euch trotzdem erstmal Stefan und hotsystem, find klasse das ihr euch zeit für noobs wie mich nehmt :slight_smile:

bleibt also nur noch mein Problemchen mit dem einzeln ansteuern.
Wie gesagt, in den Beispielen sind immer abläufe zum ansteuern der channels oder alle an und aus drin... leider reicht das nicht für mein gutes stück.
Ich muss die channels einzeln ansprechen können.

Habt ihr dafür zufällig noch ne Idee ?

hi,

steht doch in den beispielen:

/* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
chained, then channel = 16 would be OUT0 of the second TLC, etc.).

gruß stefan

EDIT: ich nehme an, Du willst RGB-leds damit steuern. verwende doch sowas:

void setRGB(byte ledNumber, int valR, int valG, int valB) {
Tlc.set(ledNumber * 3, valR);
Tlc.set(ledNumber * 3 + 1, valG);
Tlc.set(ledNumber * 3 + 2, valB);
Tlc.update();
}

Moin,

ok, das muss ich mir dann glaub ich nochmal genauer anschauen um das exakt zu verstehen.

Nein, nicht ganz. Mein Plan ist 12 tlc´s zu daisy Chainen oder verketten. jedoch will ich die channels separat ansteuern können da ich eingangsseitig Sensoren dafür habe... also noch ein wenig Arbeit vor mir.

vielleicht hast du das Video auf YouTube schonmal gesehen

Hatte auch erst vor n Mega zu nehmen, kam mir stimmiger vor, bis ich auf die verschiedene Pinbelegung des Microcontrolers bekommen bin.

hi,

ok, video angesehen, vergiß das mit RGB.

ist aber ganz einfach:

an jeden TLC werden 16 LEDs angeschlossen, 12 TLCs werden verkettet.
Du hast also 192 LEDs.
diese LEDs haben dann die nummern 0 bis 191.
die erste LED ist am ersten TLC an out0 angeschlossen, sie wird also mit
Tlc.set(0, helligkeitswert 0 - 4095); angesprochen.
die dritte LED ist am ersten TLC an out2 angeschlossen:
Tlc.set(2, helligkeitswert 0 - 4095);
sechzehnte LED: erster TLC, out15:
Tlc.set(15, helligkeitswert 0 - 4095);
siebzehnte LED: zweiter TLC, out0:
Tlc.set(16, helligkeitswert 0 - 4095);
fünfzigste LED: vierter TLC, out1:
Tlc.set(49, helligkeitswert 0 - 4095);

gruß stefan

Mappe1.pdf (184 KB)

Super!!! Vielen dank erstmal für die Erleuchtung.

Ich wird mich heut abend mal dran setzen und dann auch Feedback geben ob es läuft... falls nicht folgen dann wohl weitere Fragen :d

bis dahin

gruss Hawi

Ich glaube nicht, daß ein Arduino-Ausgang 12 TLC Eingänge treiben kann. Du brauchst mehere Treiber.
Grüße Uwe