Arduino gyroscope accéléromètre tutorial

Arduino gyroscope accéléromètre tutorial

Accéléromètre mpu6050

Le MPU6050 est une unité de mesure inertielle ou IMU (Inertial Measurement Units) à 6 degrés de liberté (DoF) car il combine un accéléromètre à 3 axes et un gyroscope à 3 axes. Ce capteur est largement utilisé dans la navigation, la goniométrie, la stabilisation, etc.

Dans ce tutoriel, nous allons revoir les principes généraux des accéléromètres et des gyroscopes, puis nous étudierons plus en détail le capteur MPU6050 et enfin nous implémenterons des exemples du MPU6050 avec Arduino.

Ce deuxième concept est utilisé par les accéléromètres pour mesurer l’accélération.  Les accéléromètres possèdent en interne un MEMS (MicroElectroMechanical Systems) qui, de manière similaire à un système de masse à ressort, permet de mesurer l’accélération.

Avec l’accéléromètre nous pouvons faire des mesures indirectes, par exemple si nous intégrons l’accélération dans le temps nous avons la vitesse et si nous l’intégrons à nouveau nous avons le déplacement, nécessitant dans les deux cas respectivement la vitesse et la position initiale.

Avec un gyroscope, nous pouvons mesurer la vitesse angulaire, et si nous intégrons la vitesse angulaire par rapport au temps, nous obtenons le déplacement angulaire (la position angulaire si nous savons où la rotation a commencé).

Projets arduino pour gyroscope

– Un avion va à 600 km/h, un peu plus tard il passe à une vitesse constante de 800 km/h. Quelle accélération a-t-il maintenant, AUCUNE, car s’il va constamment à 800 km/h il n’accélère pas. Dans ce cas, nous ne pouvons pas savoir quand il a accéléré de 600 km/h à 800 km/h car on ne nous dit pas en combien de temps il a effectué ce changement.

  Arduino infrared remote tutorial

– Sur la carte nous avons deux gyroscopes (SDA-SCL) et (XDA-XSL), pour que l’un ou l’autre agisse, nous devons mettre l’entrée AD0 à 0 ou 1. Si nous ne connectons rien à AD0, il sera mis à 0 et agira (SDA-SCL), comme nous le verrons dans la plupart des tutoriels. Donc on connecte : Vcc, Gnd, SDA et SCL.

Fonctionnement du Mpu6050

Ce module est basé sur le capteur MPU 6050 et contient tout ce qui est nécessaire pour donner aux projets la capacité de mesurer le mouvement, en combinant un gyroscope 3 axes et un accéléromètre 3 axes sur la même puce, ce qui en fait le premier capteur de mouvement qui intègre ces fonctionnalités à un prix bas sur le marché. Il intègre un DMP (Digital Motion Processor) capable de réaliser des algorithmes complexes de capture de mouvement sur 9 axes.    Il communique par le biais d’une interface I2C et dispose d’une bibliothèque très répandue pour une utilisation immédiate. Ce capteur peut offrir 6 degrés de liberté et intègre un régulateur de tension de 3,3 V et des résistances de rappel pour une utilisation I2C directe. L’utilisation de la bibliothèque i2cdevlib facilite la mise en œuvre de projets où le contrôle de l’inclinaison, du lacet et de l’altitude est nécessaire, comme dans les modèles réduits d’avions. Il peut être utilisé avec les microcontrôleurs AVR, ARM et microchip. Sa connexion est simple, via l’interface maître I2C, ce qui permet de contrôler des capteurs externes supplémentaires tels que des magnétomètres ou des baromètres, entre autres, sans intervention du processeur principal (économie de ressources). Pour une capture précise des mouvements rapides et lents, il dispose d’une échelle programmable de 250/500/1000/1000/2000 degrés/seconde pour le gyroscope et de 2g/4g/8g/16g pour l’accéléromètre. Ce capteur est généralement utilisé pour le contrôle du jeu.

  Arduino 433mhz receiver tutorial

Code arduino Mpu6050

Il est important de comprendre que les IMU sont des éléments matériels assez sophistiqués et que le MPU650 que nous allons utiliser est une puce à 6 dof ou degrés de liberté car il comprend un accéléromètre à 3 axes et un gyroscope à 3 axes.

Il suffit de connecter les broches d’alimentation et de monter les broches nécessaires au contrôle du bus I2C. Quand l’IMU a une mesure disponible, il informe notre Arduino via une interruption et donc nous connectons la broche INT à notre première interruption sur la broche 2.

Ensuite, nous nous assurons que la console série est à 38400 bauds, car les IMU sont très bavards et il vaut mieux s’assurer que nous recevons à une vitesse suffisante, sinon les informations s’accumuleront à notre porte.

Ce programme est très simple, et ce qu’il fait est de lire et d’imprimer les valeurs brutes que les accéléromètres et les gyroscopes envoient à votre Duino, c’est-à-dire sans aucun traitement, ce qui n’est pas d’une grande utilité, mais c’est un programme qui, si vous sautez les parties d’égyptien ancien qu’il contient, vous trouverez tout à fait compréhensible, en termes généraux.