viele led's mit einem Atmel ansteuern

Gast #258806
Lesenswert?

Hallo,
Für mein Schulprojekt muss ich 40 und evtl. mehr Rgb Led's ansteuern
können. Und da habe ich gleich an eine Art Matrix gedacht, diese kommt
aber für mich nicht in frage, da ich jede led einzeln ansteuern können
muss, und sobald da mehr als zwei led's leuchten würden, würden andere
unerwünschte led's mitleuchten.. deswegen frage ich hier einmal, welche
anderen Möglichkeiten ich sonst noch hätte?
Evtl. andere Controller oder so.. die ich mit einem Bus mit dem Atmel
verbinden kann, da habe ich nämlich so einen Chip aus einem alten
LCD-Display.... da schickt man eine Zahl hin, und dann wird an einem,
der zahl entsprechendem Pin, spannung angelegt...
Auf jeden Fall wäre ich für Vorschläge sehr dankbar.

Thx in advance
Gast #258810
Lesenswert?

ja, aber da wird doch led nach led eingeschaltet.. halt nur ganz schnell
hintereinader..
Bei einer Matrix ist es nämlich so, dass wenn ich zwei bestimmte Led's
leuchten lasse, dann leuchtet eine 3 unerwünschte automatisch auch mit,
und das darf bei meinem projekt nicht passieren..ich muss mehrer oder
gar alle leds gleichzeitig zur gleichen zeit leuchten lassen, und zwar
wirklich zur gleichen zeit..
#258811
Lesenswert?

Yep.
Ein Schieberegister must Du Dir wie Deine Ports vorstellen.
Nur kannst Du nicht jeden Pin 'direkt' erreichen.
Du taktest die Ausgabedaten durch. Bei jedem Takt wird
die komplette Belegung um eins weitergeschoben.

Ist so wie bei der Feuerwehr in den alten Tagen.
Die Maenner bilden eine Kette. Dem ersten drueckst
du einen gefuellten oder nicht gefuellten Eimer in die
Hand. Wenn Du ihm den naechsten Eimer gibt, dan gibt er zuerst
seinen an seinen Nachbarn weiter (der ebenfalls seinen an seinen
Nachbarn weitergibt, etc.). D.h. wenn du 40 Maenner hast
und dem ersten insgesamt 40 Eimer gegeben hast, dann hat jeder
einen. Auf Kommando drehen dann alle ihre Eimer um, und je nachdem
in welcher Reihenfolge du die gefuellten Eimer beim ersten Mann
eingespeist hast, entsteht am Boden ein tolles Muster aus
Wasserflecken.

So aehnlich halt, nur mit IC's :-)
#258813
Lesenswert?

@sucker (toller Name übrigens :P):

Klar kannst du mehrere gleichzeitig leuchten lassen... und das
prinzipiell sogar beliebig weit kaskadierbar...

Such dir mal ein Datenblatt von nem Schieberegister, das Prinzip sollte
dir (hoffentlich) klar sein. Du schiebst deine Daten erst rein, und wenn
alle eingetroffen sind übernimmst du die parallel an den Ausgang, das
HC595 kann das beispielsweise...
Gast #258814
Lesenswert?

kann mir da jemand ein beispiel dafür geben? bin auf der FOS und weis
noch nicht was ein schieberegister ist und wie das funktionier..
Aber wenn das geht, dann wäre das natürlich sehr sehr gut für mich
geeignet..

danke für die info!
Gast #258815
Lesenswert?

Du kannst das auch in einer Matrix machen. Dafür brauchst du dann 5x8
Ports pro Farbe. Du musst das dann Zeilenweise Ansteuern und das
schneller wie das Auge sehen kann also mit sagen wir mal 50Hz. Dann
kannst du auch Belibig LEDs ein und Ausschalten ich hab das irgendwann
mal mit einer 8x8 Matrix gemacht.
Gast #258816
Lesenswert?

das geht leider nicht:( weil ich vor habe etwas ähliches wie eine
litfassäule zu machen, da habe ich eine Spalte leds (20 Leds
untereinander) und diese Spalte wird dann 360° gedreht bei einer hohen
umbrehungszahl.
und deswegen müssen alle led's auch gleichzeitig, ohne geringe
verzögerung an und ausgehen, da sonst das bild verziehen würde wenn ich
die leds von oben nach unten leuchten lassen würde..
Gast #258822
Lesenswert?

Hi!

Ah ne Propeller Clock ;)
Bei meiner hängt an jedem Atmel Pin eine led die 15mA zieht.
Insgesamt ein wenig ausserhalb der Spezifikationen, aber
die Atmels sind ja sehr robust. ;D

Guck dir zb mal die ispf propellerclock an:
http://www.ispf.de/modules.php?name=News&file=article&sid=2
http://www.ispf.de/files/propellerclock/decoder_sch.gif
Dort werden 2 ULN2003 verwendet.

Sonst nimm halt kleine mosfets in sot23 Bauform (smd).

Oder such mal hier im Forum nach "propeller" dort findest du einige
Anregungen ;)
Gast #258823
Lesenswert?

