13 LEDs über RS232 ansteuern

OP #1763687
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.
Gast #1763690
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 :-)
Gast #1763711
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren