Hallo!
Mein Vorschlag wäre: dafür einen 8-bit Schieberegister 74XX166 verwenden und durch "/PE" gespeicherte D0-D7 seriell per 2 Pins "CP" und "D7" einlesen. Für mehr Bits kann man die Schieberegister kaskadieren.![]()
Hallo!
Mein Vorschlag wäre: dafür einen 8-bit Schieberegister 74XX166 verwenden und durch "/PE" gespeicherte D0-D7 seriell per 2 Pins "CP" und "D7" einlesen. Für mehr Bits kann man die Schieberegister kaskadieren.![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Hey,
an ein Schieberegister hatte ich auch erst gedacht, aber ich hatte diese in Errinnerung die einen seriellen Eingang und mehere paralelle Ausgänge haben.
Das ist eine gute Idee und vielen Dank für den passenden Typ, mit 8 Eingängen und einem seriellen Ausgang spare ich mir den Multiplexer. So ein Schieberegister besteht ja auch nur aus D-FFs.
Ich werde mir zwei solcher Bausteine besorgen und zunächst mit dieser Variante versuchen.
Hast du zufällig einen solchen Baustein in deiner Bastelkiste? Dann brauch ich nicht extra wegen einem Baustein im Internet bestellen.
Grüße
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Schade,
den 166-er konnte ich bei csd nicht finden, nehme stattdessen den 165 er, der sollte auch gehen, der hat noch einen zusätzlichen seriellen Eingang + invertierten Ausgang.
Werde mal im Kaufen Forum nachfragen ob den jemand hat und eventuell gegen etwas tauschen würde.
Grüße
Ich habe bei mir noch zwei 74LS166 gefunden, sonst geht der 165-er genauso.![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Huhu,
es tut sich was
Die Taster des Steuerkreuzes kann ich schon mal abfragen. Hab nen kurzes Video gemacht.
Sobald Taster "Up" betätigt wird, blinkt die LED einmal. Bei "Right" zweimal, "Left" dreimal und bei betätigen der "Down"-Taste viermal.
Vielleicht ein paar kurze Wort zum Video. Auf der linken Seite sieht man das modifizierte Steuerkreuz des Gamepads. Auf dem Steckbrett befindet sich oben der 166er und dadrunter der Attiny2313. Zu Abfrage der Taster benötigt der 166 nur zwei Pins, ein Takt-und der ein Shift/*Load-Eingang.
Bei Shift/*Load=0 werden die anliegen Pegel "gespeichert" im Datenblatt als Load bezeichnet. Sobal der Pegel wieder auf High ist, befindet sich der 166 im Shift Modus. Nun können die Bits per Takteingang geshiftet werden. Die geshifteten Bits können anschließend am QH Ausgang abgefragt werden. Wichtig ist zu wissen das nach dem "Load" Vorgang der anliegende Pegel am H-Eingang schon am Ausgang QH anlieget, dieses Bit muss man vor dem Shiftenabfragen, da es ansosnten verloren geht.
Die Taster werden alle 60ms abgefragt, ich denke das sollte reichen um jeden Tastendruck zu regestrieren. Software ist noch nicht optimal aber für die ersten Tests reicht es. Notfalls werde ich zur Sicherheit die Taster mehrmals abfragen, so das ich sicher sein kann das die Pegel gültig sind.
Hatte rein aus Neugier die Taster als Pulldown verschaltet um den Stromverbauch zu testen. Bei TTL ist es nicht sinvoll ist, wenn das ganze später Batterie betrieben wird, aufgrund des erhöhten Stromverbrauches im Ruhezustand. Hatte zuerst einen sehr großen Pulldown mit 10k genommen, gemessen habe ich 0,36V und das hat der 166er schon als high erkannt? Das habe ich noch nicht so ganz verstanden, laut Datenblatt liegt der max. Low-Pegel bei 0,8V. Werds nochmal nachmessen, den ich vermute das es ne höhere Spannung am Pulldown abfallen muss. Die Pullup-Version funktioniert zumindest.
Der nächste Schritt wird die Kaskadierung zweier 166er, sodass ich alle Taster abfragen kann.
In der Schaltung fehlt noch eine ganze Menge. Ein Schalter zum einschalten des Joypads, die Spannungserzeugung, Bluetooth-Modul zur kabellosen Übertragung und das dazugehörige Übertragungsprotokoll. Demnächst folgt der neue Stand.
Für denjenigen, der sich mit dem 74LS166 auseinandersetzen muss bzw. sich für den Code interessiert, findet diesen im Anhang für den Attiny2313 und den dazugehörigen Schaltplan.
Grüße
Lesezeichen