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
hallo, kann ich damit auch mehrer Led's gleichzeitig leuchten lassen? dh. wirklich nicht hintereinander, sondern wirklich zur gleichen zeit?
wo liegt das problem bei einer Matrix? macht doch ein LC Diplay genau das gleiche Prinzip!
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..
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 :-)
Oh. Ich vergass. Das weiterschieben geht in einem Schieberegister natuerlich ohne dass man es an den Ausgaengen sieht. Die Ausgaenge behalten ihren alten Zustand bis der Befehl zur Uebernahme aus der Schiebekette kommt.
@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...
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!
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.
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..
(Gibts eigentl. nen Schieberegister dessen 8 Ausgänge ich mit 20mA belasten kann, allerdings bei allen Ports gleichzeitig ?)
@sucker: Wie wär's denn mit mehreren µCs? Wenn du 120 IOs brauchst, dann könntest du ja z.B. 3 ATmega64 (Einen pro Farbe z.B.) verwenden, die haben je 53 IOs. Und dann über irgendeine Schnittstelle die Komm regeln. Kostet aber ordentlich Geld nehm' ich mal an.
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 ;)
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 :-)
Sollen die virtuellen Lichtpunkte auch noch in der Helligkeit variert werden können ? (mehr als 8 Farben)
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
Wie geht das mit dem SPI? kann ich das direkt mir dem Schieberegister verbinden?
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
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
sowas nennt sich multiplexer wenn ich mich nicht irre. mit sowas kannst du aber nur einen aus den 60 leds ansteuern.
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
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
Guckst Du hier: http://home.arcor.de/juergen.schuhmacher/eaglesevensegboard.html Geht auch für normale LEDS!
^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
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.