Sonntag, 5. Februar 2012, 00:46 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

nexus

LedStyles Newbie

1

Samstag, 7. März 2009, 13:57

7*7 LED Dotmatrix: Fragen

Moin zusammen,
da ich hier im Forum neu bin, möchte ich mich erstmal kurz vorstellen:
Ich heiße Hauke, bin 15 Jahre alt und gehe in die 10. Klasse eines Gymnasiums in der Nähe von Hannover. Ich habe vor ca. 5 Monaten angefangen, kleinere LED-Projekte zu basteln, um diese dann z.B. an Weihnachten zu verschenken. Die normalen LED-Schaltungen wurden mit der Zeit aber langweilig, weswegen ich dann im Internet nach schwierigeren Projekten gesucht habe. Ich bin dann auf dieses Forum und auf die Microcontroller gestoßen und habe direkt damit angefangen, mit den kleinen Wunderwerken zu arbeiten
:) . Nach einigen Wochen des Surfens und Ausprobierens möchte ich nun das erste Projekt anfangen, und zwar ein 7*7 LED Dotmatrix:

Ich habe zunächst einen Schaltplan entworfen:





1. Frage: Könnte das so klappen?

Wenn nicht, hat jemand Verbesserungsvorschläge oder gar eine neue Schaltung?

Wenn doch:
Um den Microcontroller zu programmieren muss ich ja Zeilen à la "&B00000000" entwerfen. Wie genau müssen sie aussehen, und welche 0/1 gehört zu welchem Port/Pin?


Wenn ich ein Bild programmieren will, das so aussieht:




angemalte Kreise leuchten

(1: PB0, PB2, PC1, PC3, PC4, PD0, PD2, PD4
0: PB1, PC0, PC2, PC5, PD1, PD3)

Wie müsste das Programm aussehen, und warum?




Ich weiß, einige Fragen dabei, da werdet ihr den Kopf schütteln, aber ihr wisst ja: Es gibt keine dummen Fragen, nur dumme Antworten
;) !


edit: shit, bilder schief :S
MfG nexus :thumbup:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nexus« (7. März 2009, 14:21)

  • Zum Seitenanfang

Pesi

Golden LedStyler

Beiträge: 6 280

Wohnort: Home of the Pope

Beruf: Mischling

2

Samstag, 7. März 2009, 15:03

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.
It's only light - but we like it!

Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Pesi« (7. März 2009, 15:11)

  • Zum Seitenanfang

nexus

LedStyles Newbie

3

Samstag, 7. März 2009, 15:46

ok, ich werd mir das mal anschauen, danke :thumbsup:
MfG nexus :thumbup:
  • Zum Seitenanfang

k2emitter

Profi LedStyler

4

Samstag, 7. März 2009, 16:20

Hey, nimm bitte nichtmehr die Schrift, die ist so komisch zu lesen...
Wie bringt man LEDs zum leuchten :?: Reihen + Parallelschaltung von LEDs :!: :led:
  • Zum Seitenanfang

nexus

LedStyles Newbie

5

Samstag, 7. März 2009, 16:54

alles klar :P


edit: ich habe gerade mal den schaltplan verbessert, werde den später nochmal hochladen und hier posten.
das mit der software hab ich aber immernoch nicht richtig verstanden, pesi, könntest du mir vielleicht mal den gesamten quelltext geben für das bild mit dem pfeil?
ich bisher nur soweit gekommen:

$regfile = "m8def.dat"
$crystal = 8000000

DDRB = &B1111111
DDRD = &B1111111

aber wie das genau funktioniert mit dem bild verstehe ich nicht so ganz ?(

wäre nett wenn mir jemand nochmal weiterhilft.





So, hier der neue Schaltplan:
Ist das so in Ordnung?
MfG nexus :thumbup:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nexus« (7. März 2009, 17:10)

  • Zum Seitenanfang

Pesi

Golden LedStyler

Beiträge: 6 280

Wohnort: Home of the Pope

Beruf: Mischling

6

Samstag, 7. März 2009, 17:12

Lies' Dir das alles noch mal genau durch, schlaf' ne Nacht drüber, lies' es Dir morgen noch mal durch - irgendwann geht Dir ein Licht auf, und das ist viel Besser, als wenn Dir das hier jemand vorseziert....

Dazu musst Du natürlich grundlegende Kenntnisse in Bascom haben, aber das ist ja nicht *hier* das Thema...

Tipp: wie schon gesagt, werden diese Bytes einfach der Reihe nach an den Spalten-Port ausgegeben, die Zeile wird pro Byte weitergeschaltet - und das immer wieder, so schnell, dass das Auge nicht mitkommt... das nennt sich "Multiplexen", informiere Dich doch da erst mal genau drüber... ;)
It's only light - but we like it!

Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!
  • Zum Seitenanfang