Un barographe pour Arbutus
Durant ces jours d'hiver, je me suis amusé avec ma carte Arduino parce que j'avais le projet en tête de faire mon propre barographe de précision qui surveillera la pression pour moi ... Ceci afin de remplacer notre vieux baromètre que l'on oublie tout le temps de regarder. Et c'est une erreur de ne pas surveiller la pression car cela nous permet de mieux comprendre l'évolution des systèmes météo (anti-cyclone, dépression, talweg, dorsale, etc. ...) qui nous entourent. Par exemple, il y a 2 jours, en Grèce, nous étions au beau milieu d'un système anticyclonique, soleil, ciel bleu et peu de vent. Mais subitement, notre barographe s'est mit à sonner parce que la pression chutait. 3 heures plutard, gros nuage et le vent commençait à souffler. Maintenant on a du mauvais temps avec de la pluie ... Il faut dire que la pression est tombée bien bas ! Le barographe nous a indiqué en temps réel par une alarme que le temps changeait. En consultant le bulletin météo, c'était une dépression arrivant 3 heures plus tôt que prévue.
Avec un baromètre, il est aussi possible de naviguer sur les bords d'un système anticyclonique s'y vous parvenez à trouver cette bande étroite où le vent souffle. Une fois cette bande étroite trouvée, il suffit de naviguer à "pression constante" pour garder le vent et le baromètre devient très utile car on navigue avec les yeux sur le baromètre. Pour dire vrai, nous n'avons pour le moment jamais navigué comme cela, mais c'est ce que j'ai lu dans l'excellent ouvrage de météo de Jean-Yves Bernot. Avec ce barographe, j'ai hâte de trouver les conditions ...
J'ai donc décider de construire un barographe pour Arbutus lorsque j'ai pris connaissance de l'existence des cartes Arduino.
Arduino, quesako ? Et bien c'est une carte électronique possédant des entrés sorties analogique et numérique et bien plus encore. Avec cette carte il devient possible pour un novice en électronique de faire des systèmes où seul l'imagination à ses limites ...
Pour en savoir plus sur Arduino allez voir ici.
Avec Arduino, il devient facile de connecter des capteurs, des moteurs, des moteurs pas à pas, des écrans, de lire des flux NMEA, de mettre des boutons, etc. ... Et derrière le mot Arduino, il y a une communauté de passionnés. Il devient donc facile de trouver des tutoriels, des exemples. La chose qui pourrait rebuter est la programmation en C. Pas besoin de connaitre parfaitement les pointeurs et leur allocation de mémoire dynamique, Arduino ne possédant pas beaucoup de mémoire pour le programme, il vaut mieux limiter l'utilisation des librairies ... Il faut quand même connaitre comment construire une fonction, les boucles, les conditions, etc.... La base quoi !
Pour le barographe, j'ai utilisé une carte arduino Uno, un écran LCD, un capteur de pression de précision BMP085, un bouton poussoir, un buzzer, et une carte de prototypage.
Arduino Uno : 19.50 Euros
TFT Screen : 22.70 Euros
BMP085 : 9.20 Euros
Proto Shield Arduino Mega Rev 3 : 6.3 Euros
Un régulateur de tension pour transformer la tension des batteries en +7V est aussi nécessaire pour alimenter l'Arduino.
Total : aux alentours de 60 euros sans les fameux frais de port. Et il est possible de faire descendre le prix beaucoup plus bas en achetant en Chine (ce que je fais maintenant) ...
Si vous obtenez tout ces équipements, vous devriez avoir la même configuration que moi. J'ai dessiné un schéma pour illustrer comment sont inter-connectés les modules entre eux :
Pour le choix des valeurs des résistances, n'hésitez pas à me suggérer d'autres valeurs.
Comment est alimenté le barographe ? J'utilise un régulateur de tension qui descent la tension du bord( 12V et plus) à 7V.
Aussi, il est important de dire que ce barographe ne perturbe pas mes autres instruments du bord comme peut le faire un peu mon ordinateur de bord ou le régulateur de tension de mon écran. Aucun parasite n'a pour le moment été observé !
Maintenant, comment dire à la carte Arduino de faire "Papa, maman" ? Avec le code C bien sûr !
Notre barographe est capable d'afficher un graphique de l'historique de la pression sur : 3, 6, 12, 24, 48, 72, 96 et 120 heures. Et il affiche en temps réel la tendance de la pression sur 1 heure et 3 heures, la pression de l'instant ainsi que la température.
Il sonne lorsque la pression chute plus rapidement que 140 Pa/h. Pour éviter que le barographe sonne trop souvent, une fois que l'alarme a été acquittée par le marin, la barographe ne resonnera pas avant 3 heure pour une nouvelle alarme.
Le buzzer que j'avais, a une fréquence de résonance à 2500 Hz, donc, j'ai configuré dans le code pour que l'alarme soit à cette fréquence. Cela fait que l'alarme est bruyante.
Pour ceux qui veulent modifier le code C, ils sont les bienvenus à partager leur améliorations. Spécialement les améliorations qui visent à réduire la quantité de mémoire utilisée ! En effet, arduino uno n'embarque que 32Kb de mémoire pour le programme et le programme dispose ensuite que de 2Kb de mémoire vive. C'est très limité et dans l'état actuel du programme, si vous souhaitez ajouter du code C, il vous faudra d'abord optimiser le code pour trouver de la place car il n'y a plus de place !
Autre chose ! N'ayant pas réussi , au début, à faire fonctionner l'écran seul, la solution a été de mettre à jour la librairie TFT avec la dernière version. Au moment de mes tests, la dernière version de la version TFT était inclue dans la version bêta du logiciel 1.5.5 ... Ainsi, en utilisant une version de l'IDE d'Arduino supérieure à 1.5.5, tout devrait fonctionner.
Vous pouvez obtenir la dernière version du barographe sur GitHub.
Comme vous pouvez le lire dans le code, je n'ai pas utilisé de tableau contenant l'historique de le pression pour sauver de la mémoire. Lorsque je lis une nouvelle pression, je l'écris en fin d'un fichier qui contient l'historique de la pression.
Lorsque j'ai besoin de dessiner l'historique pour chaque échelle de temps, je lis le fichier historique à chaque fois. De même, lors de la mise à jour des tendances de pression, je lis ce fichier.
Ce fichier est physiquement sur la carte SD que vous devez insérer à l'arrière de l'écran. J'ai utilisé une carte de 2Gbyte. La moins cher des cartes SD fera l'affaire.
Ici quelques photos du barographe réalisé et installé :
Ne sous-estimez pas la difficulté pour faire une belle boite en bois qui contiendra votre barographe. Ça prend du temps et nécessite de l'attention.
Voici quelques photos de ceux qui l'ont réalisé :
Le clown :
Et le carbone :
Bravo à ceux qui l'ont réalisé !
Bon vent ou plutôt bonne pression :-)
Pour le choix des valeurs des résistances, n'hésitez pas à me suggérer d'autres valeurs.
Comment est alimenté le barographe ? J'utilise un régulateur de tension qui descent la tension du bord( 12V et plus) à 7V.
Aussi, il est important de dire que ce barographe ne perturbe pas mes autres instruments du bord comme peut le faire un peu mon ordinateur de bord ou le régulateur de tension de mon écran. Aucun parasite n'a pour le moment été observé !
Maintenant, comment dire à la carte Arduino de faire "Papa, maman" ? Avec le code C bien sûr !
Notre barographe est capable d'afficher un graphique de l'historique de la pression sur : 3, 6, 12, 24, 48, 72, 96 et 120 heures. Et il affiche en temps réel la tendance de la pression sur 1 heure et 3 heures, la pression de l'instant ainsi que la température.
Il sonne lorsque la pression chute plus rapidement que 140 Pa/h. Pour éviter que le barographe sonne trop souvent, une fois que l'alarme a été acquittée par le marin, la barographe ne resonnera pas avant 3 heure pour une nouvelle alarme.
Le buzzer que j'avais, a une fréquence de résonance à 2500 Hz, donc, j'ai configuré dans le code pour que l'alarme soit à cette fréquence. Cela fait que l'alarme est bruyante.
Pour ceux qui veulent modifier le code C, ils sont les bienvenus à partager leur améliorations. Spécialement les améliorations qui visent à réduire la quantité de mémoire utilisée ! En effet, arduino uno n'embarque que 32Kb de mémoire pour le programme et le programme dispose ensuite que de 2Kb de mémoire vive. C'est très limité et dans l'état actuel du programme, si vous souhaitez ajouter du code C, il vous faudra d'abord optimiser le code pour trouver de la place car il n'y a plus de place !
Autre chose ! N'ayant pas réussi , au début, à faire fonctionner l'écran seul, la solution a été de mettre à jour la librairie TFT avec la dernière version. Au moment de mes tests, la dernière version de la version TFT était inclue dans la version bêta du logiciel 1.5.5 ... Ainsi, en utilisant une version de l'IDE d'Arduino supérieure à 1.5.5, tout devrait fonctionner.
Vous pouvez obtenir la dernière version du barographe sur GitHub.
Comme vous pouvez le lire dans le code, je n'ai pas utilisé de tableau contenant l'historique de le pression pour sauver de la mémoire. Lorsque je lis une nouvelle pression, je l'écris en fin d'un fichier qui contient l'historique de la pression.
Lorsque j'ai besoin de dessiner l'historique pour chaque échelle de temps, je lis le fichier historique à chaque fois. De même, lors de la mise à jour des tendances de pression, je lis ce fichier.
Ce fichier est physiquement sur la carte SD que vous devez insérer à l'arrière de l'écran. J'ai utilisé une carte de 2Gbyte. La moins cher des cartes SD fera l'affaire.
Ici quelques photos du barographe réalisé et installé :
Ne sous-estimez pas la difficulté pour faire une belle boite en bois qui contiendra votre barographe. Ça prend du temps et nécessite de l'attention.
Voici quelques photos de ceux qui l'ont réalisé :
Le clown :
Et le carbone :
Bravo à ceux qui l'ont réalisé !
Bon vent ou plutôt bonne pression :-)Sundy a raconté ces mêmes jours, en anglais, vue de son bord. Lire son récit →



Vos messages
Commentaires d'origine, conservés tels quels.