Description du projet Mettre en pratique le module Arduino pour calculer en temps réel le QTH Locator en fonction des informations issues un GPS.
Étape n°1 - l’Arduino peut-il faire ça ?
Pour cela rien de mieux que d’essayer de commencer par le programme de calcul du QTH Locator. C’est la partie que j’ai identifié comme étant la plus complexe.
Le programme, pour l’instant, se contente de traiter des coordonnées GPS fixes, le but étant simplement de vérifier son bon fonctionnement.
A des fins de ré-utilisabilité, j’ai séparé le traitement de la chaîne du GPS de celle du calcul du QTH locator.
Voici le programme principal accompagné de la librairie "Locator", c’est du "made in maison" :-)
Il faut également récupérer deux librairies indispensables au programme :
– TinyGPS, pour les données GPS, fournie par le site Arduiniana
– LCD4bit_Mod, fournie par le fabricant de l’écran LCD DFRobot
Elle sont aussi téléchargeables ci-dessous.
Étape n°2 - acquisition des données du GPS
La plupart des GPS envoient les données via une communication en RS-232 donc cela reste très simple à exploiter.
Ci-contre on peut voir que je suis passé par une platine d’essai uniquement pour alimenter le GPS, la connexion RS-232 est directe. Je n’ai câblé que le TX du GPS et la masse.
Pour afficher les données, j’ai utilisé HyperTerminal avec la configuration suivante
– Vitesse : 4800 bauds
– Bits de données : 8
– Bit de parité
– Contrôle du flux : Aucune
Le fichier HyperTerminal est directement disponible ici (pour le port COM2)
Je sais désormais qu’il me faut traiter les trames GPGSA, GPRMC, GPGSV et GPGGA. C’est sur cette dernière que je vais me concentrer car elle contient les coordonnées mais aussi la vitesse et l’altitude ; tout ce dont j’ai besoin.
Étape n°3 - Conversion des niveaux RS-232 en niveaux TTL
Les modules Arduino sont tout à fait capables de gérer une communication série mais seulement avec des niveaux électriques TTL, soit 0 ou 5V. Il faut donc :
– soit convertir les signaux
– soit utiliser un GPS qui fourni les signaux TTL, ce n’est pas mon cas
Pour rappel, le RS-232 utilise une tension de -3V à -15V pour l’état logique 1 et de +3V à +15V pour l’état logique 0.
Le montage est extrêmement simplifié car il ne s’agit même pas d’une communication bidirectionnelle.
On a deux possibilités :
– montage à transistors (exemple sur cette page)
– utilisation d’un circuit dédié comme le MAX232 (exemple sur cette page)
Personnellement, j’ai opté pour la version à transistor avec un 2SC1815 de récupération.
Étape n°4 - assemblage final et essais
Le convertisseur RS-232 vers TTL est monté sur de la platine d’expérimentation. A la mise sous tension, il n’y a pas eu de surprises, ça fonctionne comme il se doit. Bon c’est sûr qu’à l’arrêt dans le shack ce n’est pas très impressionnant.
Convertisseur RS-232 vers TTL
|
Et voilà une bidouille de plus de terminé.
73’s
Jean-Michel



