- Composants requis:
- Capteur gyroscopique MPU6050:
- La description:
- Schéma de circuit et explication:
- Explication de la programmation
Le capteur MPU6050 a de nombreuses fonctions sur une seule puce. Il se compose d'un accéléromètre MEMS, d'un gyroscope MEMS et d'un capteur de température. Ce module est très précis lors de la conversion des valeurs analogiques en numérique car il dispose d'un convertisseur analogique-numérique 16 bits pour chaque canal. Ce module est capable de capturer les canaux x, y et z en même temps. Il dispose d'une interface I2C pour communiquer avec le contrôleur hôte. Ce module MPU6050 est une puce compacte ayant à la fois un accéléromètre et un gyroscope. C'est un appareil très utile pour de nombreuses applications comme les drones, les robots, les capteurs de mouvement. Il est également appelé accéléromètre gyroscope ou triple axe.
Aujourd'hui, dans cet article, nous allons interfacer ce gyroscope MPU6050 avec Arduino et afficher les valeurs sur un écran LCD 16x2.
Composants requis:
- Arduino Uno
- MPU-6050
- POT 10K
- Cavalier
- Planche à pain
- cable USB
- Source de courant
Capteur gyroscopique MPU6050:
Le MPU-6050 est un gyroscope et accéléromètre à 8 broches et 6 axes dans une seule puce. Ce module fonctionne sur la communication série I2C par défaut mais il peut être configuré pour l'interface SPI en configurant son registre. Pour I2C, cela a des lignes SDA et SCL. Presque toutes les broches sont multifonctionnelles mais ici nous ne procédons qu'avec des broches de mode I2C.
Configuration des broches:
Vcc: - cette broche est utilisée pour alimenter le module MPU6050 par rapport à la terre
GND: - c'est la broche de masse
SDA: - La broche SDA est utilisée pour les données entre le contrôleur et le module mpu6050
SCL: - La broche SCL est utilisée pour l'entrée d'horloge
XDA: - Il s'agit de la ligne de données du capteur I2C SDA pour la configuration et la lecture à partir de capteurs externes ((optionnel) non utilisé dans notre cas)
XCL: - Il s'agit de la ligne d'horloge du capteur I2C SCL pour la configuration et la lecture à partir de capteurs externes ((optionnel) non utilisé dans notre cas)
ADO: - I2C Slave Address LSB (non applicable dans notre cas)
INT: - Broche d'interruption pour l'indication de données prêtes.
La description:
Dans cet article, nous affichons les lectures de température, de gyroscope et d'accéléromètre sur un écran LCD à l' aide du MPU6050 avec Arduino. Ce module nous donne des valeurs de ligne et des valeurs normalisées en sortie, mais les valeurs de ligne ne sont pas stables, nous avons donc ici des valeurs normalisées sur LCD. Si vous voulez juste la valeur de l'accéléromètre, vous pouvez également utiliser l'accéléromètre ADXL335 avec Arduino.
Dans ce projet, nous avons d'abord montré une valeur de température sur l'écran LCD et après 10 secondes, nous affichons les valeurs du gyroscope et après 10 secondes, nous avons des lectures d'accéléromètre comme indiqué dans les images ci-dessous:
Schéma de circuit et explication:
Le schéma de circuit, pour interfacer le MPU6050 avec Arduino, est très simple ici nous avons utilisé un LCD et un MPU6050. Et ici, nous avons utilisé une alimentation USB pour ordinateur portable. Un pot de 10k est utilisé pour contrôler la luminosité de l'écran LCD. En relation avec le MPU6050, nous avons effectué 5 connexions dans lesquelles nous avons connecté l'alimentation 3.3v et la masse du MPU6050 au 3.3v et à la terre d'Arduino. Les broches SCL et SDA du MPU6050 sont connectées aux broches A4 et A5 d'Arduino. Et la broche INT du MPU6050 est connectée à l'interruption 0 d'Arduino (D2). Les écrans LCD RS, RW et EN sont directement connectés aux 8, gnd et 9 d'Arduino. Les broches de données sont directement connectées aux broches numériques 10, 11, 12 et 13.
Explication de la programmation
La partie programmation est également facile pour ce projet. Ici, nous avons utilisé cette bibliothèque MPU6050 pour l'interfacer avec Arduino. Donc, tout d'abord, nous devons télécharger la bibliothèque MPU6050 depuis GitHub et l'installer dans Arduino IDE.
Après cela, nous pouvons trouver des exemples de codes dans l'exemple. L'utilisateur peut tester ce code en les téléchargeant directement sur Arduino et peut voir les valeurs sur le moniteur série. Ou l'utilisateur peut utiliser notre code donné à la fin de l'article pour afficher également les valeurs sur l'écran LCD et le moniteur série.
Dans le codage, nous avons inclus certaines bibliothèques requises telles que MPU6050 et LCD.
#comprendre
Dans la fonction de configuration , nous initialisons les deux appareils et écrivons un message de bienvenue sur l'écran LCD
void setup () {lcd.begin (16,2); lcd.createChar (0, degré); Serial.begin (9600); Serial.println ("Initialiser MPU6050"); while (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Périphérique non trouvé"); Serial.println ("Impossible de trouver un capteur MPU6050 valide, vérifiez le câblage!"); retard (500); } compte = 0; mpu.calibrateGyro (); mpu.setThreshold (3); Dans la fonction de boucle , nous avons appelé trois fonctions toutes les 10 secondes pour afficher la température, le gyroscope et la lecture de l'accéléromètre sur l'écran LCD. Ces trois fonctions sont tempShow, gyroShow et accelShow , vous pouvez vérifier ces fonctions dans le code Arduino complet donné à la fin de cet article:
boucle vide () {lcd.clear (); lcd.print ("Température"); long st = millis (); Serial.println ("Température"); while (millis ()
Le gyroscope et l'accéléromètre MPU6050 sont tous deux utilisés pour détecter la position et l'orientation de n'importe quel appareil. Gyro utilise la gravité terrestre pour déterminer les positions des axes x, y et z et l'accéléromètre détecte en fonction du taux de changement de mouvement. Nous avons déjà utilisé l'accéléromètre avec Arduino dans plusieurs de nos projets comme:
- Robot contrôlé par geste de la main basé sur un accéléromètre
- Système d'alerte d'accident de véhicule basé sur Arduino
- Alarme de détecteur de tremblement de terre utilisant Arduino