--- title: ROBO tags: GISTRE --- # ROBO: MPU-6050 Ce rapport introduit l'utilisation de la STM32 avec un capteur MPU6050 qui est un capteur à 6 axes. Ce capteur est doté d'un accéléromètre qui permet d'obtenir l'accélération en x, y et z ainsi que d'un gyroscope qui traduit la rotation autour de chacun de ces trois axes susnommés. ## Branchement carte/capteur ![](https://i.imgur.com/v1rUYLb.png) Fait avec Fritzing ## Programmation de la nucleoF4 Utilisation de CubeMx pour paramétrer et générer le code pour initialiser la carte. Utilisation d'une bibliothèque (TJ_MPU6050) pour lire les données du capteur MPU-6050. Une fois les données récupérées, elles sont envoyées sur l'UART. https://www.youtube.com/watch?v=-tvaeeJMW1w ## Affichage de la donnée Pour afficher la donnée nous avons écrit une application en Python utilisant `Flask`. `Flask` est un framework pour développer des applications web en Python. Nous utilisons deux scripts Python: - `app.py` qui permet de lancer l'application web à l'adresse `127.0.0.1:8080` - `reader.py` qui permet de lire sur le port serial sur lequel la carte sera branchée ### Plus de précisions sur ces deux scripts D'un côté un script `reader.py` va lire sur le port serial et va recueillir les données qui lui sont envoyés par la carte via l'UART. Tous les 10 échantillons on sauvegarde nos graphiques à l'aide de `matplotlib`, sous format PNG, dans un dossier `static`. De l'autre, le script `app.py` et plus précisément le template qui permet d'afficher la page on va aller chercher ces graphiques et les afficher dans notre page web à l'adresse 127.0.0.1:8080. ## Architecture du projet ```yaml= robo_project +-- AUTHORS +-- app # Code pour afficher les valeurs lues | +-- README.md | +-- app.py | +-- reader.py | +-- static | | +-- accel.png | | +-- css | | | +-- style.css | | +-- gyro.png | +-- templates | | +-- homepage.html +-- flash # Code à téléverser sur STM32 ... ```