Code Arduino pour MPU-6050 avec écran LCD1602 I2C
Dans ce tutoriel, nous apprendrons comment interfacer l'accéléromètre et gyroscope MPU-6050 avec un écran LCD1602 en utilisant la communication I2C. Le MPU-6050 fournira des mesures d'angles qui seront affichées sur le LCD. Ce projet vous aidera à visualiser en temps réel les angles du MPU-6050, améliorant votre compréhension des données du capteur et de l'interfaçage d'affichage.


À la fin de ce tutoriel, vous aurez un montage fonctionnel affichant les angles X, Y et Z sur l'écran LCD. C'est un excellent moyen d'acquérir une expérience pratique des données de capteurs et des technologies d'affichage dans les projets Arduino. Pour plus de précisions, consultez la vidéo (à 00:00).
Matériel expliqué
Les principaux composants de ce projet sont le capteur MPU-6050 et le module d'affichage LCD1602. Le MPU-6050 est un capteur polyvalent qui combine un accéléromètre 3 axes et un gyroscope 3 axes, fournissant des mesures d'angles en temps réel. Il communique via le bus I2C, ce qui permet une intégration transparente avec l'Arduino.
L'afficheur LCD1602 utilise également le protocole I2C, ce qui simplifie le câblage et réduit le nombre de broches nécessaires pour la communication. L'interface I2C permet de connecter plusieurs appareils sur le même bus, ce qui la rend efficace pour les projets comportant plusieurs capteurs ou composants.
Détails de la fiche technique
| Fabricant | InvenSense |
|---|---|
| Numéro de pièce | MPU-6050 |
| Tension logique/E/S | 3,3 V / 5 V |
| Tension d'alimentation | 3,3 V à 5 V |
| Débit de données en sortie | 1 kHz (max.) |
| Plage du gyroscope | ±250, ±500, ±1000, ±2000 °/s |
| Plage de l'accéléromètre | ±2g, ±4g, ±8g, ±16g |
| Paquet | QFN |
| Notes / variantes | Inclut un processeur de mouvement numérique (DMP) |
- Vérifiez l'adresse I2C (par défaut 0x68).
- Vérifiez que la tension d'alimentation est correcte (3.3 V ou 5 V).
- Utilisez des résistances de tirage (pull-up) pour les lignes SDA et SCL si elles ne sont pas déjà présentes sur la carte.
- Pensez à utiliser des condensateurs de découplage près des broches d'alimentation pour assurer la stabilité.
- Vérifiez les connexions de câblage pour éviter les problèmes de communication.
Instructions de câblage

Pour connecter le MPU-6050 et l'écran LCD1602 à votre Arduino, suivez ces connexions :
- Connectez le
VCCbroche du MPU-6050 vers le5Vbroche sur l'Arduino. - Connectez le
GNDbroche du MPU-6050 vers leGNDbroche sur l'Arduino. - Connecter le
SDAbroche du MPU-6050 vers leA4broche de l'Arduino. - Connectez le
SCLbroche du MPU-6050 vers leA5broche de l'Arduino. - Pour l'afficheur LCD1602, connectez le
VCCépingler à5Vsur l'Arduino. - Connectez le
GNDbroche de l'écran LCD1602 vers leGNDbroche de l'Arduino. - Connectez le
SDAbroche du LCD1602 vers la mêmeA4broche utilisée pour le MPU-6050. - Connectez le
SCLbroche du LCD1602 à la mêmeA5broche utilisée pour le MPU-6050.
Veillez à revérifier vos connexions, car un câblage incorrect peut entraîner un dysfonctionnement de l'appareil ou l'empêcher de communiquer correctement.
Exemples de code et guide pas à pas
Le code commence par inclure les bibliothèques nécessaires pour le MPU-6050 et l'affichage LCD. L'extrait suivant montre comment initialiser le MPU-6050 :
MPU6050 mpu6050(Wire);Ici, nous instancions leMPU6050objet, qui sera utilisé pour lire les données du capteur. Ensuite, nous devons configurer l'appareil dans lesetup()fonction:
void setup() {
Serial.begin(9600);
Wire.begin();
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
lcd.begin();
lcd.backlight();
}Ce code initialise la communication série, le bus I2C et le capteur MPU-6050. Il initialise également l'écran LCD et allume son rétroéclairage. La boucle contient la logique pour mettre à jour et afficher les angles :
void loop() {
mpu6050.update();
lcd.clear();
lcdDisplay(0, 0, "X:", 2, 0, mpu6050.getAngleX());
lcdDisplay(13, 0, "Y:", 0, 1, mpu6050.getAngleY());
lcdDisplay(7, 1, "Z:", 9, 1, mpu6050.getAngleZ());
delay(100);
}Dans cette boucle, les angles pour X, Y et Z sont mis à jour et affichés sur l'écran LCD. La fonctionlcdDisplay()est utilisé pour formater correctement la sortie. Vous pouvez trouver le code complet chargé sous l'article.
Démonstration / À quoi s'attendre
Lorsque la configuration est terminée et que le code a été téléversé, vous devriez voir les angles pour X, Y et Z affichés sur l'écran LCD en temps réel. Si tout est correctement câblé, l'affichage se rafraîchira toutes les 100 millisecondes, indiquant l'orientation actuelle du MPU-6050.
Parmi les pièges courants : s'assurer que les connexions I2C sont correctes et que l'alimentation est stable. Si le MPU-6050 n'est pas correctement initialisé, vous pouvez obtenir des données incorrectes ou aucune donnée sur l'écran LCD (dans la vidéo à 01:15).
Ce dont vous pourriez avoir besoin
-
AmazonAcheter MPU-6050 sur Amazonamzn.to
-
Amazon
-
eBayAcheter un LCD1602-I2C sur eBayebay.us
-
AliExpressAchetez 10 pièces de LCD1602-I2C sur AliExpresss.click.aliexpress.com
Ressources et références
-
ExterneSite Web du fabricantinvensense.com
Fichiers📁
Bibliothèques Arduino (zip)
-
Bibliothèque LCD1602 pour Arduino de Robojax
robojax-LCD1602-I2C-library-master.zip0.01 MB -
Bibliothèque Arduino pour MPU9250
robojax-MPU9250-master.zip3.38 MB
Fichier Fritzing
-
Module LCD LCD1602-I2C avec 4 fils
LCD1602-I2C.fzpz0.01 MB -
Carte MPU-6050 GY-521
MPU-6050 Board GY-521.fzpz0.01 MB