Sparksfun MPU9150

Buonasera a tutti,
sono nuovo in questo fantastico mondo, è comprando vari sensori per fare pratica mi sono imbattuto in questo prodotto, il collegamento è funzionante e mi restituisce valori grezzi, mi domandavo se qualche anima pia conoscesse le formule per calcolare la forza G e in quale direzione viene applicata, e l'angolo di piega del giroscopio.

Grazie anticipatamente ^^

Ciao e benvenuto.
Questo è il regolamento:
http://forum.arduino.cc/index.php?topic=149082.0

Questo è il thread delle presentazioni:
http://forum.arduino.cc/index.php?topic=113640.0

E poi spiega per bene il tuo problema perché la mia sfera di cristallo si è rotta ]:smiley:

Buonasera a te!
il mio problema è il seguente, l'affare in oggetto restituisce valori grezzi come segue.

MPU6050 connection successful
a/g/m: 216 192 16344 -231 -180 77 216 192 16344
a/g/m: 210 240 16390 -215 -174 79 210 240 16390
a/g/m: 216 166 16484 -217 -178 74 216 166 16484
a/g/m: 242 168 16404 -227 -169 77 242 168 16404
a/g/m: 244 190 16312 -237 -180 75 244 190 16312
a/g/m: 240 194 16384 -228 -179 86 240 194 16384
a/g/m: 250 170 16344 -233 -182 85 250 170 16344

Da questo coso vorrei tirare fuori l'angolo di inclinazione, la forza g e la direzione in cui e applicata
ho cercato un po di materiale al riguardo e mi sono imbattuto in un pdf in lingua inglese che ho provato a seguire ma senza successo:

link: A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications. – Starlino Electronics
questo e il datasheet del IMU: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/IMU/PS-MPU-9150A.pdf

speravo di trovare qualcuno che avesse già affrontato il problema e magari possa indirizzarmi alla soluzione ^^

Ma il produttore già fornisce del codice di esempio:

Non è quel che cerchi?

e quello che sto gia usando e che tira fuori valori grezzi =(

Qui parlano di Due ma penso che vada bene lo stesso per te:
http://forum.arduino.cc/index.php?topic=190218.0

dipende da che guadagno hai impostato. Se leggi il datasheet, c'è scritto il fatore di conversione per ogni guadagno, quindi basta una veloce moltiplicazione (o divisione). Se non erro non devi nemmeno sottrare a priori lo "zero" del sensore, in quanto le letture hanno anche numeri negativi, certo poi dovrai calibrare un pò i valori se vuoi una buona precisione, ma si entra in un cpitolo ritrito nelle discussioni sui qadricotteri :slight_smile:

Ringrazio entrambi per le risposte, ma credo che mi stiate sopravvalutando! al momento purtroppo ancora non so interpretare bene un datasheet.. in sintesi quello che vorrei è infilare un arduino con il sensore attaccato nel sottosella dello scooter e sapere l'angolo di piega e la forza g derivata da accelerazione e frenata... il quadricottero per il momento ancora non è in cantiere ^^.

ti faccio un esempio pagina 11 "gyroscope specification", nel atbella vedi che c'è un "Sensitivity Scale Factor" il LSB/°/s

gli LSB sono quelli che leggi tu, i °/s sono la misura che vuoi ottenere.

come puoi vedere ci sono 4 valori di conevrsione , in base a FS_SEL; più FS_SEL è alto, più rotazioni veloci puoi legegre, ma più bassa sarà la tua precisione.

250°/s vuol dire quasi un 360° in un secondo, direi che come precisioen va bene, magari con una moto serve aumentare a 500°/s

usaimo una FS_SEL di 0 quindi; valore letto / 131 (valore da datasheet) e ottieni °/s

come compio a casa ti lascio accelerometro e giroscopio. :grin:

:disappointed_relieved: come si fa ad impostare l'FS_SEL con il protocollo I2C??

bhe immagino chela libreria abbia una funzione che lo faccia al posto tuo, altrimenti fl_sel è un registo, se cerchi nei registri di configurazione vedrai quali bit devi mettere a 1 e 0. con l'i2c scrivi il numero di regitro che vuoi scrivere (o leggere), il numero di bye (1 nel nostro caso) e poi il valore. Occhio che se il registro configura più cose di lasciare gli altri bit come sono (o settarli come ti piace), per far ciò la logica bitwise sarà la tua spada

Spero di riuscirci ^^
domani posto i compiti a casa per i calcoli!