hallo,
hab schon viel hier über ledmatrizen gelesen, bin aber immer noch nicht
wirklich schlauer.
ich will eine ledmatrix mit 4zeilen und 25spalten realisieren, wo jede
led einzeln angesteuert werden kann.
welchen mikrokontroller würdet ihr mir empfehlen (hab noch nen atmega8
und atmega32 da)
wie realisiert man es, das man mit den wenigen ports die man hat, alle
leds ansteuern kann? hab was von multiplexen und schieberegistern
gelesen, wenn jemand dazu ne beispiel schaltung hätte wäre das sehr
nett.
dann wäre noch die frage wegen den treiben? was würdet ihr mir da als
anfänger empfehlen?
brauch ich sonst noch was wichtiges?
programmieren ist bei mir nicht das problem, nur mit den schaltungen bin
eher unerfahren.
danke,
daniel p.
>wie realisiert man es, das man mit den wenigen ports die man hat, alle>leds ansteuern kann?LED-MatrixMultiplexen
Hast du die gelesen? Falls nein, tu es, falls ja, was konkret verstehst
du nicht?
>ich will eine ledmatrix mit 4zeilen und 25spalten realisieren, wo jede>led einzeln angesteuert werden kann.
Willst du die denn auch wirklich so beschalten? Dann bräuchtest du
nämlich 29 Pins für 100 LEDs, 20 wären aber auch möglich in 10x10
Beschaltung.
Bei 29 Pins reicht der Mega8 natürlich auch nicht mehr aus, solange man
nicht weitere ICs verwenden möchte.
>dann wäre noch die frage wegen den treiben? was würdet ihr mir da als>anfänger empfehlen?
Dann wäre da die Frage, wie viel Strom die LEDs ziehen (sollen
(dürfen)).
>brauch ich sonst noch was wichtiges?
Strombegrenzung für LEDs auf welche Art auch immer, ist wohl
selbstverständlich, als auch die Standardaussenbeschaltung des AVRs.
ok,
hab mich nochmal ein bisschen belesen und bin zu dem entschluss
gekommen, das mir das mit dem multiplexen zu kompliziert ist (wegen der
helligkeit, pulsströmen usw.)
also hab ich mich für die schieberegister entschieden.
das heißt wenn ich alles richtig verstanden hab brauch ich:
- 4 ports für die zeilen
- 4 schieberegister 8bit für die 25 spalten. und somit 3 ports,
richtig?
hab mich mal mit eagle versucht und einen kleinen ausschnitt gezeichnet.
ist die schaltung erstmal so richtig? bzw. überhaupt sinnvoll?
als treiber werd ich transistoren nehmen, welche würdet ihr mir
vorschlagen?
3.3V und 20mA pro Led.
und die letzte frage welchen 8bit schieberegister würdet ihr mir
empfehlen?
vielen dank,
daniel p.
@ daniel p. (Gast)
>hab mich nochmal ein bisschen belesen und bin zu dem entschluss>gekommen, das mir das mit dem multiplexen zu kompliziert ist (wegen der>helligkeit, pulsströmen usw.)
???
Deine Schatung ist immer noch eine LED-Matrix, die auch gemultiplext
werden muss.
> - 4 ports für die zeilen
Nöö, nur vier Bits. Ein Port hat normalerwise acht Bits.
> - 4 schieberegister 8bit für die 25 spalten. und somit 3 ports,> richtig?
Drei Bits.
>hab mich mal mit eagle versucht und einen kleinen ausschnitt gezeichnet.>ist die schaltung erstmal so richtig? bzw. überhaupt sinnvoll?
Ja, ist aber immer noch MUXING.
>als treiber werd ich transistoren nehmen, welche würdet ihr mir>vorschlagen?>3.3V und 20mA pro Led.BC337.
>und die letzte frage welchen 8bit schieberegister würdet ihr mir>empfehlen?74HC595.
AVR-Tutorial: Schieberegister
MFG
Falk
daniel p. wrote:
> ok,> hab mich nochmal ein bisschen belesen und bin zu dem entschluss> gekommen, das mir das mit dem multiplexen zu kompliziert ist (wegen der> helligkeit, pulsströmen usw.)>> also hab ich mich für die schieberegister entschieden.> [...]
Das ist drotzdem Multiplexing, die Schieberegister erweitern nur die
Ports des µCs. Kein Multiplexing wärs erst dann wenn jede Led ein
eigenen Ausgang am Schieberegister hätte.
ahhh... glaub jetzt hab ich das verstanden.
also würde das so ablaufen?:
1 takt: spalte 1 ausgeben
2 takt: (schieberegister eins weiter) spalte 2 ausgeben
3 takt: (schieberegister eins weiter) spalte 3 ausgeben
.
.
.
letzer takt: letzte spalte ausgeben
und dann wieder von vorn.
richtig?
@ daniel p. (Gast)
>also würde das so ablaufen?:
Nicht ganz.
Der grosse Zyklus läuft so.
1. Zeile 1 anzeigen
2. Zeile 2 anzeigen
3. Zeile 3 anzeigen
4. Zeile 4 anzeigen
5. Gehe zu 1.
Um eine Zeile anzuzeigen, musst du alle Bits seriell ins Schieberegister
laden (schieben).
1. letzte Spalte reinschieben
2. vorletzte Spalte reinschieben
....
25. erste Spalte reinschieben.
26. Daten vom Schieberegister ins Ausgangsregister übernehmen.
Siehe
AVR-Tutorial: Schieberegister
MFG
Falk
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.