Ciao a tutti,
sto facendo un progetto dove mi serve sapere la viariazione dei valori del giroscopio sull asse X. Accellerometro e sensore di temperatura non mi servono. Ho dato un occhiata al codice di Krodal, ma tutti i #define li presenti penso non servano a me perchè a me serve solo l' asse X del giroscopio.
Potete darmi una mano su come avere solo i dati dell asse X?
Grazie
Una volta caricata la libreria puoi leggere il valore della rotazione sull'asse X con
int RotX = getRotationX();
La libreria per il tuo sensore la trovi qui --> i2cdevlib/Arduino/MPU6050 at master · jrowberg/i2cdevlib · GitHub
Studiando il datasheet del sensore e conoscendone profondamente il funzionamento, con solidissime basi di C potresti anche eliminare buona parte del codice di inizializzazione e controllo del giroscopio, ma è un lavoro veramente complicato.
Grazie mille per la risposta
Prendo le librerie così come sono e faccio delle prove, il C lo conosco perchè ci programmavo 2 anni fa ma oramai ricordo poco quindi lascio perdere.
Ho fatto una prima prova e usando il tuo codice mi da errore :
sketch_feb26a.ino: In function 'void loop()':
sketch_feb26a:12: error: 'getRotationX' was not declared in this scope
Il mio codice prova è il seguente:
#include "MPU6050.h"
#include <Wire.h>
void setup()
{
Serial.begin(38400);
Wire.begin();
}
void loop()
{
int x = getRotationX();
}
Attendo informazioni :)
Mmmm ... sarà il caso che ti studi prima gli esempi allegati ...
Non hai istanziato la classe MPU6050 ... come pretendi di usare un metodo così ?
Purtroppo quelle non sono funzioni C, ma metodi di una classe C++ ...
Guglielmo
ok ora ho cambiato nel seguente moto inizializzando la classe
#include "MPU6050.h"
#include <Wire.h>
MPU6050 funzioni;
void setup()
{
Serial.begin(9600);
Wire.begin();
}
void loop()
{
int x = funzioni.getRotationX();
Serial.print(x);
}
E i valori di X funzionano senza problemi stampandoli tramite la seriale.
Vorrei però lucidazioni sul perchè mi dia valori diversi tra loro, pur restando il sensore fermo immobile.
Grazie in anticipo