---
# System prepended metadata

title: ROBO
tags: [GISTRE]

---

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