Hallo zusammen, ich muss in der Schule ein Projekt mit einer 8x8 LED-Matrix machen. Ich kenne mich mit Elektronik einiger maßen aus, hab aber von Mikrocontrollern keine Ahnung. Hat von euch evtl. jemand einen Schaltplan, wie ich das ganze Aufbauen muss? Wir müssen das ganze in der Schule selbst auf eine Platine fräsen, ist eigentlich auch kein Problem. Aber ich weiß eben nicht wie ich die Schaltung verwirklichen kann. Ich möchte das ganze gerne mit einem ATMega8 und einer fertigen 8x8 LED-Matrix machen. Ist das eine gute Lösung oder hat jemand einen besseren Vorschlag? Bin um jede Hilfe dankbar. Viele Grüße hermanntoast
bis jetzt hast du nur geschrieben das du eine 8x8 LED Matrix machen willst nimm 8 Leds kleb is auf eine platte und nochmal ein Tape für den Atmega v
hermanntoast schrieb: > hab aber von > Mikrocontrollern keine Ahnung. > warum willst du dann einen Mikrocontroller benutzen ? würde eine Schaltung z.B. mit 8bit Schieberegistern nicht genügen davon zwei Stück (einer steuert die Kathoden einer die Anoden der LEDs) dazu noch einen Timer z.B. NE555 damit kann man schon lustige LED spielereien realisieren (ganz ohne Prozessor) Gruss Uwe
> Ich möchte das ganze gerne mit einem ATMega8 und einer fertigen 8x8 > LED-Matrix machen. Ist das eine gute Lösung oder hat jemand einen > besseren Vorschlag? Laut meiner Recherche wird das ziemlich viel Code, wo du auch (am besten) mit Arrays arbeiten solltest. Wenn du für das Programmieren mind. 3 Monate (inkl. Einarbeitung) Zeit hast, würde ich das über den µC machen. Ansonsten probier einfach die zuvorherige vorgeschlagene Hardwaresteuerung. Weis auch nicht, ob dein Projekt eine Gewichtsbegrenzung haben soll (portabilität), sonst hätte ich auch eher die µC- Lösung vorgeschlagen. Mfg, tommyProg
hermanntoast schrieb: > ich muss in der Schule ein Projekt mit einer 8x8 LED-Matrix machen. Erzähl mal genauer, dann kann man auch genauer helfen. 8*8 reicht gerade mal, um einen einzelnen Buchstaben darzustellen. Als Treiber ist der MAX7219 geeignet.
:
Bearbeitet durch User
Peter Dannegger schrieb: > 8*8 reicht gerade mal, um einen einzelnen Buchstaben darzustellen. > Als Treiber ist der MAX7219 geeignet. Wohl kaum. Keine Ahnung von uC und dann gleich mit SPI anfangen ? 7-Segment auf ASCII umsetzen ? ULN2803, UDN2981, direkt ansteuern - einfach und billig.
Tho Wes schrieb: >> Ich möchte das ganze gerne mit einem ATMega8 und einer fertigen 8x8 >> LED-Matrix machen. Ist das eine gute Lösung oder hat jemand einen >> besseren Vorschlag? > > Laut meiner Recherche wird das ziemlich viel Code 'viel Code' ist zwar eine schwammige Aussage, aber so kann man das nicht stehen lassen. "Viel Code" geht anders. Hat man erst mal das Multiplexprinzip verstanden, dann ist das sogar ausgesprochen wenig Code, der eine Matrix antreibt.
hermanntoast schrieb: > Ich möchte das ganze gerne mit einem ATMega8 und einer fertigen 8x8 > LED-Matrix machen. LED Matrix die fertige Matrix nimmt dir ja nur das langweilige Löten der 64 LED in einem Gitter ab. Ansteuern musst du sie ja nach wie vor selbst.
Hallo, schon mal danke für die viele Antworten. Mein ziel ist es auf der Matrix verschiedene Bilder oder Buchstaben oder so darzustellen. Das Programmieren ist dabei auch nicht das Problem. Damit kenn ich mich sehr gut aus. Ich würde wirklich gerne einen andere elek. Schaltung in der Schule machen, aber die Themen wurden vorgeschrieben (auch mit Microcontroller!). Und wir haben auch bis Anfang/Mitte nächsten Jahres Zeit. Als Controller benutze ich auch gerne den MAX7219. Ist mir relativ egal :) Was ich jetzt aber noch bräuchte ist eine Zeichnung der Schaltung. Bin immer noch für alle Tipps dankbar!
Ein µC wie eine AVR Mega 8 ist schon in Ordnung, ein Mega88 wäre die modernere Version, wo man ggf. die Option für mehr Speicher hat. Einfach nur für die Darstellung reicht auch ein Mega48. Man hat auch genügend IO Pins, um ohne Schieberegister oder ähnliches auskommt. Es gibt da noch 2 Fragen zur gewünschten Funktion: 1) Was sollte dargestellt werden, also wo sollten die Daten herkommen ? Das könnte ein fester Wert sein, oder etwa eine Eingabe per UART, oder eine feste Zeichenfolge. 2) Wie hell muss es sein ? Danach richtet sich der nötige Strom. Wenn man es sich einfach macht, nimmt man etwa 10-20 mA für die Segmente: das können die Ausgänge des µC noch direkt treiben, und bei einem Programmfehler geht noch keine LED kaputt. Für die andere Seite der Matrix wird man wohl Treiber benötigen (sofern man über etwa 2,5 mA geht) - etwa ULN2803. Die Schaltung ist relativ einfach: ggf. Spannungsregler, der µC mit 2 mal 8 IO Leitungen + Vorwiderstände und das Treiber IC. Bei den IO Leitungen hat man ggf. die Wahl die Pins passend für eine einfaches Layout oder eine einfachere Programmierung zu wählen.
hermanntoast schrieb: > Was ich jetzt aber noch bräuchte ist eine Zeichnung der Schaltung. ( ISR MatrixPointer ) Byt0 Byt2 Byt4 Byt6 | | | | |Byt1 |Byt3 |Byt5 |Byt7 | | | | | | | | 8xRled \|/ | \|/ | \|/ | \|/ | _ \|/ \|/ \|/ \|/ bit 7 ----|___|--- x x x x x x x x U bit 6 ----|___|--- x x x x x x x x D bit 5 ----|___|--- x x x x x x x x N bit 4 ----|___|--- x x x x x x x x 2 bit 3 ----|___|--- x x x x x x x x 9 bit 2 ----|___|--- x x x x x x x x 8 bit 1 ----|___|--- x x x x x x x x 1 bit 0 ----|___|--- x x x x x x x x | | | | | | | | | | | | | | | | | | | | | | | | (ISR ColumnCnt) | | | | | | | | bit 0 ______________| | | | | | | | U bit 1 _________________| | | | | | | L bit 2 ____________________| | | | | | N bit 3 _______________________| | | | | 2 bit 4 __________________________| | | | 8 bit 5 _____________________________| | | 0 bit 6 ________________________________| | 3 bit 7 ___________________________________| Karl Heinz schrieb: > "Viel Code" geht anders. Hat man erst mal das Multiplexprinzip > verstanden, dann ist das sogar ausgesprochen wenig Code, der eine Matrix > antreibt. Ja. Nur eine Tabelle brauchst du, falls du ASCII zeigen willst, aber 64 ASCII und ein paar Sonderzeichen genugen vollkommen. 64 Zch * 8Byt = 512 Bytes im Flash. Von ASCII-Code 0x20 abziehen, Zeichen > 96 als ein einziges Sonderzeichen anzeigen. Wenn du internen Oszillator benutzst, hast du 2 Ports mit jeweils 8 bit frei, namlich PortB und PortD. Multiplex frequenz sollte nicht kleiner als 75Hz sein, also 8 Columns x 75Hz = mit etwa 600Hz multiplexen. Timer1 auf Clear Timer on Compare Match einstellen, bei jedem Interrupt: a) Wert aus deinem ByteArray auf UDN2981 ausgeben, Matrix Pointer erhohen, falls Pointer > 7, wieder auf Null setzen. b) ColumnCnt rechts rotieren, Wert auf ULN2803 ausgeben.
hermanntoast schrieb: > [...] aber die Themen wurden vorgeschrieben [...] Was ist denn das für eine Schule, die Themen vorschreibt und dann nicht wenigstens ansatzweise die Grundlagen vermittelt, die nötig sind, um sie zu bearbeiten?
Marc Vesely schrieb: > ULN2803, UDN2981, direkt ansteuern - einfach und billig. Viel mehr Lötaufwand. .. und was soll an der Max7219 Lösung teuer sein? Den gibt es komplett mit 8x8 Matrix und PCB für unter 2 Euro man kann davon auch problemlos mehrere Module aneinandereihen wenn man es möchte. und das bißchen Bitwackeln am Port ist auch nicht aufwändiger zu programmieren als eine Matrix anzusprechen.
Ro V. schrieb: > .. und was soll an der Max7219 Lösung teuer sein? Den gibt es komplett > mit 8x8 Matrix und PCB für unter 2 Euro man kann davon auch problemlos > mehrere Module aneinandereihen wenn man es möchte. Ich hab nicht gesagt das es teuer ist, sondern aufwendiger. Und eine LED Matrix selbst zu programmieren ist sicher nützlicher als MAX7219 zu benutzen, zumindest lernt man so wie multiplexen funktioniert. Es handelt sich hier um ein Schulprojekt...
Hallo, vielen dank für die ganzen Antworten. @lurchi: zu Frage 1: Ich möchte gerne Lauftexte oder kleine Muster darstellen. Es wäre toll wenn das ganze über einen RS232 Stecker laufen würde. Ich finde das am einfachsten um den Controller mit dem PC zu verbinden. Oder liege ich da falsch? zu Frage 2: Die LED's sollten gut zu sehen sein, aber nicht gleich kaputt gehen, darum tendiere ich wie du gesagt hast zu 10-20 mA. @logarithmus Schon mal ein guter Anfang. Danke
Der Weg über RS232 wäre sicher möglich. Man müsste das aber bei der Wahl der Pins berücksichtigen, damit man die HW UART nutzten kann. Software UART zum Empfangen ginge im Prinzip auch, ist aber im Vergleich zur Matrix schon recht kompliziert. Da lieber die Ausgabe auf 3 Ports verteilen. So etwas wie ein vorprogrammiertes Muster Ausgeben kann man immer noch machen - dafür braucht man keine extra HW.
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.