Hi, willkommen,
na, da hast Du Dir ja schon ein paar Sachen überlegt - zum Plan erst mal:
Es ist nicht nötig, an die Zeilen UND Spalten Widerstände hinzumachen - entweder, oder - der Strom fliesst dann so&so auf jeden Fall durch einen Widerstand.
Ich würde mich auf jeden Fall auf 2 Ports beschränkenn, also z.B. Zeilen komplett an PortD und Spalten komplett an PortB, das macht die Software wesentlich einfacher als wenn das wüst über 3 Ports verstreut ist...
Das Ganze wird ja per Multiplexing angesteuert - bei 7x7 ist's egal ob über die Zeilen oder Spalten, würde es hier über die Zeilen machen, wegen besserer lesbarkeit der Daten.
Dann hast Du folgendes Problem: in einer Zeile können ja max. 7 LEDs an sein - bei 20 mA (mehr nimmt der Pin am Mega8 nicht auf) wären das noch 2,9 mA pro LED - zu wenig...
also müssen hier Transistoren rein, damit Du mehr Strom schalten kannst - die Vorwiderstände dann an die Spalten, wie für *eine* LED berechnen, in einer Spalte kann ja nur max. 1 LED zur selben Zeit an sein...Schau' Dir doch mal den unten verlinkten Plan dazu an - da sind zwar die Kathoden an den Zeilen, aber das ist ja egal - falls Du so ne "fertig-Matrix" mit Kathoden an den Spalten hast, musst Du die ja nur um 90° drehen...
zu den Daten: habe es nicht genau angesehen, aber ich würde das so organisieren, dass man im Speicher direkt das Bild sieht, also so in der Art (1 Byte pro Zeile, Bits sind die Spalten):
|
Quellcode
|
1
2
3
4
5
6
7
|
&B00001000
&B00011100
&B00101010
&B01001001
&B00001000
&B00001000
&B00001000
|
Wäre z.B. ein Pfeil nach oben..
Du musst dann nur diese Bytes an die Spalten ausgeben (LEDs dementsprechend anschliessen) und die Zeilen durchschalten...
Schau' Dir doch mal
diesen Thread an, da geht's auch um ne Matrix... ganz unten ist der Schaltplan drin
Das
Cube-Tutorial wäre auch hilfreich, ein Cube ist ja elektrisch gesehen auch nur ne Matrix, in dem Thread wird das Multiplexen ausführlich erklärt, da ist auch ein Bascom-Programm drin, das man leicht auf 7x7 abändern könnte.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Pesi« (7. März 2009, 15:11)