Différences entre versions de « Projet 5A 2020 2021/Tuto utilisation et modification »

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche
Ligne 28 : Ligne 28 :
  
 
==Explication du code et lien vers le Git==
 
==Explication du code et lien vers le Git==
 +
===Code STMCubeIDE===
 +
Pour réaliser la communication UART entre la STM32 et notre module Bluetooth, on commence par brancher les câbles comme mentionnées un peu plus haut. On doit ensuite configurer notre projet sur STMCubeIDE. Pour cela il suffit de sélectionner l'UART, de l'activer puis de régler certains paramètres.
 +
On pourra ainsi modifier le baudrate, la structure de la trame (nombre de bit de stop, nombre de bits de données...), activer ou non les interruptions... Dans notre cas, on choisira le mode Asynchrone pour l'UART, un baudrate de 9600 et on activera les interruptions.
 +
 +
Une fois ces réglages réalisés, notre communication est opérationnelle. On pourra ainsi utiliser différentes fonctions dans le code de la STM32 pour envoyer les données sur les pins de l'UART4.
 +
On utilisera par exemple les fonctions :
 +
'''HAL_UART_Transmit_IT'''(&huart4, (uint8_t*) txt_a_envoyer,sizeof(txt_a_envoyer));
 +
'''HAL_Delay'''(temps) qu'on remplacera par osDelay(temps) avec l'utilisation de FreeRTOS
 +
 +
La fonction HAL_UART_Transmit permet de transmettre une chaine de caractère sur l'UART souhaité. Les fonctions HAL_Delay et osDelay permettent d'ajouter un temps d'attente entre les différents Transmit afin de laisser suffisamment de temps au microcontrôleur pour envoyer les données.
 +
[[Fichier:Config uart4.png|vignette|centré|Réglage des paramètres de l'UART4]]
 +
 +
On pourra ainsi envoyer des données et aller les récupérer via un terminal (connecté au module Bluetooth) ou a une application.
 +
 +
[[Fichier:Terminal text.png|200px|vignette|centré|Réception des données ]]
 +
 +
 +
===Récupérer du code général===
  
 
==Utilisation des modules Bluetooth HC-06==
 
==Utilisation des modules Bluetooth HC-06==

Version du 31 mars 2021 à 14:55

Afin de vous aider à mieux comprendre la façon dont nous avons réalisé notre projet, nous avons rédigé ce document tutoriel. Cela devrait vous permettre de réussir à reprendre les différentes étapes du projet si nécessaire. TUTO EN COURS DE REDACTION

Projet 1 : Carte d'alimentation

Soudure de la carte du robot 2

Projet 2 : Écran de contrôle

Procédure générale

Pour pouvoir utiliser notre application vous devez :

  • Télécharger les applis et docs nécessaires + l'application Polybot (voir section ci-dessous)
  • Câbler le module sur la STM32 (voir section ci-dessous)
  • Connecter le téléphone/tablette au module Bluetooth dans les paramètres généraux
  • Lancer l'application (le robot doit être allumé)
  • Choisir les données qu'on souhaite afficher, si on souhaite stocker les données ou pas et valider
  • Cliquer sur "choisir périphérique" et sélectionner le module correspondant puis l'affichage devrait se lancer
  • Si on a choisit de stocker les données et qu'on veut aller les regarder on va dans l'application Cx Explorateur de Fichier, on clique sur AppInventor/asset et on ouvre le fichier stockage_data_robot. On peut aussi brancher le téléphone/tablette sur un ordinateur pour aller ouvrir le fichier directement sur l'ordinateur et traiter les données ensuite par exemple. (voir section ci-dessous)

A NOTER : il s'agit d'une application uniquement disponible pour les téléphones et tablettes Android.

Application Polybot

Télécharger l'application

  • Application Android uniquement
  • Installation de Cx Explorateur de fichier
  • Télécharger le doc AppInventor à ce lien : (créer sur le drive polybot)

Comprendre et/ou modifier le code de l'application

Affichage des données

Stockage des données

Explication du code et lien vers le Git

Code STMCubeIDE

Pour réaliser la communication UART entre la STM32 et notre module Bluetooth, on commence par brancher les câbles comme mentionnées un peu plus haut. On doit ensuite configurer notre projet sur STMCubeIDE. Pour cela il suffit de sélectionner l'UART, de l'activer puis de régler certains paramètres. On pourra ainsi modifier le baudrate, la structure de la trame (nombre de bit de stop, nombre de bits de données...), activer ou non les interruptions... Dans notre cas, on choisira le mode Asynchrone pour l'UART, un baudrate de 9600 et on activera les interruptions.

Une fois ces réglages réalisés, notre communication est opérationnelle. On pourra ainsi utiliser différentes fonctions dans le code de la STM32 pour envoyer les données sur les pins de l'UART4. On utilisera par exemple les fonctions :

HAL_UART_Transmit_IT(&huart4, (uint8_t*) txt_a_envoyer,sizeof(txt_a_envoyer));
HAL_Delay(temps) qu'on remplacera par osDelay(temps) avec l'utilisation de FreeRTOS

La fonction HAL_UART_Transmit permet de transmettre une chaine de caractère sur l'UART souhaité. Les fonctions HAL_Delay et osDelay permettent d'ajouter un temps d'attente entre les différents Transmit afin de laisser suffisamment de temps au microcontrôleur pour envoyer les données.

Réglage des paramètres de l'UART4

On pourra ainsi envoyer des données et aller les récupérer via un terminal (connecté au module Bluetooth) ou a une application.

Réception des données


Récupérer du code général

Utilisation des modules Bluetooth HC-06

Changer le nom, le mot de passe, ou le baudrate des modules HC-06

Logo arduino.png

Pour modifier le nom, le mot de passe ou le baudrate des modules Bluetooth vous aurez besoin d'une carte Arduino Leonardo.

Suivez ensuite les consignes expliquées sur ce lien : http://idehack.com/blog/configurer-le-module-bluetooth-hc-06/

Pour le moment, les 2 modules se nomment : Polybot_Robot1 et Polybot_Robot2; leur mot de passe est sur le Drive Polybot; et le baudrate est a 115200. Pour changer le baudrate la commande a taper sur le moniteur série d'Arduino IDE est : AT+BAUDx

Ex: si vous voulez changer le baudrate en 9600 tapez AT+BAUD4. Le module devrait répondre OK9600. (Note: 1 pour 1200, 2 pour 2400, 3 pour 4800, 4 pour 9600, 5 pour 19200, 6 pour 38400, 7 pour 57600, 8 pour 115200).

Câblage des modules sur la STM32

Concernant le montage du montage sur la STM32, il suffit de brancher les 4 pins du module sur la STM32 de la façon suivante :

Pin HC-06 Pin STM32
VCC 5V
GND GND
RXD PA0 (UART4)
TXD PA1 (UART4)

Traiter les données enregistrées - Tracer la trajectoire du robot

  • Ouvrir le fichier "stockage_data_robot.csv" qui se trouve dans le dossier AppInventor/asset
  • Sélectionner le tableau en entier
  • Aller sur "Données" puis cliquer sur "Convertir" :

->délimité, virgule, identif de texte ", standart TERMINER METTRE UN SCREEN DES REGLAGES

  • Sélection de pos x et pos y
  • Insertion nuage de point

ET VOILA ON OBTIENT NOTRE TRAJECTOIRE

REMARQUE : Vous ne pourrez pas enregistrer le fichier, il faudra l'enregistrer sous un autre nom et un autre format.