Pages

lundi 12 mars 2018

Lire une vitesse à partir d'un GPS avec une carte Arduino

Cet article va expliquer brièvement comment on peut décoder une trame GPS pour en extraire une information. Dans notre cas, nous irons lire la trame VTG qui fournit la vitesse en Mph et Km/h.


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