Hallo! Ich möchte das Wii Motion Plus mit einem Atmega128 auslesen aber leider funktionniert schon die Initialisierung nicht. Nach [1] hat das WMP anfangs die Adresse 0x53. Man muss 0x04 ins Register 0xfe schreiben, damit es aktiviert wird und danach ändert sich die Adresse auf 0x52. Danach kann man nach einem bestimmten Ablauf die Daten auslesen. Leider bekomme ich schon beim Startbefehl fürs Schreiben nach 0x53 kein ACK zurück (per Oszi überprüft). Habs mit 100 kHz und 400 kHz probiert, geht beides nicht. Code ist im Anhang. Als I2C Lib wird die von Peter Fleury verwendet, UART Lib ist selbst geschrieben. Liegt aber nicht an denen, denn wenn ich auf meinen I2C Kompass umstecke kann ich den mit der benötigten Routine problemlos auslesen. WMP ist auch richtig verkabelt, schon 10x durchgepiepst. Funktionnieren tuts auch noch, mit Wii getestet. Leider finde ich ausser [1] keine wirklich brauchbaren Informationen um das WMP auszulesen. Bei [2] steht auch eine Menge aber da gehts primär darum, wie man die Extensions ausliest, wenn sie an die Wiimote angesteckt sind. Apropos, was hat die Schreibweise 0x(4)a600f0 bei [2] zu bedeuten ("The extension is initialised by writing 0x55 to 0x(4)a600f0.")? Geht mir hierbei um das (4). Kapier nicht, was das bedeuten soll. Hoffe ihr könnt mir helfen. LG [1] http://randomhacksofboredom.blogspot.com/2009/06/wii-motion-plus-arduino-love.html [2] http://www.wiibrew.org/wiki/Wiimote/Extension_Controllers#Wii_Motion_Plus
Grrr 0x53 ist die Adresse (Initialisiert dann 0x52) aber natürlich ohne das R/W Bit. Also so gehts:
1 | // Zum Initialisieren
|
2 | i2c_start_wait(0xA6 + I2C_WRITE); // 0xA6 = 0x53 << 1 |
3 | ...
|
4 | |
5 | // Nach Initialisierung
|
6 | i2c_start_wait(0xA4 + I2C_WRITE); // bzw + I2C_READ; 0xA4 = 0x52 << 1 |
Frohe Weihnachten!
Hallo, nur mal so gefragt. Wofür liest Du den Wii Plus Controller aus? Was willst Du später mit dem Controller steuern? Frohes Fest Tschau Devil-Elec
Ist derzeit nur eine Spielerei. Wie ich gelesen hab, dass das ganze Wii Zubehör einfach per I2C kommuniziert wollt ich das einfach mal testen. Wird schon irgendwann irgendwo verwendet werden :) Wenn mir gleich aufgefallen wäre, dass 0x53 eine irrsinnige I2C Adresse für die PF Lib Funktionen ist, da ungerade und demnach nicht um 1 geshiftet, dann wäre das Demoprogramm in lediglich 30 Min erfolgreich getestet gewesen. Das Nunchuck [1] würde ist übrigens auch nicht schlecht. 1x Joystick 2x Button 1x Accelerometer Gibt diverse günstige Nachbauten im Netz. Wiimote Extension Verlängerungskabel gibts auch auf eBay, da hat man dann beide Seiten vom komischen Stecker die man auf eine Pfostenbuchse löten kann (so hab ichs gemacht), sonst kann man mit einem PCB oder, mit etwas Geschick, mit Heißklebepistole und Stiftleisten einen Adapter bauen. Wers kabellos will / braucht und ein paar Buttons und Funktionen mehr will kann gleich zur Wiimote greifen und die per Bluetooth auslesen. Hab ich auch schon gemacht, geht ganz einfach. [1] http://wiibrew.org/wiki/Wiimote/Extension_Controllers#Hardware_.28Nunchuk.29
Christopher G. schrieb: > Wers kabellos will / braucht und ein paar Buttons und Funktionen mehr > will kann gleich zur Wiimote greifen und die per Bluetooth auslesen. Hab > ich auch schon gemacht, geht ganz einfach. Ausgelesen über Bluetooth per PC oder per BT-Modul an einem Mikrocontroller? Hast Du nähere Infos dazu? Danke.
Habs damals am PC ausgelesen. Hab mich damals nur ein bisschen gespielt und geschaut was sich ändert wenn ich die Tasten drücke / die Lage ändere und hab die LEDs und den Vibromotor an und ausgemacht. Hab mit den Infos von Wiibrew.org [1] gearbeitet. Mehr Infos kann ich leider nicht anbieten. [1] http://wiibrew.org/wiki/Wiimote
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.