Go Down

Topic: Arduino + TLC5940 (Read 10260 times) previous topic - next topic

daMeier

Hallo,

Ich Versuch seit Tagen mit einem Arduino UNO, Mega und Nano mittels eines TLC5940 mehrere LEDs zu steuern.

In meinem Testaufbau, habe ich erstmal nur 1 LED angeschlossen. Einmal geht das ganze UNO Board aus, sobald ich 5v einstecke, einmal flackert die 1 LED wie Wild, sobald der USB Anschluss mit dem Laptop verbunden ist, wenn ich den USB Anschluss herausziehe, und den Arduino mit Netzteil betreibe, leuchtet die LED mit voller Intensität.

Bin wirklich verzweifelt, denke ich habe alles mehrfach, richtig umgebaut.

Im Anhang 2 Fotos, von der Mega Schaltung. Ist sicher nicht viel zu sehen, aber vielleicht habt ihr noch eine Idee, nen Tipp, oder nen Link der mir weiterhelfen kann.

Danke, Gruß daMeier


uwefed

Welchen Wert hat der grüne Widerstand?
Grüße Uwe

daMeier

Hallo,

wurde als 2000 oder 2k von mir gekauft, darauf steht 2k2 5% 5W


uwefed

das ist richtig.
Ich weiß dann nicht was der Fehler sein könnte. Kannst DU ein Foto machen wo man die Verdratung sieht (wo die einzelnen Kabel am TLC hingehen)
Grüße Uwe

daMeier

hallo,

ja aber leider erste heute Nachmittag, fahr jetzt Arbeiten, melde mich dann wieder.

gruß und danke!

daMeier

Hey,

vieleicht liegt es aber auch an meinem Code.

Wie müssten den ein gaaanz einfacher Code der nur bsp. Channel 3 auf volle helligkeitsstufe einschaltet aussehn?

Habe leider meinen Test Code nicht hier sonst würde ich ihn mal dazu posten.

gruß

uwefed

Der Code kann keinen Kurzschluß erzeugen. Da liegt sicher eine Fehlbeschaltung vor.
grüße Uwe

daMeier

Hallo,

Stimmt, aber bei der Mega Variante vom Bild war es so, dass alles unkontrolliert geblinkt hat, wenn USB eingesteckt war und wenn nur Strom eingesteckt war, hat die LED Vollgas geleuchtet.


Eisebaer

hi,

hier eine sehr gute anleitung im playground.

http://arduino.cc/playground/Learning/TLC5940

ausprobiert, funktioniert.

gruß stefan

daMeier

Servus,

falsche Taste, jetzt darf ich alles wieder Tippen.

Ich habe folgenden Aufbau noch einmal gemacht.

Arduino Mega 2560
TLC5940
1 Blaue LED
12V Stromversorgung

Ich habe den Arduino Mega wie in Bild 1 mit dem TLC und den TLC mit der LED verbunden. Außerdem habe ich wie in Bild 2 die anderen Anschlüsse des Megas im vergleich zum UNO verwendet.

Ich habe alles neu zusammen gesteckt und 5 mal Kontrolliert, es sollte so also stimmen.

Als "Programm Code" habe ich folgendes auf den Arduino geladen.

Die LED blinkt ab und an, mehr nicht.

Liegt es an meiner Schaltung oder an meinem Code? Ich tendiere zum Code, ich weiß er ist sehr spartanisch, aber ich möchte gerade einfach nur verstehen wie es geht und was die befehle sind.

Vielen dank für eure Hilfe.

__________________________
#include "Tlc5940.h"

void setup()
{
 Tlc.init();
}

void loop()
{
 Tlc.clear();
 Tlc.setAll(4095);
 Tlc.update();
 delay(100000);
}
____________

daMeier

@ Eisebaer

An dieser Anleitung hatte ich mich orientier, einziger Unterschied, ich habe nur 1 LED verbaut,


Eisebaer

hi,

wenn ich das richtig sehe, hast Du die analogen pins (am foto links) genommen. Du mußt aber die PWM-pins mit der gleichen nummer auf der rechten seite nehmen, wenn ich mich recht erinnere. also 9, 11, 12 mit PWM.

gruß stefan

daMeier

Hey,

suuper! das ist mir garnicht aufgefallen! hab ich gleich mal geändert und den Code habe ich wie folgt geändert.

Was sagst du/ihr zu dem Code? Es passiert so garnichts, eben ging wenigstens nach einer ewigkeit die LED an, jetzt passiert garnichts. Habe ich irgendeinen denkfehler im Code noch?

______________________________
#include "Tlc5940.h"

void setup()
{
  Tlc.init();
}

void loop()
{
  Tlc.clear();
  Tlc.setAll(4095);
  delay(1000);
  Tlc.setAll(0);
  delay(1000);
  Tlc.update();
}
____________________________________

luus

Hi,
also damit Daten an den TLC gesendet werden muss die update Funktion aufgerufen werden. sonst läuft das nur intern im Arduino.

Code: [Select]
#include "Tlc5940.h"

void setup()
{
  Tlc.init();
}

void loop()
{
  Tlc.clear();
  Tlc.setAll(4095);
  Tlc.update();
  delay(1000);
  Tlc.setAll(0);
  Tlc.update();
  delay(1000);
}


daMeier

Ahhhh......

Ich muss also nach jedem Befehl Tlc.update eingeben, dachte nur einmal am Schluss, was ein Aufwand zum Programmieren.

Aber jetzt geht's, Super, danke! Manchmal ist man einfach blind vor Verzweiflung!

Jetzt noch 2 Fragen.

- die LED Intensität wird von 0 - 4095 eingestellt. (Ist das richtig und fix?)
- kann man das irgendwie in RGB Werte umrechnen um Farben aus der RGB Farbpalette mit RGB LEDs zu mischen?

Gruß

Go Up