|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Dati provenienti da accelerometro in spostamento
Ciao a tutti,
ho un accelleromentro a due assi della memsic. Dovrei riuscire a trasformare i dati provenienti dall'accelerometro in uno spostamento X-Y per usarlo come mouse. Purtroppo il mio spostamento lo ottengo solo se mi muovo al massimo di 90° in un verso, se mi muovo nell'altro verso non succede niente... ed il cursore non torna indietro ma rimane fermo. ecco i dettagli dal datasheet dell'accelerometro ![]() Devo fare qualche trasformazione? Ecco il prodotto in questione: http://www.memsic.com/products/MXC6202.htm
__________________
Firma in costruzione Ultima modifica di suspence : 05-11-2009 alle 18:21. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Città: Fortezza Bastiani - Villettopoli del Nord-Est
Messaggi: 1578
|
-edit-
Non avevo capito bene il problema... strano questo accelerometro!
__________________
citius, altius, fortius Igitur qui desiderat pacem, praeparet bellum
Ultima modifica di Satviolence : 05-11-2009 alle 21:19. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
A questo ci ho pensato, ma considera che devo fare il tutto su un PIC a 8 bit. In pratica non riesco a capire cosa caspita mi sputa fuori sto accelerometro sulla porta I2C...
__________________
Firma in costruzione |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Città: Fortezza Bastiani - Villettopoli del Nord-Est
Messaggi: 1578
|
Se noti, X output e Y output sono le componenti di un vettore unitario (cioè x^2+y^2=1).
Praticamente, usato con x e y messi su un piano verticale, ti da le componenti dell'accelerazione di gravità lungo x e y. Se l'accelerazione è pari a 1 g, allora il modulo del vettore è 1. Se metti l'accelerometro con x e y sul piano orizzontale, ti darà in uscita le componenti in x e y dell'accelerazione nel piano orizzontale. Il modulo del vettore risultante non sarà unitario, ma sarà il valore dell'accelerazione espresso in g. Allo stesso modo le componenti in x e y sono decimali di 1 g.
__________________
citius, altius, fortius Igitur qui desiderat pacem, praeparet bellum
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1625
|
Attacca l'uscita ad uno oscilloscopio e guarda cosa esce
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Non lo posso fare... ho solo una connessione USB
__________________
Firma in costruzione Ultima modifica di suspence : 05-11-2009 alle 21:56. |
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
Quello che vorrei ottenere è che, se mi sposto in un verso l'uscita sia negativa, nell'altro sia positiva...
__________________
Firma in costruzione |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2005
Città: Fortezza Bastiani - Villettopoli del Nord-Est
Messaggi: 1578
|
Quote:
A pagina 2 è scritto chiaramente che l'intervalli di misura è +2 g / -2 g. A pagina 9 c'è la tabellina: Resolution - Refreshing rate - Zero-G Offset 10 bits - 400Hz - 512 12 bits - 100Hz - 2048 Cioè col campionamento a 400 Hz la risoluzione del segnale in uscita è di 10 bit (valori da 0 a 1023), con lo zero corrispondente al valore 512. Quindi 0 sarà pari a -2 g, 1023 sarà +2 g.
__________________
citius, altius, fortius Igitur qui desiderat pacem, praeparet bellum
|
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
Se prendessi solo il byte più significativo?
__________________
Firma in costruzione Ultima modifica di suspence : 05-11-2009 alle 22:36. |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2005
Città: Fortezza Bastiani - Villettopoli del Nord-Est
Messaggi: 1578
|
Quote:
Ricordati della doppia integrazione per ottenere lo spostamento...
__________________
citius, altius, fortius Igitur qui desiderat pacem, praeparet bellum
|
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
PS Per evitare di farla diventare una conversazione a due ho provato a mandarti un PM, ma hai la casella piena
__________________
Firma in costruzione |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2005
Città: Fortezza Bastiani - Villettopoli del Nord-Est
Messaggi: 1578
|
Quote:
Lasciamo stare i PM, perché comunque più di tanto non ti potrò aiutare, visto che sono un meccanico. Magari così si aggrega qualcuno...
__________________
citius, altius, fortius Igitur qui desiderat pacem, praeparet bellum
|
|
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
poichè io salvo solamente il byte più significativo, allora: Se X è minore di 128 invio -X (lo spostamento sarà da -0 a -127) Se X è maggiore di 128 invio X-128 (spostamento fra 0 e 127)
__________________
Firma in costruzione |
|
|
|
|
|
|
#14 | |
|
Messaggi: n/a
|
Quote:
perchè lo devi troncare di 2/4bit ?Ad ogni modo prendendo 8 bit l'uscita di ogni asse va da 0 a 255 e l'offset lo hai a 128.Quindi se ricevi 129 invii 1 se ricevi 98 invii -30 Inoltre devi gestire il fatto della doppia integrazione per ottenere una posizione il che può rilevarsi problematico. E' un progetto che devi fare sulla carta o fisicamente ?
|
|
|
|
|
#15 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
quindi per cui devo sempre inviare x-128?
__________________
Firma in costruzione |
|
|
|
|
|
|
#16 | |
|
Messaggi: n/a
|
Quote:
)Siccome oltre che il mouse dovrai fare pure i driver dello stesso mouse vedi tu è esattamente la stessa cosa togliere prima o dopo il numero. A questo punto ti conviene toglierlo con il programma sul PC in modo da far girare numeri solo positivi ( e ti risparmi un po' di seghe mentali )
|
|
|
|
|
#17 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
__________________
Firma in costruzione |
|
|
|
|
|
|
#18 |
|
Messaggi: n/a
|
Butta giu un minimo di progetto almeno, ho l'impressione che tu voglia sparare direttamente il valore in uscita dall'accelerometro al PC
Da quel poco che vedo richedono una posizione assoluta sul piano XY che tu gli devi passare. |
|
|
|
#19 | |
|
Member
Iscritto dal: Oct 2005
Città: ... e dintorni
Messaggi: 175
|
Quote:
L'unica cosa che mi manca è trasformare i dati provenienti di quell'accelerometro in spostamento...
__________________
Firma in costruzione |
|
|
|
|
|
|
#20 | |
|
Messaggi: n/a
|
Quote:
detto questo auguri non ho idea della precisione che ne derivi siccome teoricamente se non integri giusto allora non distingui la differenza tra un moto uniforme e quando sei fermo
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:40.













perchè lo devi troncare di 2/4bit
?
e l'offset lo hai a 128.







