| |
| | #1 (permalink) Top |
| User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| Wii Nunchuck tre assi!!
come da titolo ovunque viene spacciato con un accelerometro a tre assi... invece ho avuto modo di verificare che gli assi sono solo due! l'accelerometro rileva il rollio e il beccheggio, ma non rileva la roteazione! il terzo numero rileva se il Nunchuck è ribaltato o meno. Se qualcuno ha delle osservazioni prego si accomodi pure.. a presto fausto |
| | |
| | #2 (permalink) Top | |
| User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| codifica
premetto che uso il Wii originale, il cuore della codifica è la seguente (nel linguaggio C++) , credo che sia corretta... e che non lasci dei bubbi: int x_acceleration() const { return ((int) (buffer[2] << 2) | ((buffer[5] >> 2) & 0x03) } int y_acceleration() const { return ((int) (buffer[3] << 2) | ((buffer[5] >> 4) & 0x03) } int z_acceleration() const { return ((int) (buffer[4] << 2) | ((buffer[5] >> 6) & 0x03) } insomma se leggete qui o in altri posti ci son scritte porcherie! Interfacciarsi con il Nunchuck della Nintendo - Appunti | Settorezero a dopo Citazione:
Ultima modifica di faustog_2 : 04 ottobre 12 alle ore 14:16 | |
| | |
| | #3 (permalink) Top | |
| User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| head tracker
in ogni caso anche su due assi si puo usare per creare un head tracker.. Citazione:
| |
| | |
| | #4 (permalink) Top |
| User |
La butto li a caso: (ho un nunchuck originale aperto e con tanto di connettore-adattatore sparkfun da circa 8 mesi; ma non ho mai trovato il tempo di provarlo) non è che interpreti male i dati letti? 10 bit anziché 9bit + segno ? (non so come li codifichi il micro del nunchuck, l'accelerometro è sicuramente a 3 assi analogico).
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) |
| | |
| | #5 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #6 (permalink) Top |
| User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| ok
confermo quello che dici ..ma lo fa anche il secondo buffer! allora abbiamo in tutto 6 byte byte0 = joy_x byte1 = joy_y byte2= acel_x gli 8 bit piu significativi byte3= acel_y gli 8 bit piu significativi byte4 = acel_z gli 8 bit piu significativi byte5 = [bit 1,0 di acel_z - bit 1,0 di acel_y - bit 1,0 di acel_x - bottoneC - bottoneZ] dunque sia l'asse y che l'asse z rilevano lo stesso asse solo che la z rileva quando il Nunchuk è ribaltato, lo stesso non rileva alcuna variazione se invece lo roteo guardandolo dall'alto. a dopo fausto |
| | |
| | #7 (permalink) Top |
| User |
L'accelerometro montato nel Nunchuck è, se non erro, un LIS3L02AL della ST con uscita analogica ratiometrica riferita ai 3,3V di alimentazione, quindi a 0g la Vxyz = 1/2Vdd ovvero 1,65V. Il convertitore A/D del micro collegato all'accelerometro credo operi nel range numerico 0..1023 con il valore di 512 equivalente a 0g; altra possibilità è che operi fra -512 +511, il tutto è facilmente verificabile leggendo in real-time ii valori grezzi di uscita ruotando il Nunchuck di +-90° su tutti e tre gli assi e poi a +-45° sui piani xyz. Anche il valore dell'asse Z dovrebbe passare da 256 (+1g) con dispositivo parallelo al suolo, a 512 (og) con dispositivo verticale e poi a 768 (-1g) con dispositivo ribaltato questo se il range è 0...1023 se no lascio a te il calcoletto... ![]() Per valutare l'inclinazione dell'accelerometro nello spazio in genere si utilizza un semplice calcolo trigonometrico sui valori delle coppie di assi xz ed yz; se pur con altri sensori e micro uso questo sistema da anni per leggere l'inclinazione verticale dei pannelli FV ad inseguimento solare della baita.
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) |
| | |
| | #8 (permalink) Top | |
| User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| ok
ho seguito le linee guida, di diversi siti web.. studiando con scrupolo, il treno di byte inviato, se leggi sopra ho dato una descrizione della collocazione dei dati... però facendo le prove ho notato che se roteo l'affare guardandolo dall'alto, i tre valori non cambiano rimangono uguali... ...questo vuol dire che non viene rilevato nessuno spostamento.. qualunque possa essere la combinazione xz, xy, yx ecc... ...nn c'è movimento! Citazione:
| |
| | |
| | #9 (permalink) Top |
| User |
Vado a memoria ma mi pare che il Nunchuck deve essere prima inizializzato inviandogli un comando particolare, solo dopo inizia ad inviare lo stato del joystick, pulsanti ed accelerometro. In questi casi verrebbe comodo un analizzatore di protocollo come questo: Zeroplus USB2.0 logic analyzer te lo consiglio funziona bene e, costa poco.
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) |
| | |
![]() |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| CNC tre assi | gianluca17704 | Compro | 0 | 23 dicembre 11 22:42 |
| Aiuto per CNC tre assi ONTRON... | nemonemis | CNC e Stampanti 3D | 12 | 16 marzo 11 23:29 |
| circuito per cnc tre assi | nebraska_ | CNC e Stampanti 3D | 14 | 16 luglio 08 19:28 |
| Galleggione a tre assi | DoC | Aeromodellismo Progettazione e Costruzione | 37 | 16 giugno 04 19:59 |