Forum: Mikrocontroller und Digitale Elektronik 13 LEDs über RS232 ansteuern


von Kristoffer B. (nordlicht2010)


Lesenswert?

Hallo liebe Forums-Gemeinde,

ich als blutiger Elektronik-Anfänger plane ein erstes Projekt, bei der 
ich Hilfe brauche. Ich habe mich schon Nächte lang im Netz 
herumgetrieben, wobei mir einiges klarer geworden ist. Allerdings bleibt 
einiges ein wenig nebulös.
Ich habe folgendes vor:

Ich habe eine Weltkarte (ca. 1m x 0,6m), auf der ich 13 rote LEDs 
verteilen möchte. Diese würde ich gerne einzeln über meinen PC 
ansteuern. D.h. ich möchte sie an und ausschalten können sowie ggfs. 
auch zum blinken bringen. Mein Rechner verfügt über eine 9-polige 
serielle RS232 Schnittstelle. Technisch ist das alles machbar, wie ich 
gelesen habe.
Aber welche Teile brauche ich dafür? Bei Conrad habe ich bereits 
Relaiskarten gefunden. Die meisten, die den Preisrahmen nicht sprengen 
würden, haben allerdings nur 8 Relais. Heißt das, dass ich mit solch 
einer Karte nur 8 LED direkt ansteuern kann? Oder könnte ich so eine 
Karte benutzen und diese via Demultplexverfahren auch 13 LEDs ansteuern? 
Wenn ja, wie funktioniert sowas und welche zusätzlichen Bauteile brauche 
ich?
Angemerkt sei noch, dass ich Linux-Nutzer (Debian/ Ubuntu) bin. Über die 
Programmierung eines Programms sei hier mal drüber hinweggesehen.

Ich bin dankbar für jede Hilfe.

von Testfall (Gast)


Lesenswert?

Relais kannst du vergessen, wenn du multiplexen willst. Viel zu lahm. 
Nimm' am besten einen Mikrocontroller mit UART. Der steuert dann die 
LEDs an. Oder Du nimmst nen Schieberegister und nen MAX 232 der die 
Daten vom UART des PC ins Schieberegister schiebt. Müsste irgendwie 
klappen :-)

von Timo B. (spida)


Lesenswert?

Ich würde einen kleinen mikrocontroller (avr8 Architektur, wie zB Atmel 
Mega 88) und einen Multiplexer wie den Max 7219 nehmen. Wenn Du statt 
seriell usb nimmst (zB mit dem Software USB Stack von 
http://www.obdev.at/products/vusb/index.html ) kannst Du Dir den 
zusätzlichen Pegelwandler (wie zB max 2232) sparen, und kriegst 
zusaetzlich auch noch Strom.

von MaWin (Gast)


Lesenswert?

Es gibt mehrere Möglichkeiten

Ein echtes serielles Protokoll fahren.
Dauz braucht man einen UART als Empfänger.
Das kann man mit fertigen Bausteinen machen,
wie es dieses Buch am Ende, von MAX232,
AY-5 und CD4060 die Rede ist:
http://www.docstoc.com/docs/713410/Serial-communication-%28UART-using-C%29
http://www.beyondlogic.org/serial/serial1.htm#44
du brauchst 2 davon (weil einer nur 8 Ausgänge hat)

aber man macht es heute moderner in dem man
einen Microcontroller mit eingebautem UART
einsetzt. Den MAX232 wird man trotzdem einsetzen,
einen Quartz braucht man auch, und man muss
diesen uC (der zumindest 16 I/O Eingang/Ausgang
Anschlüssen haben muss damit deine 13 LEDs
dranpassen leider programmieren.

         +------------+-----5V Spannungsregler----- 9V Steckernetztteil?
         |            |
RS232--MAX232--Microcontroller--Vorwiderstand--|>|-- Masse
                 |         |
                 +--Quartz-+

Eine fertige Platine mit 13 Ausgängen ist mir leider
unbekannt.

Also gibt es die andere Möglichkeit, bei der man
die Intelligenz und das Programm in den PC verlagert,
der sendet dann gar nicht seriell, sondern bedient
die Kontakte der serillen direkt durch ein- und
ausschalten.

Extern tut es dann ein Schieberegister wie 74HC595,
und als Pegelwandler tun es simple Vorwiderstände,
aber solche Schaltungen funktionieren vielleicht
nicht mehr wenn man USB->Seriell Adapter verwendet.

Daher bietet sich an, USB direkt zu verwenden, mit
einem FTDI Chip im bit bang Modus:

Hier mit 4 LEDs:
http://www.dlpdesign.com/images/bit-bang-usb.pdf

Ein fertiges Beispiel mit 2 angehängten 74HC595
für (mis zu 16) LEDs hab ich leider nicht.

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.