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.
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:
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
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.
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