Hallo zusammen, Ich habe jetzt schon ein paar nette Projekte mit nem Nunchuk + Controller gesehen und hab mich gestern mal dran gemacht meinen umzubauen. Hardware: STK500 + ATMega88 + JTAGICEmkII + 8MHz Quarz Betriebsspannung: 3,3V Verbindungen: SDA(PC4) an Grüne Leitung Nunchuk mit 2,2kOhm Pullup SCL(PC5) an Gelbe Leitung Nunchuk mit 2,2kOhm Pullup Software im Anhang: Prinzipiell scheint die TWI Kommunikation zu funktionieren. Jedoch bekomm ich bei allen 6 Bytes immer nur 0xff als Wert zurück. Hab gelesen dass dieses Problem schon mehrere Leute hatten, jedoch ne genaue Ursache konnte keiner nennen. Hat einer ne Idee was der Fehler sein könnte? Gruß, Mink
ist zwar schon etwas älter, aber ich bin auch über das 0xff problem gestolpert. geholfen hat mir diese seite hier: http://123a321.wordpress.com/2010/02/07/using-nunchuck-over-i2c/ >Using Nunchuck over I2C >The reading of the Nunchuck is similar to read of the motionplus. >The biggest Problems are the timining errors. Since i used a 16MHz >Oscillator my microcontroller an 400khz as my I2C speed, the >communication was often to fast when reading the data. When this happens >the nunchuck hangs and does nothing more. >Motion Plus >I2C Adress: 0xa4 >I2C Enable Register 0xf0 (Value 0×55) >I2C Extension ID: 0xFA to 0xFF (0000 A420 0000) >I2C Motion Read Register: 0×00 (6 bytes) >The Nunchuck is first initialized writing 0×55 to Register 0xF0. >After This step it might be needed to wait some cycles. The six bytes >are aquisitioned by reading beginning at the register 0×00. >the data can be deciffred by using the following code: >nunchuck.stick_x = data[0]; //8bit value >nunchuck.stick_y = data[1]; >nunchuck.acc_x = (data[2] <> 2) & 0x03); //10bit value >nunchuck.acc_y = (data[3] <> 4) & 0x03); >nunchuck.acc_z = (data[4] <> 6) & 0x03); >nunchuck.button1 = data[5] & 0x01; //boolean >nunchuck.button2 = data[5] & 0x02; also hier scheint man nix weiter dekodieren zu müssen, mein nunchuk gabs für nen 5er in der bucht grüße
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.