In diesem Beitrag geht es um die Verkabelung der fünf Arcade-Knöpfe die ich am Spielzeug Roboter angebracht habe. Ich habe mir hierfür ein Board mit einem MCP23017 Chip und Stiftleisten für die 16 Ein-/ Ausgänge gekauft. Ein solches Board reicht um die fünf Knöpfe und einen Joystick anzuschließen. Das besondere an dem MCP23017 Chip ist, dass er über eine I2C Schnittstelle verfügt. So ist das Board recht einfach mit dem Raspberry Pi verbunden und die einzelnen GPIO Pins können ausgelesen bzw. gesetzt werden.

Das von mir verwendete Board sieht wie folgt aus.

Raspberry Pi MCP23017 port expander

Raspberry Pi MCP23017 port expander

Arcade Anschlussplatine

Für den Anschluss der Knöpfe und des Joysticks habe ich mir eine eigene kleine Platine gebaut. Auf dieser sind für jeden der 16 Anschlüsse des MCP23017 Boards entsprechende Anschlüsse vorgesehen für die Kontakte der Schalter. Abgesichert habe ich die Schaltung mit Widerständen.

Kurze Eerklärung der Schaltung:

  • Die Buttons / Schalter oder auch der Joystick wird mit den Kontakten die ich mit “Arcade Buttons” beschriftet habe verbunden.
  • Der Ausgang des Schalter wird mit Ground (GND) verbunden. Wenn jetzt der Schalter bertätigt wird, fällt die Spannung ab und das Signal wird LOW.
  • Der MCP23017 Chip wird dann mit dem jeweiligen Kontakt unter dem Anschluss des Schalters verbunden.

Mit diesem Schaltungsaufbau ist es dann möglich mit einem Python Programm den Zustand von HIGH / LOW des Schalter auszulesen. Eine Entsprechende Erklärung mit einem Beispielprogramm zu dem MCP23017 Chip habe ich unter dem folgenden Post verfasst und veröffentlicht: Raspberry Pi – MCP23017 Bidirektionaler 16-Bit I/O Expander mit I2C Bus

Das nachfolgende Bild zeigt das Board sowie die verbauten Widerstände.

Toy robot control panel board

Toy robot control panel board

Ich habe die Anschlussplatine für die Knöpfe auf der Rückseite des Bedienelementes des Kinder Roboters befestigt. Neben die Anschlussplatine habe ich noch das MCP23017 Board befestigt. So sind die beiden Platinen nahe beieinander und die Anschlüsse der Knöpfe auch nicht weit entfernt.

Das folgende Bild zeigt die Rückseite mit der Verkabelung und den beiden Boards.

Toy robot control panel arcade buttons connections

Toy robot control panel arcade buttons connections

Die folgende Nahaufnahme zeigt die Anschlussplatine an der die fünf Arcade Buttons angeschlossen sind sowie rechts die kleine MCP23017 Platine. Diese ist über den I2C Bus an den Raspberry Pi angeschlossen.

Hinweis:

Als Spannung für die Schaltung verwende ich 5,0V statt den 3,3V des Raspberry Pi. So habe ich zwischen I2C Bus des Raspberry Pi und dieser Schaltung noch einen I2C Level-Shifter verbaut der einen Pegelangelich vornimmt.

Toy robot control panel back electronic

Toy robot control panel back electronic

Nach dem ich alle Kabel befestigt hatte und ein kleines Python Programm geschrieben hatte zum Auslesen der Schaltzustände des Knöpfe folgte der erste Test. Ich habe noch hinter jeden Button einen Sound-Effekt gelegt damit man auch hört ob alles funktioniert.

Video

Das Video zeigt die Funktionsweise der Knöpfe. Die Sound Effekte hatte ich eingebunden damit wenigstens eine Reaktion auf der drücken der Knöpfe wahrgenommen werden kann.

Zusammenfassung

Da ich mich schon vor einiger Zeit mit dem MCP23017 Chip beschäftigt hatte musste ich diesen jetzt nur noch in den Roboter einbauen. Das vorhandene Basis Programm das ich in Python geschrieben hatte passte ich noch soweit an, dass es auf den Schaltzustand der fünf Knöpfe mit dem Abspielen eines Soundfiles reagierte. Am längsten hat das Löten der Anschlussplatine gedauert sowie die Verkabelung der Buttons. Da war ich sicher zwei bis drei Stunden beschäftigt.


Artikelübersicht - Kinder Roboter:

Raspberry Pi Kinder Roboter - Einführung
Raspberry Pi Kinder Roboter – Körper
Raspberry Pi Kinder Roboter - Teil 1 Roboter - Arme
Raspberry Pi Kinder Roboter - Teil 2 Roboter - Arme
Raspberry Pi Kinder Roboter – Teil 1 Kopf
Raspberry Pi Kinder Roboter – Teil 2 Kopf
Raspberry Pi Kinder Roboter – Teil 1 Ausstattung
Raspberry Pi Kinder Roboter – Teil 2 Ausstattung
Raspberry Pi Kinder Roboter - Steuereinheit Teil 1
Raspberry Pi Kinder Roboter – Steuereinheit Teil 2
Raspberry Pi Kinder Roboter – Steuereinheit Teil 3 Joystick
Raspberry Pi Kinder Roboter – Gestaltung des Körpers

(Visited 806 times, 1 visits today)