Affichage des données du capteur MPU-6050 sur un écran LCD 1602 ou LCD2004 avec Arduino

Affichage des données du capteur MPU-6050 sur un écran LCD 1602 ou LCD2004 avec Arduino

Dans ce tutoriel, nous allons apprendre comment afficher les données du capteur MPU-6050 sur un LCD 1602 ou un LCD2004 en utilisant Arduino. Le MPU-6050 est un capteur polyvalent qui combine un gyroscope à 3 axes et un accéléromètre à 3 axes, ce qui le rend idéal pour diverses applications telles que la détection de mouvement et l'orientation. En connectant ce capteur à un écran LCD, nous pouvons visualiser les données du capteur en temps réel, y compris les angles et la température.

Au fur et à mesure que nous avançons dans ce projet, nous aborderons les composants matériels nécessaires, les détails du câblage et l'implémentation du code. Cela vous aidera à comprendre comment configurer le MPU-6050 et afficher sa sortie sur un écran LCD. Pour plus de précisions sur le code, consultez la vidéo (à 00:00).

Le matériel expliqué

Les composants principaux de ce projet sont la carte Arduino, le capteur MPU-6050 et l'écran LCD (1602 ou 2004). L'Arduino sert de microcontrôleur, traitant les données du MPU-6050 et les envoyant à l'écran LCD.

Le capteur MPU-6050 utilise la communication I2C pour envoyer des données à l'Arduino. Il comprend un accéléromètre et un gyroscope, qui lui permettent de détecter le mouvement et l'orientation. L'écran LCD est utilisé pour afficher les angles dérivés des données du capteur. Il se connecte également à l'Arduino via I2C, ce qui simplifie le câblage et la communication.

Détails de la fiche technique

FabricantInvensense
Numéro de pièceMPU-6050
Tension logique/E/S3.3 V / 5 V
Tension d'alimentation3,3 V à 5 V
Débit de données en sortie1 kHz (max.)
Plage de température-40 à +85 °C
PaquetQFN
Notes / variantesGyroscope et accéléromètre intégrés

  • Assurez-vous d'une alimentation électrique adéquate dans la plage de tension spécifiée.
  • Utilisez des résistances de pull-up sur les lignes I2C si nécessaire.
  • Vérifiez que l'adresse I2C est compatible avec votre configuration.
  • Calibrez le capteur pour obtenir des mesures précises.
  • Soyez prudent avec le câblage pour éviter les courts-circuits.

Instructions de câblage

arduino_wiring_MPU-6050_LCD2004_bb

Pour câbler le MPU-6050 à l'Arduino, commencez par connecter la broche VCC du MPU-6050 à la broche 5V de l'Arduino. Ensuite, connectez la broche GND du MPU-6050 à l'une des broches GND de l'Arduino. Pour la communication I2C, connectez la broche SDA du MPU-6050 à la broche analogique A4 de l'Arduino, et connectez la broche SCL à la broche analogique A5.

Pour l'écran LCD, branchez la broche VCC sur la broche 5V de l'Arduino et la broche GND sur la broche GND de l'Arduino. Connectez la broche SDA de l'écran LCD à la même broche A4 utilisée pour le MPU-6050, et la broche SCL de l'écran LCD à la broche A5. Ainsi, le MPU-6050 et l'écran LCD partagent les mêmes lignes I2C, ce qui simplifie le câblage.

Assurez-vous que les connexions sont bien fixées et qu'il n'y a aucun fil desserré. Si votre écran LCD ou votre capteur ne s'allume pas, vérifiez à nouveau le câblage et les connexions.

Exemples de code et guide pas à pas

Dans le code, nous commençons par inclure les bibliothèques nécessaires pour le MPU-6050 et l'écran LCD :

#include 
#include 
#include 

Ici, nous créons des instances pour le MPU-6050 et pour l'écran LCD. Le MPU-6050 est initialisé avec la bibliothèque Wire pour la communication I2C, tandis que l'écran LCD est configuré avec son adresse et ses dimensions.

Dans la fonction setup(), nous initialisons le capteur et l'écran LCD :

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  lcd.begin();
  lcd.backlight();
  lcd.clear();
}

Ce code configure la communication série pour le débogage, initialise la communication I2C et prépare l'écran LCD pour l'affichage. Le rétroéclairage est activé pour rendre l'écran visible.

Dans la fonction loop, nous lisons en continu les données du MPU-6050 et les affichons sur l'écran LCD :

void loop() {
  mpu6050.update();
  lcd.clear();
  lcdDisplay(mpu6050.getAngleX(), mpu6050.getAngleY(), mpu6050.getAngleZ());
  delay(100);
}

Ce fragment de code met à jour les données du capteur et efface l'écran LCD pour de nouvelles mesures toutes les 100 millisecondes. La fonction lcdDisplay est appelée pour afficher les angles sur l'écran LCD.

Pour une compréhension complète, veuillez regarder la vidéo correspondante où le code complet est présenté (dans la vidéo à 00:00).

Démonstration / À quoi s'attendre

Lorsque tout est correctement configuré, l'écran LCD doit afficher en temps réel les angles des axes X, Y et Z. Vous pouvez incliner le capteur MPU-6050 pour voir les variations à l'écran. Si vous rencontrez des problèmes, vérifiez une inversion de polarité dans votre câblage ou assurez-vous que les adresses I2C sont correctement configurées.

Surveiller les valeurs sur l'écran LCD vous permettra de voir comment le capteur réagit aux mouvements et aux changements d'orientation. Si les valeurs semblent statiques ou incorrectes, vérifiez les connexions et assurez-vous que le capteur fonctionne correctement.

Images

arduino_wiring_MPU-6050_LCD2004_bb
arduino_wiring_MPU-6050_LCD2004_bb
LCD2004_display-3
LCD2004_display-3
LCD2004_display-1
LCD2004_display-1
LCD2004_display-2
LCD2004_display-2
119-Arduino code for MPU-6050 accelerometer and gyroscope sensor (angles only)
Langue: C++
120-Arduino code for the MPU-6050 accelerometer and gyroscope sensor (all data)
Langue: C++
Copié !

Ressources et références

Fichiers📁

Bibliothèques Arduino (zip)

Fichier Fritzing

Autres fichiers