- Componenti richiesti:
- Sensore giroscopico MPU6050:
- Descrizione:
- Schema del circuito e spiegazione:
- Spiegazione della programmazione
Il sensore MPU6050 ha molte funzioni sul singolo chip. Consiste di un accelerometro MEMS, un giroscopio MEMS e un sensore di temperatura. Questo modulo è molto preciso durante la conversione dei valori analogici in digitali perché ha un hardware di conversione da analogico a digitale a 16 bit per ogni canale. Questo modulo è in grado di catturare i canali x, yez allo stesso tempo. Ha un'interfaccia I2C per comunicare con il controller host. Questo modulo MPU6050 è un chip compatto con accelerometro e giroscopio. Questo è un dispositivo molto utile per molte applicazioni come droni, robot, sensori di movimento. È anche chiamato giroscopio o accelerometro a tre assi.
Oggi in questo articolo interfacciamo questo giroscopio MPU6050 con Arduino e mostreremo i valori su LCD 16x2.
Componenti richiesti:
- Arduino Uno
- MPU-6050
- 10K POT
- Cavo jumper
- Breadboard
- cavo USB
- Alimentazione elettrica
Sensore giroscopico MPU6050:
MPU-6050 è un giroscopio e un accelerometro a 6 assi a 8 pin in un unico chip. Questo modulo funziona per impostazione predefinita sulla comunicazione seriale I2C ma può essere configurato per l'interfaccia SPI configurandolo nel registro. Per I2C questo ha linee SDA e SCL. Quasi tutti i pin sono multifunzionali ma qui si procede solo con i pin in modalità I2C.
Configurazione pin:
Vcc: - questo pin è utilizzato per alimentare il modulo MPU6050 rispetto alla massa
GND: - questo è il pin di massa
SDA: - Il pin SDA viene utilizzato per i dati tra il controller e il modulo mpu6050
SCL: - Il pin SCL viene utilizzato per l'ingresso del clock
XDA: - Questa è la linea dati del sensore I2C SDA per la configurazione e la lettura da sensori esterni ((opzionale) non utilizzata nel nostro caso)
XCL: - Questa è la linea di clock SCL del sensore I2C per la configurazione e la lettura da sensori esterni ((opzionale) non utilizzata nel nostro caso)
ADO: - LSB indirizzo slave I2C (non applicabile nel nostro caso)
INT: - Pin di interruzione per indicazione di dati pronti.
Descrizione:
In questo articolo, mostriamo le letture di temperatura, giroscopio e accelerometro su LCD utilizzando MPU6050 con Arduino. Questo modulo ci fornisce valori di riga e valori normalizzati in output, ma i valori di riga non sono stabili, quindi qui abbiamo mostrato valori normalizzati su LCD. Se vuoi solo il valore dell'accelerometro, puoi anche usare l'accelerometro ADXL335 con Arduino.
In questo progetto, abbiamo prima mostrato un valore di temperatura sull'LCD e dopo 10 secondi mostriamo i valori del giroscopio e dopo 10 secondi abbiamo le letture dell'accelerometro come mostrato nelle immagini seguenti:
Schema del circuito e spiegazione:
Lo schema elettrico, per interfacciare MPU6050 con Arduino, è molto semplice qui abbiamo utilizzato un LCD e MPU6050. E qui abbiamo utilizzato un alimentatore USB per laptop. Un potenziometro da 10k viene utilizzato per controllare la luminosità dell'LCD. In connessione con MPU6050, abbiamo effettuato 5 connessioni in cui abbiamo collegato l'alimentatore 3.3v e la massa di MPU6050 a 3.3v e la terra di Arduino. I pin SCL e SDA di MPU6050 sono collegati ai pin A4 e A5 di Arduino. E il pin INT di MPU6050 è collegato all'interrupt 0 di Arduino (D2). RS, RW e EN di LCD sono direttamente collegati a 8, gnd e 9 di Arduino. I pin dati sono collegati direttamente ai pin digitali numero 10, 11, 12 e 13.
Spiegazione della programmazione
Anche la parte di programmazione è facile per questo progetto. Qui abbiamo usato questa libreria MPU6050 per interfacciarla con Arduino. Quindi, prima di tutto, dobbiamo scaricare la libreria MPU6050 da GitHub e installarla nell'IDE di Arduino.
Dopo di ciò, possiamo trovare codici di esempio nell'esempio. L'utente può testare quel codice caricandolo direttamente su Arduino e può vedere i valori sul monitor seriale. Oppure l'utente può utilizzare il nostro codice fornito alla fine dell'articolo per mostrare i valori anche su LCD e monitor seriale.
Nella codifica, abbiamo incluso alcune librerie richieste come MPU6050 e LCD.
#includere
Nella funzione di configurazione , inizializziamo entrambi i dispositivi e scriviamo un messaggio di benvenuto sul display LCD
void setup () {lcd.begin (16,2); lcd.createChar (0, grado); Serial.begin (9600); Serial.println ("Inizializza MPU6050"); while (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Dispositivo non trovato"); Serial.println ("Impossibile trovare un sensore MPU6050 valido, controllare il cablaggio!"); ritardo (500); } count = 0; mpu.calibrateGyro (); mpu.setThreshold (3); Nella funzione loop , abbiamo chiamato tre funzioni ogni 10 secondi per visualizzare la temperatura, il giroscopio e la lettura dell'accelerometro sul display LCD. Queste tre funzioni sono tempShow, gyroShow e accelShow , puoi controllare queste funzioni nel codice Arduino completo fornito alla fine di questo articolo:
void loop () {lcd.clear (); lcd.print ("Temperatura"); st lunga = millis (); Serial.println ("Temperatura"); while (millis ()
Il giroscopio e l'accelerometro MPU6050 vengono utilizzati per rilevare la posizione e l'orientamento di qualsiasi dispositivo. Gyro utilizza la gravità terrestre per determinare le posizioni degli assi x, yez e l'accelerometro rileva in base alla velocità di variazione del movimento. Abbiamo già utilizzato l'accelerometro con Arduino in molti dei nostri progetti come:
- Robot controllato con gesti della mano basato su accelerometro
- Sistema di allarme per incidenti stradali basato su Arduino
- Allarme rilevatore di terremoti utilizzando Arduino