04 ottobre 12, 12:47 | #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 |
04 ottobre 12, 13:09 | #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 13:16 | |
04 ottobre 12, 20:36 | #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:
| |
04 ottobre 12, 21:58 | #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) |
05 ottobre 12, 08:22 | #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. | |
05 ottobre 12, 11:43 | #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 |
05 ottobre 12, 14:45 | #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) |
09 ottobre 12, 09:35 | #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:
| |
09 ottobre 12, 09:54 | #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) |
10 ottobre 12, 09:16 | #10 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| idea
ok, non ho problemi per queste cose... dico che funziona tutto egregiamente... solo che appunto c'è un movimento su un asse al quale il nunchuk espone sempre gli stessi dati senza variazioni. segno che non rileva.. se leggi qualche posto piu indietro ho scritto la sequanza di byte e bit opportuni... Comunque è possibile creare un head track! basta acquistare un nunchuk da 9 euro, due assi sono sufficienti per rilevare il movimento della testa, poi lo stesso deve essere inviato alla presa allievo maestro di una radio TX per aeromodellismo... sui canali 6, e 7 per esempio... ..con essi si pilota la telecamera montata su due servo sull'aeromodello.. il problema è come convertire il TTL in ssegnale per la radio TX ..per il momento ho analizzato il segnale della presa allievo maestro .. http://www.baronerosso.it/forum/circ...o-maestro.html da esso si individua il ch6 e il ch7 per variare il segnale opportunamente modificato dal nunchuck! ti piace l'idea? Citazione:
| |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
CNC tre assi | gianluca17704 | Compro | 0 | 23 dicembre 11 21:42 |
Aiuto per CNC tre assi ONTRON... | nemonemis | CNC e Stampanti 3D | 12 | 16 marzo 11 22:29 |
circuito per cnc tre assi | nebraska_ | CNC e Stampanti 3D | 14 | 16 luglio 08 18:28 |
Galleggione a tre assi | DoC | Aeromodellismo Progettazione e Costruzione | 37 | 16 giugno 04 18:59 |