Modifications

1 613 octets ajoutés ,  22 mars 2021 à 16:05
Ligne 355 : Ligne 355 :  
[[Fichier:Code2 1.png|vignette|centré|Initialisation des variables globales]]
 
[[Fichier:Code2 1.png|vignette|centré|Initialisation des variables globales]]
 
Ensuite, toutes les secondes on vient inspecter l'état des Checkbox pour voir si elles sont cochées ou non puis on modifie la variable globale correspondante en fonction de cela : 0 si décochée, 1 si cochée.
 
Ensuite, toutes les secondes on vient inspecter l'état des Checkbox pour voir si elles sont cochées ou non puis on modifie la variable globale correspondante en fonction de cela : 0 si décochée, 1 si cochée.
 +
 
[[Fichier:Code2 3.png|vignette|centré|Modification des variables globales ]]
 
[[Fichier:Code2 3.png|vignette|centré|Modification des variables globales ]]
 
On va ensuite stocker les valeurs de nos variables globales dans la base de donnée de l'application. Nous avons besoin de faire cela afin de pouvoir récupérer ces valeurs dans le Screen suivant. Une fois toutes les variables stockées correctement, on ouvre le Screen suivant.
 
On va ensuite stocker les valeurs de nos variables globales dans la base de donnée de l'application. Nous avons besoin de faire cela afin de pouvoir récupérer ces valeurs dans le Screen suivant. Une fois toutes les variables stockées correctement, on ouvre le Screen suivant.
 +
 
[[Fichier:Code2 2.png|vignette|centré|Stockage des variables]]
 
[[Fichier:Code2 2.png|vignette|centré|Stockage des variables]]
 
*Screen 3 : à l'ouverture du Screen on va récupérer les valeurs des variables globales dans la base de donnée. En fonction de leur valeur (0 ou 1) on rendra visible ou non les données correspondantes. Par exemple, si la variable box_tension vaut 1 alors les valeurs de la tension seront rendues invisibles sur l'écran.
 
*Screen 3 : à l'ouverture du Screen on va récupérer les valeurs des variables globales dans la base de donnée. En fonction de leur valeur (0 ou 1) on rendra visible ou non les données correspondantes. Par exemple, si la variable box_tension vaut 1 alors les valeurs de la tension seront rendues invisibles sur l'écran.
[[Fichier:Code3 1.png|vignette|centré]]
+
 
 +
[[Fichier:Code3 1.png|vignette|centré|Récupération des variables globales]]
 
On configure ensuite le bouton qui nous permet d'aller nous connecter au périphérique souhaité (ici notre module HC-06). Il affiche la liste des périphériques Bluetooth connecté, après en avoir sélectionné un on affiche "Périphérique Connecté".
 
On configure ensuite le bouton qui nous permet d'aller nous connecter au périphérique souhaité (ici notre module HC-06). Il affiche la liste des périphériques Bluetooth connecté, après en avoir sélectionné un on affiche "Périphérique Connecté".
[[Fichier:Code3 2.png|vignette|centré]]
+
 
 +
[[Fichier:Code3 2.png|vignette|centré|500px|Connexion au périphérique Bluetooth]]
 +
Ensuite, on créé et on initialise une variable globale nommée flag (à ne pas confondre avec le flag envoyé par la STM) qui va nous permettre de bien synchroniser la réception des données. En effet, à chaque parcours de boucle on ne veut recevoir qu'une seule donnée (par exemple la tension) et au tour de boucle suivant, on affichera la donnée suivante (par exemple la vitesse).
 +
Et afin de synchroniser parfaitement l'envoi et la réception on commence détecter la réception d'une donnée précise (le flag de la STM) valent -9999. Nous avons choisi cette valeur car elle ne pourra jamais être atteinte par aucune des données affichées donc pas d'erreur possible. Une fois qu'on a reçu cette donnée valant -9999 on sait que les données reçues ensuite seront la distance parcourue (encodeurs), la tension de la batterie, la vitesse, la position x et la position y. On chaque fin d'un tour de boucle, on incrémente le flag.
 +
[[Fichier:Code3 3.png|vignette|700px|centré|Réception et affichage des données]]
 +
 
 +
Enfin, nous avons créé plusieurs fonctions permettant le stockage des données affichées si l'utilisateur le souhaite. Nous avons par exemple crée la fonction nettoyer_fichier qui vide le fichier à chaque nouveau lancement de l'application, et la fonction stockage_data qui va ajouter les données dans le fichier de stockage.
 +
Pour avoir plus d'informations sur la façon dont nous avons géré le stockage, nous vous invitons à aller voir notre page de tuto : METTRE LE LIEN DE LA PAGE TUTO.
    
===Résultats et bilan du projet===
 
===Résultats et bilan du projet===
243

modifications