Wii-Nunchuk am Ping-Pong

von Piotr Platek

Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller


 

Der Beitrag beschreibt als Retro-Idee, wie die Pong-Platine mit dem Wii-Nunchuk-Kontroller verbunden werden kann. Diese Verbindung ist relativ einfach umzusetzen, dank der I2C/TWI-Schnittstelle, die beide Geräte besitzen.

I²C wird als I-Quadrat-C gesprochen und definiert einen Standard für eine serielle Master-Slave-Daten-Bus Kommunikation. Der Name „I²C" steht für Inter-Integrated Circuit. Diese Schnittstelle wurde von Philips entwickelt und wird häufig verwendet, um verschiedene Peripherieschaltungen mit einem Haupt-µ-Controller mit geringer Übertragungsgeschwindigkeit (bis 400 kbit/s) verbinden zu können. Obwohl der Name I²C selbst kein eingetragenes Markenzeichen von Philips/NXP Semiconductors ist, verwenden viele Hersteller die Bezeichnung TWI „Two-Wire Interface" (! nur das Logo ist nicht frei). Hinter beiden Namen: TWI und I²C verbirgt sich aber ein und derselbe Standard.

Den Nunchuk-Kontroller habe ich nicht grundlos ausgewählt. Dieses kompakte Gerät bietet für Steuerungszwecke viele interessante Funktionen. Es verfügt über einen Analog-Joystick, zwei Tasten und Beschleunigungssensoren. Für einen µ-Controller bzw. für unsere Pong-Platine stehen die Ausgabedaten der Sensoren (welche die Bewegungen des Nunchuks oder Joystick registrieren) schon in einer digitalisierten Form über die TWI-Schnitstelle zur Verfügung. Für den Status der zwei Tasten, des Joysticks und des 3-Achsen-Bewegungssensors werden nur zwei digitale Pins des Atmega8s genutzt und das ganze ist inklusive eines tollen Gehäuses für unter 15 € zu kaufen. Das ist weniger als für eine entsprechende Einzelbeschleunigungsschaltung.

 
Der I2C Pegelwandler
Leider ist die Welt nicht perfekt, und es gibt ein kleines Hindernis zu überwinden. Die Pong-Platine wird mit 4,5-5 V betrieben und der Nunchuk-Kontroller aber nur mit 3,3 V. Auf vielen Internet-Seiten wird zwar bestätigt, dass der Kontroller auch mit 5V arbeiten kann, aber aus meiner Sicht ist das nicht zu empfehlen, insbesondere, da der Hersteller des Beschleunigungssensors (im Nunchuk) für die Schaltung LIS3L02AL1) (das Herz des Geräts) nur eine Betriebsspannung von 2,4 bis 3,6 V vorgesehen hat. Es gibt viele Lösungen von einfachen Pull-Up-Widerständen bis hin zu integrierten Schaltungen. Hier werde ich eine Lösung 2) des I2C-Entwicklers (Philips/ NXP Semiconductors) bevorzugen, die in der „Application Note" AN97055 als ein bidirektionaler Pegelwandler 5V/3,3 V für I2C-Systeme veröffentlicht wurde. Diese Lösung habe ich hier mit entsprechenden Elementen und einem Spannungsregler in der Leitung dargestellt.

 

 


 
Download: 1003PingPong Wii.zip   pongwii.pdf 



Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller