Montage utilisé :
Il s'agit d'une UNO, un GPS de type NEO6M et d'un afficheur Adafruit ou Elecfreak alphanumérique.
La trame qui nous intéresse ressemble à ceci : $GPVTG,053.7,T,024.5M,005.5,N,012.4,K*48
La vitesse est l'avant dernier champ : 012.4 dans cet exemple. Il va donc falloir aller le lire.
La première difficulté, est de vérifier si on a bien la bonne trame. En effet, un GPS reçoit en permanence plusieurs trames à la suite, toujours dans le même ordre. Il faut faire le tri.....
Ensuite, si on a la bonne trame, on va compter les champs.
🔔note aux plus pointilleux : dans cet article, je compte les index avec des variables différentes. Je sais, j'aurais pu aussi utiliser un tableau. Je ne l'ai pas fait pour ne pas embrouiller les lecteurs qui n'ont pas tous le même niveau.
Les captures ont été faites à partir de Visual Studio 2017 et du module Visual Micro
Partie initialisation du programme :
Partie initialisation du programme :
Partie réception du programme :
Partie décodage (traitement) du programme :
Note : tous les traits et autres signes pour la console série ne sont pas nécessaires, c'est juste pour débugger plus facilement...
Partie restitution du programme :
En fonction :
Photo prise en tant que passager🚗🚦
Et tout ça sans bibliothèque de traitement de GPS...... !
Des questions ? Un petit mail......