Problema con Progetto Con sensore GY-521

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

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

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

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

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