Hi, ich habe hier ein altes Gamepad mit USB-Anschluss. Dieses möchte ich dazu nutzen meinen Roboter zu steuern.
Den USB-Anschluss kann bzw. will ich nicht nutzen, da ich das Protokoll nicht kenne und ein reverse-engineering viel zu aufwendig bis kaum machbar ist. Daher möchte ich nur die Platine behalten auf der sich die Tasterkontakte befinden und mir ein eigenes Protokoll bzw. eigene Elektronik drumherum basteln.
Im Grunde befinden sich auf der Platine diese typischen Drucktaster. Das einfachste wäre die Taster als Pullup zu verschalten und dahinter dementsprechend ein Latch in Form eines D-FF's. Damit ich nicht soviele I/O's verschenke, hab ich mir noch überlegt hinter den Latches einen Multiplexer zu packen, sodass ich nur ein I/O Pin + Takt brauche + paar Pins für den Multiplexer zum ansteuern. Bzw. den Takt erzeuge ich mit einem 2. I/O Pin. Komischerweise ist der "Joystick" nicht als Poti ausgeführt, sondern für die Richtung Links, Rechts Oben Unten als Drucktaster ausgeführt.
Was mir grad einfällt, das ich extrem schnell abtasten muss, sodass mir kein Tastendruck entgeht.
Schaltung, siehe Anhang "Gamepad design"
Das Gamepad hat 12 Drucktaster, als D FF mit CLear Pin nehm ich zweimal den 74LS273 jeweils 8 Bit. Für den Multiplexer habe ich mir den 74HCT151 rausgesucht (8:1), kostet nur 20Cent.
Anschließend will ich per USART-Schnittstelle, abhängig davon welcher Taster gedrückt wurde ein entsprechendes ASCII Zeichen an den Roboter senden.
Was haltet ihr von der Schaltung, gibt es Einwände? Oder gibt es bessere Lösungen, Ideen? Vielleicht hat das jemand schon mal umgesetzt und hat wertvolle Tipps für mich
Grüße
Lesezeichen