Tracker APRS Arduino

Dans cet article je vais vous présenter mon tracker APRS basé sur une Arduino UNO et un GPS de radiosonde.

Photo du shield monté sur son Arduino Uno

Présentation générale

Ce tracker est basé sur une Arduino UNO et sur un GPS de radiosonde. Il fonctionne avec un shield présenté plus bas. Pour fonctionner, il suffit de le brancher sur une alimentation 12V (ou sur une prise allume-cigare) et de le connecter à une radio. Le shield se charge de réduire la tension d’alimentation pour alimenter la carte Arduino, il se charge également de gérer le PTT et les différentes connexions.

Le matériel nécessaire :

  • Une carte Arduino UNO,
  • Un GPS de radiosonde ou tout autre GPS compatible avec la librairie TinyGPS++,
  • Un poste radio,
  • Le shield présenté plus bas.

Pour réaliser le circuit imprimé, voir la liste des composants dans la rubrique dédiée au shield.

Fonctionnement

Comme dit plus haut, ce tracker s’alimente directement en 12V, sur une prise allume cigare de voiture par exemple.

Schéma montrant le fonctionnement du tracker.

Le shield utilisé

Le shield utilisé est un shield que j’ai conçu avec des composants simples. Il a pour objectif de convertir le 12V en 5V afin d’alimenter la carte Arduino, et de gérer les connexions entre la carte Arduino, la radio et le GPS.

Afin de faciliter la conception du shield, j’ai découpé son schéma en plusieurs fonctions. Voilà le schéma global :

Schéma global du shield.
Liste des composants

Voilà la liste des composants nécessaires à la réalisation de ce shield :

NomTypeValeurAutre info
R1Résistance1k
R2Résistance2.2k
C2Condensateur polarisé1µFDiamètre : 5mm
Entre bornes : ~2,5mm
C1Condensateur polarisé10µFDiamètre : 6mm
Entre bornes : 5mm
D1Diode1N4007
D3Diode1N4148
D2, D4DELDiamètre 5mmCouleur au choix, D2 pour le PTT, D4 pour la mise sous tension
T1Transistor NPN2N2222Boitier TO-92
CI1Régulateur de tensionL7805
JP2Connecteur femelle1x3 pinsConnecteur de type pins Arduino
JP1Connecteur femelle1x4 pinsConnecteur de type pins Arduino
JP3Bornier à vis2 bornes

A cette liste il faut rajouter les différents pins males pour assurer l’assemblage avec la carte Arduino, soit des barrettes de:

  • 1 barrette de 1×6 pins,
  • 2 barrettes de 1×8 pins,
  • 1 barrette de 1×10 pins.
Le circuit imprimé

Il est possible de réaliser le montage sur une plaque à trous en faisant le montage avec des fils, mais le mieux est de le faire en circuit imprimé, chose que j’ai faite. Les composants sont des composants traversants, mais pour faciliter la mise en place des pins qui se connectent sur l’Arduino j’ai décidé de mettre les pistes côté composants.

Le PCB avec les emplacements des composants.

N’hésitez pas à me contacter par mail à l’adresse suivante pour avoir plus d’informations sur le PCB ou si vous voulez que je vous envoi le fichier EAGLE : meteobruno@gmail.com

La librairie Arduino utilisé

La librairie utilisée est celle de la V1 de la station météo APRS mobile et que j’avais présenté rapidement dans cet article.

Il s’agit donc de librairie aprslib, que vous pouvez télécharger ici.

La librairie contient 2 fichiers d’exemple : 1 premier fichier sans GPS, un second fichier, celui qui nous intéresse ici, nommé testaprslibgps. Ce fichier combine la librairie aprslib et la librairie Tinygps++ pour envoyer la position GPS par APRS. Pour utiliser le fichier, il faut donc installer la librairie Tinygps++, disponible ici.

Préparation de la librairie

Pour utiliser le fichier d’exemple utilisant le GPS, je vous conseille de copier le contenu de la librairie et le fichier d’exemple dans un même dossier comme ci-dessous :

Capture d’écran du projet Arduino

Une fois que vous avez copié les fichiers, il faut modifier l’appel de la librairie aprslib dans le fichier .ino. Pour cela, à la ligne 31, remplacez les chevrons par des guillemets comme sur la capture suivante :

Capture du fichier .ino pour la modfication de l’appel de la librairie

Vous n’avez ensuite plus de grosse modification à faire, il vous suffit d’adapter les champs à votre utilisation.

Personnaliser les informations de la librairie

Voyons maintenant comment adapter la librairie à notre utilisation et comme la personnaliser avec nos informations.

Pour commencer, il faut saisir notre indicatif. Cette étape se fait entre les guillemets de la ligne 65 du fichier .ino. Toujours dans le fichier .ino, vous pouvez modifier le commentaire APRS. Pour cela, modifier le contenu entre guillemets de la ligne 188 (attention, vous êtes limité à 30 caractères).

Nous allons maintenant modifier le contenu du fichier nommé config.h. A la ligne 43 vous pouvez modifier votre SSID. Voici une liste des SSID à utiliser en fonction des utilisations :

Liste des SSID, source : http://info.aprs.net/index.php?title=AprsStation

Toujours dans le fichier config.h, à la ligne 53 vous pouvez modifier le WIDE de votre trame.

Enfin, dans le fichier aprslib.cpp, vous modifier le symbole APRS sous lequel vous apparaitrez à la ligne 74 (par défaut c’est la table primaire qui est utilisée, mais en modifiant la ligne 71 vous pouvez chosir la table secondaire). Les tables de symboles sont disponibles ici. Personnellement, j’ai choisi de mettre le symbole de la voiture, donc le caractère « > » de la table primaire.


Capture d’une trame envoyée avec le tracker sur aprs.fi
Une nouvelle version du Tracker est disponible ici (le programme ne change pas)

2 réflexions au sujet de « Tracker APRS Arduino »

  1. super Enzo
    mais je ne suis pas équipé pour faire un circuit imprimé as-tu la possibilité d’en faire?
    si oui fais-le moi savoir et on trouvera un moyen pour se voir (je paierai le circuit bien evidemment). J’ai 2 gps radio sonde et un ou 2 Gps pro 1 en ci -icom je crois) et un autre que je voudrais bien essayer. Tout cela pour le fun et la bricole car j’ai 2 tinytrack depuis longtemps un perso et un de l’Adrasec13
    73 Amitiés Christian

    1. Salut, oui je fais mes circuits imprimés moi même donc aucun soucis pour que je t’en fasse. On en reparle via Whatsapp
      73′ Enzo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *