Autor |
leds an serieller schnittstelle |
|
|
|
|
BID = 149264
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
|
Hallo!
Ich hab ein Problem, mein Bruder wünscht sich so ein albernes Spiel als Platine nachgebaut. Das ist ja eigendlich kein Problem aber ich hab nur noch die serielle Schnittstelle frei und das Spiel hat 18 LEDs (9 Doppel-leds) es müssen also maximal 9 stück gleichzeitig leuchten. Lässt sich sowas machen?
Danke im vorraus!
dummer_schüler |
|
BID = 149307
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
|
Dazu eignet sich in diesem Fall die serielle Schnittstelle nicht, denn du müsstest die Daten erstmal wieder parallel-umwandeln.
Benutze den LPT, der sollte eigentlich auch frei sein, wenn nicht gerade ein Drucker dranhängt.
Da es sich um ein Spiel handelt, sollte es eigentlich gehen, während der Spielzeit den Drucker abzuklemmen.
Ansonsten brauchen wir aber noch andere Daten, und wie du das mit den 9 LED genau meinst, habe ich auch nicht ganz verstanden.
_________________
|
|
BID = 149369
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
Also ich will 9 Doppel LEDs benutzen also hab ich ja insgesammt 18 Eingänge und 9 Ausgänge.
Ich kann die parallele Schnittstelle nicht benutzen, da meine kaputt ist, ich hab einen bekannten gefragt der sich sehr mit sowas auskennt, der hat mir gesagt das er so eine ähnliche Platine bereits gesehen hat wo das mit schieberegistern gelöst wurde. Allerdings wusste er den genauen Aufbau nicht und ich hab noch nicht so viel Ahnung um sowas zu schaffen.
nochmal zusammengefasst:
ich will eine Platine erstellen mit 9 Doppel LEDs (=18 eingänge) die Leds sollen mit C über die Serielle Schnittstelle angesteuert werden.
Ich hoffe jezt ist mein Problem besser zu verstehn.
|
BID = 149650
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Natürlich kannst du das mit einem Schieberegister lösen, ist ja nicht schlimm.
Da musst du dann einfach mal bei Google oder im Forum suchen, da wird es schon was geben.
_________________
|
BID = 150146
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
danke für die antwort, ich hab schon sehr lange gegoogelt hab aber keine Lösung gefunden, die zu meinem Problem passt könnte mir jemand nen Tip geben wo ich eine Lösung finden kann? Ansätze währen auch schon sehr hilfreich.
|
BID = 150231
BlackLight Inventar
Beiträge: 5303
|
Hätte eine Idee, man braucht aber drei Leitungen: Daten, Takt und eine für das "Freigabesignal".
Freigabesignal auf 0,
per Daten und Taktleitung das/die Schieberegister füttern,
wenn alles drin ist "freigeben".
(Die D-Flipflops stellen das Schieberegister dar,
rechts das sind UND-Gatter.
Damit vermeidet man, daß evt. sinnloses Zeug beim füttern angezeigt wird.)
edit:
Hab beim "sauberzeichnen" einen Fehler gemacht, neues Bild kommt gleich.
edit2:
Je nach Bedarf die Schaltung nach unten erweitern.
edit3:
Die Pegel müsste man noch von ca ±12V auf 0/5V (je nach Logik-ICs) bringen
Bild eingefügt
[ Diese Nachricht wurde geändert von: BlackLight am 15 Jan 2005 0:32 ]
|
BID = 150480
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
Danke!!!!! Ich werd mir das mal genau angucken und vllt. mal simullieren falls man das irgendwie kann. Wenn jmd. noch ne andere idee hat immer her damit :)
|
BID = 150551
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
So habs mir mal alles genau durchgelesen!
FOlgende Fragen hab ich nun noch:
1. Die Pegel müsste man noch von ca ±12V auf 0/5V (je nach Logik-ICs) bringen
->Wie macht man das?
2.Welche Leitungen der seriellen Schnittstelle muss ich da jetzt benutzen?
und 3. Was für ein Baustein ist so ein Schieberegister?? Haben die eine genaue Bezeichnug?
|
BID = 150566
BlackLight Inventar
Beiträge: 5303
|
Zitat :
| 1. Die Pegel müsste man noch von ca ±12V auf 0/5V
->Wie macht man das? |
Wenn ich es richtig sehe, geht es mit dem IC MAX232
Zitat :
| 3. Was für ein Baustein ist so ein Schieberegister?? Haben die eine genaue Bezeichnug? |
Ich weiß sowas nicht auswendig, die bekommt man zum Beispiel hier. (das hier kann man evt. auch gebrauchen)
("Description" und "included" auswählen)
Dann nach einem "serial in, parallel out" shift register ausschau halten. (z.B. (74HC)164)
|
BID = 150575
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
gut danke dann such ich da morgen mal und was war mit 2tens??
2.Welche Leitungen der seriellen Schnittstelle muss ich da jetzt benutzen?
|
BID = 150623
Nukeman Schriftsteller
Beiträge: 754 Wohnort: bei Kleve
|
Hi,
zu 2.) das kannst Du dir selbst aussuchen! Da
die ser. Schnittstelle dann nicht im "normalen"
Asynchronbetrieb sondern synchron (mit Clocksignal) läuft,
musst du die jeweiligen Pins für Data, Clock und Freigabe
"von Hand" setzen und löschen.
Beispiel-Konfiguration:
Daten = TXD = Pin 3 DB9
Clock = RTS = Pin 7 DB9
Freigabe = DTR = Pin 4 DB9
Wie man die jeweiligen Portpins in C bedient weiss ich
momentan gerade auch nicht, aber das findest Du mit
Sicherheit im Internet.
Der MAX232 kann jedoch max. 2 RS232 Inputs nach TTL/CMOS
umsetzen, nicht 3.
Für die Komfort-Lösung mit Freigabe-Leitung brauchst Du
also 2 MAX232 oder einen einzelnen, anderen MAX-Typ
( z.B. MAX239).
Die Freigabe-Leitung könnte man auch weglassen, wenn man
die Bits schnell in die 74164 hinein taktet. Man wird
das "Durchrauschen" der Bits beim Update nicht bemerken.
Eleganter ist BlackLights Vorschlag allerdings schon.
Du brauchst also 3 Stück 74164, jeder gibt jeweils 8 Bit
aus.
-> ergibt ein 24-Bit Schieberegister, wenn man den Ausgang
QH des vorigen 74164 mit dem Eingang (A und B) des nächsten
verbindet.
Da Du nur 18 Bit davon brauchst, kannst Du QC..QH des
letzten 74164 unbeschaltet lassen und brauchst auch immer
nur 18 Bit in die Schaltung rein clocken.
Gruss,
Stefan
|
BID = 151010
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
cool danke für die ausführliche antwort!
Wie verbindet man die Schieberegister miteinander? Haben die dafür einen extra ausgang oder nimmt man den letzten?
|
BID = 151708
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
kennt sich damit niemand aus?? *wunder*
|
BID = 151730
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Wie wär's, wenn du dir mal selbst das Datenblatt zum '164 suchst ?
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 151912
dummer_schüler Gelegenheitsposter
Beiträge: 56
|
das ist mein problem wo findet man datenblätter? auf der seite die Black Light geschrieben hat find ichs nicht, wobei ich nicht behaupten will das ich nicht zu dumm zum suchen war und es da ist^^
|