Dans cet article, nous déterminons notre position (latitude et longitude) au moyen d'un module GPS NEO 6MV2 branché à un Raspberry Pi Pico programmé en MicroPython.
Tel que mentionné lors de notre première exploration du module GPS NEO 6MV2, le module GPS est presque autonome: il s'agit de l'alimenter au moyen d'une tension de 3,3 V pour qu'il se mette à capter des signaux en provenances des satellites GPS et communique les résultats par UART. Une LED bleue intégrée au module GPS clignote pour indiquer que le GPS dispose de données fiables (suite au démarrage du module, plusieurs dizaines de secondes sont parfois nécessaires avant que la LED ne se mette à clignoter).
Le circuit
Puisque le rôle du Raspberry Pi Pico se limite à recevoir les données qui lui seront communiquées par le module GPS, j'ai branché le module GPS au Raspberry Pi Pico de la façon suivante:
- Broche VCC du module GPS: sortie 3,3 V du Raspberry Pi Pico.
- Broche RX du module GPS: broche GP4 du Raspberry Pi Pico*
- Broche TX du module GPS: broche GP5 du Raspberry Pi Pico
- Broche GND du module GPS: broche GND du Raspberry Pi Pico
* Notez qu'il n'est pas nécessaire de brancher la broche RX du module GPS (car le Raspberry Pi Pico n'enverra aucune information vers le GPS).
Premier script: affichage des données brutes
Dans un premier temps, nous nous contenterons d'afficher dans la console les données brutes émis par le module GPS. Sans surprise, le script est très court, puisqu'il se résume à démarrer le bus UART 1 (associé aux broches GP 4 et GP 5) avec une vitesse de transmission de 9600 bauds, et d'afficher tout ce qui est reçu.
-
-
Si votre module GPS capte des signaux en provenance des satellites (donc si sa LED clignote), vous devriez voir s'afficher des messages débutant par $GPRMC, $GPVTG, etc.
Voici ce que j'ai obtenu dans la console de Thonny:
Installation de la bibliothèque microGPS
Si le coeur vous en dit, vous pouvez vous documenter sur la norme NMEA 0183 afin d'extraire vous-même les informations qui vous intéressent (latitude, longitude, etc).
Je vous propose plutôt d'installer la bibliothèque micropyGPS de Calvin McCoy.
Prenez soin d'enregistrer le fichier micropyGPS.py dans le Raspberry Pi Pico afin de pouvoir utiliser le deuxième script que je vous propose ci-dessous.
Deuxième script: affichage des données pertinentes
La bibliothèque microGPS met à notre disposition plusieurs méthodes permettant d'extraire la latitude, la longitude, l'altitude, etc. à partir des données brutes fournies par le module GPS:
- latitude retourne la latitude sous la forme d'un tuple: [degrés, minutes, Nord ou Sud]
- longitude retourne la longitude sous la forme d'un tuple: [degrés, minutes, Est ou Ouest]
Il ne vous reste plus qu'à modifier le script pour qu'il réponde à vos besoins (affichage sur un écran, etc.).
À lire également
- Le même module GPS NEO 6MV2 utilisé avec un Arduino
- Fabrication d'un enregistreur GPS (GPS logger)
- Programmation du Raspberry Pi Pico en MicroPython avec Thonny
- Module Bluetooth HC-06 et Raspberry Pi Pico (MicroPython)
Yves Pelletier (Facebook)
super tuto, je suis en train de modifier pour afficher sur un 1602A, mais je bute , quelles données dois-je prendre pour afficher ? merci
RépondreSupprimerrebonjour, c'est bon j'ai trouvé comment faire. a+
Supprimer