Forum: Mikrocontroller und Digitale Elektronik 40 LEDs steuern


von Loubna Metghari (Gast)


Lesenswert?

hallo alle,

ich habe die Aufgabe 40 Leds zu steuern, ich benutze einer der
µcontroller ATmega. ich möchte halt nicht so viel Ports vom µcontroller
benutzen, habe gedacht nur 5 Ports davon zu benutzen und die Led zu
multiplexern(1:8 Multiplexer). Die Led muss halt leuchtend bleiben, die
Multiplexer ändern ihr Ausgang.

wie mache ich es, die 40 Leds einzeln zu steurn ohne viel Ports vom
mcontroller zu benutzen, die geschaltete Led muss leuchtend bleiben.

danke im vorraus

von papa_of_t (Gast)


Lesenswert?

Hallo,

wie wär's mit Schieberegistern - da brauchst Du nur 2-3 Leitungen
(daten, clock, evtl. enable) und die LEDs sind nur inaktiv, während Du
das neue Muster 'reinschiebst.. ?

von Εrnst B. (ernst)


Lesenswert?

Multiplexen widerspricht grundsätzlich der Anforderung "die geschaltete
Led muss leuchtend bleiben".

Bleibt die Möglichkeit das über Schieberegister zu machen. sind dann
nur  3 uC Pins nötig, und 40/8=5 Schieberegister (74xx595).
Leds bleiben dann auch an, wenn der uC aus ist.

/Ernst

von johnny.m (Gast)


Lesenswert?

Mach das mit Schieberegistern und nicht mit Multiplexern. Brauchst im
Prinzip nur 5 8-Bit-Schieberegister seriell -> parallel mit
Tristate-Ausgängen (z.B. 74HCT595 müsste gehen). LED-Zustände seriell
ausgeben (1 Pin), Schiebetakt (noch ein Pin) und
Parallel-Ausgabe-Signal (Pin Nr. 3). Also 3 Pins für beliebig viele
LEDs.

Gruß

Johnny

P.S.: Von Philips gibts die CMOS-Bausteine 4794 und 4894. Die sind
speziell für so was vorgesehen. Ich hab aber momentan keine
Bezugsquelle parat.

von Loubna Metghari (Gast)


Lesenswert?

danke dir die Antwort, ich werde es auch probieren, ich habe noch nicht
viel Ahnung, das mit dem Schieberegister kann ich verstehen.

ich brauche halt dann 5 Schieberegister für 40 LEDs. vom µcontroller
hole ich nur die Datenleitungen, das ergibt 5 Ports, die Clockleitungen
für die 5 Schiberegister von einem Port, stimmt so?

vielen dank nochmal

von peter dannegger (Gast)


Lesenswert?

nimm den MAX7219


Peter

von Εrnst B. (ernst)


Lesenswert?

Die Schieberegister haben auch extra einen Daten-Ausgang, der sich
direkt zum Kaskadieren von mehereren SRs verwenden lässt.

Dann reichen drei pins: Clock, Data, und Load.

ist hier beschrieben:
http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI

/Ernst

von Loubna Metghari (Gast)


Lesenswert?

ok vielen dank
ich habe verstanden, ich probiere es aus
schön gruß

von johnny.m (Gast)


Lesenswert?

Du brauchst nur EINE Datenleitung. Die Schieberegister sind kaskadierbar
(beim 595er den Anschluss Q7' auf den Daten-Eingang DS des jeweils
nächsten Schieberegisters legen). Kannst im Prinzip beliebig viele
hintereinander schalten. 5 8-Bit-Schieberegister hintereinander -> 40
Parallel-Ausgänge.

von alex (Gast)


Lesenswert?

lassen sich die schieberegister eigentlich auch über die SPI
Schnittstelle laden?? das würde sich dann einfach programmieren
lassen....
Einfach Daten in einem Array speichern, und per spi rausschieben,
danach kurz an load wackeln...

von crazy horse (Gast)


Lesenswert?

genauso wirds idealerweise gemacht...:-)

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
Noch kein Account? Hier anmelden.