Calculer les angles d'inclinaison à partir de l'accélération MPU6050 avec Arduino Nano et Visuino
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Nano R3 | 1 |
| Module accéléromètre/gyroscope MPU-6050 (SparkFun Triple Axis) | 1 |
Applications et services en ligne
- Visuino – Environnement de développement graphique pour Arduino
- Arduino IDE
À propos de ce projet
J'ai déjà publié un tutoriel sur la connexion du capteur MPU9250 (accéléromètre, gyroscope, boussole) à un Arduino Nano programmé avec Visuino pour envoyer des paquets de données et les afficher sur un oscilloscope et des instruments virtuels.
L'accéléromètre envoie les forces d'accélération sur les axes X, Y et Z. Cependant, on a souvent besoin de convertir ces forces en angles 3D X, Y, Z pour déterminer l'orientation 3D du capteur. Plusieurs personnes ont demandé ce tutoriel, et j'ai enfin trouvé le temps de le réaliser.
Certains ont aussi demandé comment connecter et utiliser le MPU6050 (accéléromètre + gyroscope), plus simple et moins cher que le MPU9250. J'ai donc choisi ce module pour ce tutoriel.
Dans ce tutoriel, je montre à quel point il est facile de connecter un MPU6050 à un Arduino Nano et de le programmer avec Visuino pour convertir l'accélération en angles 3D X, Y, Z.
Étape 1 : Composants
- Une carte Arduino compatible (j'utilise un Arduino Nano, mais n'importe quelle autre convient)
- Un module MPU6050 Accéléromètre Gyroscope
- 4 fils femelle-femelle
Étape 2 : Connecter le MPU6050 à l'Arduino
- Connectez VCC 5V (fil rouge), GND (fil noir), SCL (fil jaune) et SDA (fil vert) au module MPU6050 (Image 1)
- Connectez l'autre extrémité du fil GND (noir) à une broche GND de l'Arduino Nano (Image 2)
- Connectez l'autre extrémité du fil VCC 5V (rouge) à la broche 5V de l'Arduino Nano (Image 2)
- Connectez l'autre extrémité du fil SDA (vert) à la broche SDA / Analog pin 4 de l'Arduino Nano (Image 3)
- Connectez l'autre extrémité du fil SCL (jaune) à la broche SCL / Analog pin 5 de l'Arduino Nano (Image 3)
- L'image 4 montre l'emplacement des broches GND, 5V, SDA/A4 et SCL/A5 sur l'Arduino Nano
Étape 3 : Démarrer Visuino et sélectionner le type de carte Arduino
- Installez l'Arduino IDE (version 1.6.7 ou supérieure requise) depuis arduino.cc.
- Installez Visuino depuis visuino.com.
- Démarrez Visuino.
- Cliquez sur le bouton « Tools » du composant Arduino dans Visuino (Image 1).
- Dans la boîte de dialogue, sélectionnez Arduino Nano (Image 2).
Étape 4 : Dans Visuino, ajouter et connecter les composants MPU6050 et AccelerationToAngle
- Tapez « 6050 » dans la boîte de filtre de la boîte à outils, sélectionnez « Accelerometer Gyroscope MPU6000/MPU6050 I2C » (Image 1) et déposez-le dans la zone de conception (Image 2).
- Tapez « angle » dans la boîte de filtre, sélectionnez « Acceleration To Angle » (Image 2) et déposez-le (Image 3).
- Cliquez dans la boîte « Out » de la boîte « Accelerometer » contenant les broches X, Y, Z de l'accélération du composant AccelerometerGyroscope1 pour commencer à connecter toutes les broches Out à la fois (Image 3).
- Déplacez la souris sur la broche d'entrée « X » de la boîte « In » du composant AccelerationToAngle1. Visuino étendra automatiquement les fils pour les connecter correctement aux autres broches (Image 3).
- Connectez la broche « Out » du composant AccelerometerGyroscope1 à la broche « In » du canal I2C du composant Arduino (Image 4).
Étape 5 : Dans Visuino, ajouter un composant Packet et 3 éléments Analog Binary et les connecter
Pour envoyer toutes les données des canaux via le port série depuis l'Arduino, nous utilisons le composant Packet pour regrouper les canaux et les afficher dans l'oscilloscope et les jauges de Visuino :
- Tapez « packet » dans la boîte de filtre, sélectionnez le composant « Sine Analog Generator » (Image 1) et déposez-le dans la zone de conception.
- Dans l'inspecteur d'objets, développez la propriété « Head Marker » (Image 2).
- Cliquez sur le bouton « ... » (Image 2).
- Dans l'éditeur d'octets, saisissez quelques nombres, par exemple 55 55 (Image 3).
- Cliquez sur OK pour valider et fermer l'éditeur.
Étape 6 : Dans Visuino, ajouter 3 éléments Analog Binary au composant Packet et les connecter
- Cliquez sur le bouton « Tools » du composant Packet1 (Image 1).
- Dans l'éditeur « Elements », sélectionnez l'élément « Binary Analog » et cliquez 3 fois sur le bouton « + » (Image 2) pour ajouter 3 éléments Analog (Image 3).
- Cliquez dans la boîte « Out » de la boîte « Accelerometer » contenant les broches du composant AccelerationToAngle1 pour connecter toutes les broches Out à la fois (Image 4).
- Déplacez la souris sur la broche « In » de l'élément « Elements.Analog(Binary)1 » du composant Packet1. Visuino connectera automatiquement les autres broches correctement (Image 4).
- Connectez la broche de sortie « Out » du composant Packet1 à la broche d'entrée « In » du canal « Serial[ 0 ] » du composant Arduino (Image 5).
Étape 7 : Générer, compiler et téléverser le code Arduino
- Dans Visuino, appuyez sur F9 ou cliquez sur le bouton affiché (Image 1) pour générer le code Arduino et ouvrir l'Arduino IDE.
- Dans l'Arduino IDE, cliquez sur Téléverser pour compiler et téléverser le code (Image 2).
Étape 8 : Et c'est parti !
- Dans Visuino, sélectionnez le port série, puis cliquez sur la liste déroulante « Format: » et sélectionnez Packet1 (Image 2).
- Cliquez sur le bouton « Connect » (Image 2).
- Si vous sélectionnez l'onglet « Scope », vous verrez l'oscilloscope tracer les angles X, Y, Z au fil du temps (Image 3).
- Si vous sélectionnez l'onglet « Instruments », vous verrez les jauges afficher les mêmes informations (Image 4).
Vous pouvez voir le capteur en action dans la vidéo.
Félicitations ! Vous avez créé un projet Visuino convertissant l'accélération en angle à partir du capteur MPU6050.
L'image 5 montre le diagramme Visuino complet. Le projet Visuino complet est joint et téléchargeable pour l'ouvrir dans Visuino : visuino.com.
Code
MPU6050AccelerationToAngleTutorial – Projet Visuino complet
No preview (download only).
Processus de fabrication
- Capteurs accéléromètres : Fonctionnement et utilisations
- Optimisation de la détection d'inclinaison haute précision : fondamentaux de l'accéléromètre
- Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
- Capteur de pression barométrique BMP180 I2C – Guide d'intégration Raspberry Pi
- Transfert de données température/humidité entre deux Arduinos via Firebase
- Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
- Construisez un Stadiomètre Numérique : Suivez la Croissance avec Arduino et Capteur Laser
- Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
- Tour de Capteurs avec Arduino Cloud : Température, Mouvement et Gaz