---
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

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
...
```