Oder wie wärs mit einem IO-Expander?! Gibt welche mit 28Ausgängen die
direkt LEDs treiben können. Davon nimmst du halt 2.Angesteuert werden
diese entweder über I²C oder SPI.

Aber eine Matrix würde doch auch gehen.
Ich steuer damit 64 Leds.. naja ok sagen wir 32, da immer 2 in serie
sind... an :-)
Gast #258825
Lesenswert?

Hallo,

ich habe seiner Zeit HC595 Schieberegister verwendet.
Diese leuchteten so lange im alten muster, bis die neuen Daten
"durchgeschoben" waren, und dann vom Storage Register ins
Anzeigeregister "geschoben" wurden.
Als MC nutzte ich einen Mega8, denn der hat eine Hardware SPI.
So habe ich im Hintergrund die Daten in die HC`s geschoben,
während der AVR mit der Umdrehungsgeschwindigkeit und der
Spaltenzeitberechnung zu tun hatte.

Es gibt VHC595, die können pro Ausgang 20mAh treiben.
Das spart die Transistoren, bzw. das ULN.

Gruß Toby
Gast #258827
Lesenswert?

Hi,

suche mal unter "HC595" hier im Forum.
Du hast am AVR eine Datenleitung (MOSI), darüber gehen die Daten,
eine Taktleitung (SCK),
eine Enableleitung (Portpin von AVR, EN an HC595),
und dann noch Plus und Minus.

Also 5 Leitungen vom AVR zum Schiberegister.

Dann schreibst Du einfach 8 Bit ins SPI Register,
Enable Leitung einmal High/Low, und die Daten vom Storageregister
(Speicher der HC595) ins Anzeigeregister zu kopieren,
und die Ausgänge der HCs zeigen dein Bitmuster an, bis du neue Daten
ins HC schiebst.

Die Beschaltung findest du auch hier, schau mal unter "Hagens"
Schaltplan, der hat einwandfrei funktioniert.

Gruß Toby
Gast #258828
Lesenswert?

Hallo, danke für euere tollen Beiträge.
Ich denke ich nehme ein Schieberegister, matrix geht wirklich nicht..
aber das mit dem IO-expander hört sich auch gut an..

Habe da einen chip da, der hat 60 anschlüsse oder so, und bestitzt 7
pin  bus leitung.. über die man eine zahl übertragen kann, sodass dann
derjenige pin auf High geht.. Ist einer aus einem alten LCD display.

thx
Gast #258830
Lesenswert?

oh, na dann ist das nichts für micht. Dann nimm ich mal das
Schieberegister.
ich denke ich mache das so, dass ich 3 µcpus nehme (für jede Farbe
eine) und dann jeweils 5 Schieberegister anschließe.
ich muss ja dann jeweils für jede Farbe 40 bits hintereinander an die
Schieberegister ausgeben, wie lange (wie schnell) dauert das, bis alle
40 bits ausgegeben wurden, sodass alle Leds leuchten?
Gibt es auch Schieberegister die mehr als 8 bit haben?
16Bit zb?



danke
Gast #258831
Lesenswert?

Hallo,

beim Mega kannst du mit 1/2 des MCU Taktes die SPI Schnittstelle
nuten.
Ich hatte mit 4 Schieberegistern, 8 MHz MCU Takt, 720 Spalten pro
Umdrehung keine Probleme.

Probier es einfach mal aus.

Wie teilst Du den 3 Prozessoren mit, bzw. den 2 Anderen, was sie machen
sollen?
Ich hatte mal eine Idee, einen als Master laufen zu lassen,
der die Bilder hat.
Die anderen 2 als Slave, die nur die Leds treiben.

Gruß Toby
Gast #258833
Lesenswert?

^Hallo, mache grad auch sowas ähnliches.
Ich benutze da einen I2C LED Treiber, der kann je Modul 16Led's
treiben "PCA9532". Den gibt es als Dimmer und als Blinker.
Des weiteren kann man die PWM (Helligkeit) pro LED einstellen. Perfekt
also für RGB ansteuerung. Mit 3 Bausteinen (1Baustein pro Farbe) davon
kannst du das gesamte Farbspektrum abbilden
Gast #258834
Lesenswert?

Hey, das mit dem PCA9532 gefällt mir, kann ich da auch alle 16led's
gleichzeitig leuchten lassen?
Und da hätte ich gleich noch eine frage, nämlich: Wozu sind Latches
gut? Was ich rausbekommen habe ist: es sind transparente flip-flops,
wobei ich weis, dass filp-flops als speicher verwendet werden... Wozu
kann man diese Latches denn bei Schieberegistern verwenden, welchen
Zweck haben die?

danke
Gast #258835
Lesenswert?

Die Latches speichern die einmal eingeschriebene Information - siehe
Funktion des AdressLatchs  bei kombinieren AdressDatenbussen.

Die Latches HIER werden mit einem einzigen Datenbus parallel
beschrieben, aber nur eins per chip select aktiviert. Damit leuchten
die LEDS dauerhauft, während die auf dies Weise angesprochenen
LED-Maxtrix-Systeme immer blinken und hohe update-Raten benötigen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren