Aiuto con Gyro Breakout Board - LPR503AL Dual 30?/s

Posso chiedere un aiutocon questo Gyro Breakout Board - LPR503AL Dual 30?/s.

http://www.sparkfun.com/products/9422

I miei problemi sono molti!

Non so come collegarlo ad arduino! Non So che codice usare! Sono alle prime armi mi potete aiutare. Ho provato a cercare su internet ma sono tutti gyro diversi!

Grazie!

è un sensore che ti da varie uscite analogiche.. qui trovi tutte le informazioni che ti servono.... http://www.sparkfun.com/datasheets/Sensors/IMU/lpr503al.pdf

Il problema e che non so come colegarlo ad arduino e non so che tipo di codice usare non potete aiutarmi spiegandomi?

allora :

su +3.3V devi collegare il 3v3 forniti dall’arduino
su gnd , gnd
da y out ti colleghi ad un pin analogico, stessa cosa per x out…
su AREF fai un ponte con i 3.3V e poi fai una semplice lettura analogica, e muovendolo vedi il variare dei valori…

il giroscopio presente in uno dei moduli tinkerkit è della stessa famiglia, solo che anzichè poter misurare ±30°/s riesce a misurarne fino a ±6000°/s.

Il codice che trovi nella pagina è scritto per funzionare con le uscite amplificate 4x ovvero con un range di lettura di ±1500°/s.

Ciò che ti rimane da fare è di collegare correttamente la tua breakout board, come ti ha già detto ratto93 e di adattare a modificare nello sketch il valore di sensibilità, mettendo quello che trovi nel datasheet del tuo giroscopio. Alimentandolo a 3.3V cambia anche la risoluzione dell’ADC, quindi dovra fare 3300/1023. Poi probabilmente dovrai mettere che il riferimento di tensione dell’ADC lo prendi dall’esterno.

PS: non conosco quella breakout board, però se ti mette a disposizione sia le uscite 1x che quelle 4x, utilizzando quelle 1x hai un range di 120°/s.

Grazie a tutti provo grazie molto gentili!

ratto93: su AREF fai un ponte con i 3.3V e poi fai una semplice lettura analogica, e muovendolo vedi il variare dei valori...

non riesco a capire che tipo di ponte fare,non sono un bravo con l'eletronica scusate!

scusate potete aiutarmi un attimo?

puoi farmi un piccolo codice di esempio semplice semplice

Scusate di nuovo!

Sono riuscito a trovare questi due esempi!

il primo e questo! http://sree.cc/electronics/arduino-and-dual-axis-gyro

il secondo e questo! esempio del 530 http://imageshack.us/photo/my-images/707/connectionsg.jpg/ http://www.text-upload.com/read.php?t=5073

Sono due schemi differenti il primo usa uref del gyro e il secondo aref ponte su 3,3v,Non so quale devo usare!

un altra domanda, esempio del secondo double conversion = 5.0 / 1024.0 * 1000 / 15 / 57.29578; come devo leggere questi dati?

Mi riuscite ad aiutare? grazie!

http://sree.cc/electronics/arduino-and-dual-axis-gyro

int sensorPin_x = 5; int sensorValue_x = 0; int sensorPin_y = 4; int sensorValue_y = 0; int sensorPin_ref = 3; int sensorValue_ref = 0; int delayValue; float x_av, y_av, x_deg, y_deg; unsigned long previousMillis, currMillis; void setup() { Serial.begin(9600); }

void loop() { currMillis = millis(); sensorValue_x = analogRead(sensorPin_x); sensorValue_y = analogRead(sensorPin_y); sensorValue_ref = analogRead(sensorPin_ref); delayValue = currMillis - previousMillis; x_av = (((sensorValue_x - sensorValue_ref) * 3.3)/1023) * 3.33; //4 x out deg/s y_av = (((sensorValue_y - sensorValue_ref) * 3.3)/1023) * 3.33; //4 x out x_deg = (x_av * delayValue)/1000; y_deg = (y_av * delayValue)/1000; Serial.print(x_deg); Serial.print(" ");Serial.println(y_deg); // Serial.print(sensorValue_x); // Serial.print(" "); // Serial.print(sensorValue_y); // Serial.print(" "); // Serial.println(sensorValue_ref); // Serial.print(currMillis); Serial.print(" ");Serial.println(previousMillis); previousMillis = currMillis; delay(20); }

ho una domanda: Con ungyro posso creare un inclinometro? O mi serve un accelerometro?

Grazie

Si, ma sappi che i giroscopi hanno il problema che se li usi per misurare una posizione angolare assoluta, sono soggetti a deriva (drift in inglese), che significa che la misura che stai facendo continua a crescere di poco anche se tieni fermo il giroscopio, per il solo fatto che continui a sommare tra loro campioni che contengono un errore.

Le IMU che sono un accoppiamento di giroscopi, accelerometri e in alcuni casi anche di magnetometri, con opportuni metodi matematici ti consentono "mixare" tra loro le potenzialità di questi sensori per contenere l'errore.

Il codice che ti ho proposto per il giroscopio lo hai provato? In aggiunta potresti provare anche questa interfaccia grafica: http://scuola.arduino.cc/it/content/realizziamo-uninterfaccia-grafica-modulo-giroscopio-tinkerkit

[quote author=Federico Vanzati link=topic=76113.msg588801#msg588801 date=1320512854] Il codice che ti ho proposto per il giroscopio lo hai provato?

[/quote]

Si l'ho provato ma non riesco ad ottenere risultati!

spinter: ho una domanda: Con ungyro posso creare un inclinometro? O mi serve un accelerometro?

Grazie

per il problemi descritti, mille volte meglio un accelerometro ad un asse

Se non descrivi cosa ottieni di sbagliato è difficile aiutarti...

Comunque in quel codice dovresti cambiare solo il valore di sensibilità del sensore per ottenere dei risultati.

lesto:

spinter: ho una domanda: Con ungyro posso creare un inclinometro? O mi serve un accelerometro?

Grazie

per il problemi descritti, mille volte meglio un accelerometro ad un asse

Penso che ti riferisci al "trucco" di ottenere l'inclinazione dalla componente gravitazionale dell'accelerazione misurata dall'accelerometro. Ma con un solo asse non riesci mai a sapere in quale quadrante sei...quindi in quale direzione è l'inclinazione.

si che lo sai, dipende semplicemente se la gravità viene letta positiva o negativa. ovviamente devi a priori sapere qual'è l'alto del sensore

[quote author=Federico Vanzati link=topic=76113.msg590035#msg590035 date=1320650938] Se non descrivi cosa ottieni di sbagliato è difficile aiutarti...

Comunque in quel codice dovresti cambiare solo il valore di sensibilità del sensore per ottenere dei risultati. [/quote]

Mi da errore in questo punto

fill(#088D9D);

stray'#in program'

quello è il codice per processing, non per arduino!

Quello per arduino è nella pagina che ti ho linkato all'inizio, oppure lo trovi nello zip della GUI, altrimenti prenditelo direttamente da qui.

A grazie scusami tanto non avevo capito Grazie!