Il mio accelerometro è un 16 bit (quindi 65535 valori) con una sensitività di -2 / + 2 g.
Questi sono alcuni valori tipici che vado a leggere:
65 423 - 64 912 - 16 0766
325 - 61 613 48 338
l'ho ruotato e ho ottenuto:
49 281 - 2579 - 64 257
16 279 - 1542 - 64 723
ruotandolo ancora:
64 153 - 15 968 - 1978
60 276 - 49 573 - 1896
I valori di un asse vanno bene (intorno ai 16 mila e ai 49 mila) anche perchè il dispositivo è leggermente inclinato.
Non capisco i valori degli assi che dovrebbe essere paralleli alla superficie: perchè danno valori intorno al - 2 e al 2 g invece di dare valori intorno ai 32 768 (lo 0 g)
La mia supposizioen a questo punto è che consideri 65 mila come 0 g, passi a 49 come 1 g e infine arrivi a 32 come 2 g.
Poi riparta dai valori sotto a 32 mila considerandoli come g negativa massima (circa - 2 g) e salva a 16 mila come - 1g fino ad arrivare di nuovo a 0 g con valori prossimi allo 0.
Cioè la g cresca in valore assoluto verso il centro dell'intervallo (32 mila).
uwefed:
Il valore dato dal sensore é un numero con segno e percui non da 0 a 65535 ma da -32768 a 32767
vedi: Complemento a due - Wikipedia
L' accelerometro dovrebbe dare un + o - 16000 su un asse e ca 0 sugli altri 2 se é posto in piano.
Ciao Uwe
si credo che l'errore sia questo.
sto leggendo senza segno (ovvero tutti positivi) e quindi il -2 invece di essere -32768 diventa 65000.
sto facendo ora le conversioni numeriche per verificare questa ipotesi.