Après avoir mis en oeuvre et testé avec succès un de mes derniers projets pour Nostress, je souhaitais partager, à tous ceux qui comme moi aime bien le côté technique de la navigation, une de mes dernières réalisations. Une station radio embarqué avec enregistrement automatisé des conditions météo dans le journal de bord d’Opencpn.
Complément : Suivez la vidéo qui explique ce qu’est la carte Arduino et comment elle à été mise en oeuvre à bord d’un voilier pour une personne à mobilité réduite
Présentation de la carte Arduino
Maintenant que les présentation sont faites et avant toute chose, pour éviter les commentaires du genre « …pour quelques euros on à des stations météo toute faite…. », je tiens à préciser que ce projet à été réalisé pour tester et m’initier au monde de l’électronique embarquée. Je n’avais jamais fais d’électronique de ma vie et en aucun cas je ne suis devenu un spécialiste ! Je suis tout au plus bien éclairé sur le sujet. Donc si ce genre de projet vous intéresse, sachez que, si comme moi vous partez de 0 : C’est possible.
Objectif du projet
- S’initier à l’électronique embarquée
- Réaliser une station météo dont les données seront automatiquement enregistrées dans le journal de bord d’OpenCpn (plugin Logbookonni) à l’aide d’une liaison bluetooth
Pré-requis
Avoir un ordinateur avec une connexion USB.
Matériel nécessaire
Carte Arduino Uno r3 | |
Capteur (shield) BMP085 (ou modèle similaire) | |
Régulateur de tension positive 12v (Celui que j’utilise est un LM7812 modèle TO 220). Contrairement aux autres modèles il à la particularité de pouvoir être monté avec un dissipateur de chaleur si nécessaire |
|
Un module de transmission bluetooth | |
|
Câble de liaison Les câbles sont vendus soit en mâle-mâle soit en femelle-femelle. Il en faut des 2. Ils sont vendu généralement par lot avec assortiment de couleurs. |
|
Gaine thermorétractable
|
Boitier pour ranger la carte Arduino + un second (plus petit pour le capteur de température/pression barométrique, comme celui qui figure sur la photo plus bas pour le montage dans un equipet). Le montage dans un equipet n’est pas obligatoire mais si vous voulez faire les choses correctement pour un montage à poste en permanence : C’est le plus propre. |
|
En complément de ces éléments vous aurez bien entendu besoin de :
|
Présentation
La carte Arduino est pourvue d’un micro-contrôleur sur lequel nous seront amené à installer un petit programme que nous écrirons et qui aura pour but de dire à la carte
- Ce qu’elle doit faire :
- Lire les valeurs du capteur de température et de pression barométrique à interval régulier
- transformer les valeurs du capteur en trame NMEA0183 (compréhensible par OpenCpn)
- envoyer la trame nmea083 ($WIMDA) vers OpenCpn à l’aide de la connexion bluetooth
- A quelle fréquence le faire (toutes les x secondes)
Pour les non informaticiens, un fichier à télécharger sera fourni afin de leur éviter de rester coincer à cette étape. Il sera toutefois nécessaire de procéder à son installation ; mais pour cette étape le tuto vous fournira toutes les instructions.
Comment ça fonctionne
C’est très simple. Lorsque la carte est sous tension, le programme (installé sur le micro-contrôleur) tourne en boucle pour être répéter tant que la carte est sous alimentation électrique.
Photos de l’installation à bord
Avant d’aller plus loin, sachez qu’il n’existe pas une possibilité d’installation et de raccordement à bord mais bien plusieurs. Dans le cas présent de notre projet d’initiation, la carte sera alimentée par la batterie du bord (en 12V) et les données seront transmises à OpenCpn en bluetooth.
Cliquez sur les photos pour agrandir et afficher la description
Voila ce que donne l’enregistrement des données météo dans le journal de bord d’OpenCpn
la météo dans Opencpn
Pour la partie hygrométrie, un second capteur à été annexé au montage initiale et pourra faire l’objet d’un complément à ce premier tutoriel sur la carte Arduino
Si ce projet d’initiation vous intéresse et avant de me lancer dans un travail de rédaction d’un tutoriel complet, pensez à répondre à ce petit sondage :
Maintenant que vous avez la liste des courses à faire et si vous êtes motivé pour aller plus loin dans ce petit montage d’initiation, je vous invite à rejoindre le nouveau qui vient d’être ouvert sur le site pour que vous puissiez vous faire aider en cas de problème rencontré et pour vous faire connaitre lorsque vous aurez en main le matériel nécessaire. Ce nouveau forum est aussi mis à disposition des personnes qui connaissent déjà Arduino et qui souhaitent à leur tour faire connaître leurs réalisations adapté au monde de la navigation.
Toutefois si vous êtes intéressé par l’installation de cette petite station météo avec enregistrement automatique dans le journal de bord d’OpenCpn sans passer par l’étape « fastidieuse » d’assemblage et de programmation et en fonction du nombre de personne, je peux pour un coût modique réaliser et vous envoyer par la poste un pack prêt à brancher et à installer. Pour cela, contacter (Pascal74) par MP.
Suite du projet météo :
(RE: Arduino : Une station météo embarquée) Super projet ça donne des idées ! :)
Je ne comprend pas trop par contre comment la direction et force du vent sont récupérées… Le bmp085 est un capteur de température et de pression, mais le vent ?
Note que je suis aussi novice sur opencpn…
(RE: Arduino : Une station météo embarquée) La partie vent est enregistrée à partir des trames (données) issues de la girouette/anémo, donc non issu de capteurs reliés à l’Arduino.
Par contre pour la partie hygrométrie, là c’est bien un autre capteur lui aussi connecté à la carte Arduino qui me donne cette information stockée dans le journal de bord. Je n’en n’ai pas parlé dans cette introduction étant donnée que le capteur d’hygrométrie à été l’objet d’une deuxième version de ce projet.
Pour atiser la curiosité, je dirais même qu’il y à eu un projet V3 actuellement à bord qui à été de mettre en place un GPS basé ultra précis et configurable sur une carte Arduino
(RE: Arduino : Une station météo embarquée) Ah ! Cool le GPS, j’étais allé voir justement ce qui existait de ce côté… Arduino c’est cool, mais je me demande si la même chose serait pas possible sur une Raspberry pi, vu qu’on peut aussi installer OpenCPN sur la Raspberry… J’ai vu une vidéo de l’installation en marche, ça a pas l’air dingue en terme de perf mais ça resterait utilisable… Genre une Raspberry pi, OpenCPN quelques capteurs et un écran tactile, tout ça dans un tupperware, hop :)
(RE: Arduino : Une station météo embarquée) Si tu veux interfacer un écran tactile sans t’arracher les cheveux, je te recommande plus la beaglebone balck qui peut etre plugée directement sur un écran
Mais au fait tu connais déja ce petit monde de l’Arduino ? As tu déja fait un montage ?
(RE: Arduino : Une station météo embarquée) J’ai fait clignoter une led sur mon arduino due oui :D J’ai sinon tenté de faire marcher un capteur rfid, ça a marché un moment puis j’ai abandonné, attrapé par d’autres activités… Mais ça reviendra !
Le PiTFT marche pas trop mal sur la Raspberry, c’est petit mais ça tourne relativement tout seul.
(des trucs de dingues) Je suis en ce moment entrain de découvrir toutes ces applications avec un copain qui est à fond dedans. Il fait à bloc d’instrumentation pour son bateau (un dufour) jusqu’au debitmètre à gasoil…
C’est super interessant mais pour l’instant (j’ai beau être électricien) j’y comprend pas grand chose, il faudrait un tuto pour les nuls!
(RE: Arduino : Une station météo embarquée) Oui en effet loguer la conso sur une observation du réel à l’aide d’un débitmètre (déclanche une impulsion à chaque tour de la roue dans le capteur. C’est ce qui permet de définir la conso sachant qu’une impulsion vaut x ml ou cl) . Mais là on est dans une analyse de données non supportée par le standard NMEA0183 et ne permet pas d’etre logué dans le journal de bord d’OpenCpn pour cette raison
Mais il est tout à fait possible en effet de positionner une petite carte Arduino avec un capteur sur la durite d’alimentation moteur
ps : Cette nouvelle rubrique semble prometteuse sur EdelVoilier – Voiliers passion. Elle à été mise en place pour initier ceux qui le souhaitent dans un état d’esprit d’entraide et de partage de la connaissance.
(Station météo) Peux ton faire la même chose sur un Raspberry pi2 model B sur lequel j’ai installé openplotter?
(Raspbery et Arduino) Sans être un spécialiste de la Raspberry, il est tout à fait possible d’utiliser les shields prévus pour une carte Arduino sur une Raspberry. Toutefois il faudra utiliser une carte qui se fixe sur la Raspberry pour le permettre
Voir la carte [url= https://www.cooking-hacks.com/documentation/tutorials/raspberry-pi-to-arduino-shields-connection-bridge%5DICI%5B/url%5D