- Components necessaris:
- Sensor de giroscopi MPU6050:
- Descripció:
- Diagrama del circuit i explicació:
- Explicació de la programació
El sensor MPU6050 té moltes funcions sobre un sol xip. Consta d’un acceleròmetre MEMS, un giroscopi MEMS i un sensor de temperatura. Aquest mòdul és molt precís mentre es converteixen valors analògics a digitals perquè té un convertidor de 16 bits analògic a digital per a cada canal. Aquest mòdul és capaç de capturar canals x, y i z al mateix temps. Té una interfície I2C per comunicar-se amb el controlador amfitrió. Aquest mòdul MPU6050 és un xip compacte amb acceleròmetre i giroscopi. Aquest és un dispositiu molt útil per a moltes aplicacions com drons, robots, sensors de moviment. També s’anomena giroscopi o acceleròmetre de triple eix.
Avui, en aquest article, farem una interfície amb aquest giroscopi MPU6050 amb Arduino i mostrarem els valors de la pantalla LCD de 16x2.
Components necessaris:
- Arduino Uno
- MPU-6050
- 10K POT
- Filferro de pont
- Taula de pa
- Cable USB
- Font d'alimentació
Sensor de giroscopi MPU6050:
MPU-6050 és un giroscòpic i acceleròmetre de 8 eixos de 6 pins en un sol xip. Aquest mòdul funciona de manera predeterminada en la comunicació serial I2C, però es pot configurar per a la interfície SPI configurant el registre. Per a I2C, té línies SDA i SCL. Gairebé tots els pins són multifuncionals, però aquí només procedim amb pins de mode I2C.

Configuració del pin:
Vcc: aquest pin s'utilitza per alimentar el mòdul MPU6050 respecte a terra
GND: - és un passador de terra
SDA: - El pin SDA s'utilitza per a dades entre el controlador i el mòdul mpu6050
SCL: - El pin SCL s'utilitza per a l'entrada de rellotge
XDA: - Es tracta de la línia de dades del sensor I2C SDA per configurar i llegir des de sensors externs ((opcional) que no s’utilitza en el nostre cas)
XCL: - Es tracta d’una línia de rellotge SC2 del sensor I2C per configurar i llegir des de sensors externs ((opcional) no s’utilitza en el nostre cas)
ADO: - Adreça esclau I2C LSB (no aplicable en el nostre cas)
INT: - Pin d'interrupció per indicar dades preparades.
Descripció:
En aquest article, mostrem lectures de temperatura, giroscopi i acceleròmetre per LCD mitjançant MPU6050 amb Arduino. Aquest mòdul ens proporciona valors de fila i valors normalitzats a la sortida, però els valors de fila no són estables, de manera que aquí es mostren valors normalitzats a la pantalla LCD. Si només voleu un valor d’acceleròmetre, també podeu utilitzar Accelerometer ADXL335 amb Arduino.
En aquest projecte, primer hem mostrat un valor de temperatura sobre la pantalla LCD i, després de 10 segons, mostrem els valors giroscòpics i, després de 10 segons, tenim lectures d’acceleròmetres com es mostra a les imatges següents:


Diagrama del circuit i explicació:
El diagrama del circuit, per a la interfície de MPU6050 amb Arduino, és molt senzill, ja que hem utilitzat un LCD i un MPU6050. I aquí hem utilitzat una font d'alimentació USB per a portàtils. Una olla de 10 k s’utilitza per controlar la brillantor de la pantalla LCD. En connexió amb MPU6050, hem realitzat 5 connexions en què hem connectat la font d’alimentació i la terra de 3,3 V d’MPU6050 a la 3,3 V i la terra d’Arduino. Els pins SCL i SDA de MPU6050 estan connectats amb els pins A4 i A5 d’Arduino. I el pin INT de MPU6050 està connectat per interrompre 0 d'Arduino (D2). Les pantalles LCD RS, RW i EN estan connectades directament a 8, gnd i 9 d'Arduino. Els pins de dades es connecten directament als pins digitals número 10, 11, 12 i 13.

Explicació de la programació
La part de programació també és fàcil per a aquest projecte. Aquí hem utilitzat aquesta biblioteca MPU6050 per connectar-la amb Arduino. Per tant, primer de tot, hem de descarregar la biblioteca MPU6050 de GitHub i instal·lar-la a Arduino IDE.
Després d'això, podem trobar exemples de codis a l'exemple. L'usuari pot provar aquest codi penjant-lo directament a Arduino i pot veure els valors sobre el monitor sèrie. O bé, l’usuari pot utilitzar el nostre codi que apareix al final de l’article per mostrar també els valors sobre el monitor LCD i el serial.
A la codificació, hem inclòs algunes biblioteques necessàries com MPU6050 i LCD.
#incloure
A la funció de configuració , inicialitzem els dos dispositius i escrivim un missatge de benvinguda per LCD
void setup () {lcd.begin (16,2); lcd.createChar (0, grau); Serial.begin (9600); Serial.println ("Inicialitzar MPU6050"); while (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("No s'ha trobat el dispositiu"); Serial.println ("No s'ha pogut trobar un sensor MPU6050 vàlid, comproveu el cablejat!"); retard (500); } recompte = 0; mpu.calibrateGyro (); mpu.setThreshold (3); En funció de bucle , hem anomenat tres funcions cada 10 segons per mostrar la lectura de temperatura, giroscopi i acceleròmetre a la pantalla LCD. Aquestes tres funcions són tempShow, gyroShow i accelShow ; podeu consultar aquestes funcions al codi Arduino complet que es dóna al final d’aquest article:
bucle buit () {lcd.clear (); lcd.print ("Temperatura"); llarg st = millis (); Serial.println ("Temperatura"); while (millis ()
El giroscopi i l’acceleròmetre MPU6050 s’utilitzen per detectar la posició i orientació de qualsevol dispositiu. Gyro utilitza la gravetat terrestre per determinar les posicions de l’eix x, y i z i l’acceleròmetre detecta en funció de la velocitat del canvi de moviment. Ja hem utilitzat l’acceleròmetre amb Arduino en molts dels nostres projectes com:
- Robot controlat amb gestos manuals basat en acceleròmetre
- Sistema d’alerta d’accidents de vehicles basat en Arduino
- Alarma del detector de terratrèmols mitjançant Arduino
