Journal de projet #1: Raspberry Pi & Arduino
Pour être honnête, je ne savais pas trop ce que je ferais pendant mon stage au Musée de l’aviation et de l’espace du Canada. On avait mentionné un projet intéressant, mais je n’avais vraiment aucune idée dans quoi je m’embarquais.
À mon arrivée lors de ma première journée, mon superviseur, Jesse Rogerson (conseiller scientifique au Musée), m’a fait visiter les lieux. Ensuite, on m’a présenté le projet le plus génial que je n’ai jamais fait.
Le projet vise à concevoir, à coder et à construire une station météorologique personnelle pour le Musée, soit un ensemble d’équipement pouvant recueillir diverses données, dont la température, l’humidité et la pression dans un endroit en particulier. Il est possible de les personnaliser pour les adapter selon ce que souhaite le constructeur. Les stations météorologiques personnelles sont plutôt populaires dans la communauté des bricoleurs.
Ni moi ni mon superviseur n’avions jamais construit de station météorologique personnelle. Il s’agissait donc d’une grande entreprise pour nous deux! L’avantage de ce projet est le fait que je pourrai utiliser et approfondir mes compétences actuelles, et en acquérir de nouvelles.
Pour commencer, on m’a remis un Raspberry Pi et un Arduino Mega. Si vous n’avez jamais utilisé ces appareils, je recommande fortement de trouver un endroit où vous pourrez les essayer. Le Raspberry Pi est comme un très petit ordinateur avec CPU, RAM, GPU et espace de stockage. Pour sa part, l’Arduino est une carte de circuit imprimé programmable. Tout ça peut sembler intimidant, mais c’est vraiment une incroyable expérience très amusante.
Une image d'un Raspberry Pi et Arduino avec une agrafeuse pour indiquer l'échelle
Le premier problème auquel j’ai été confronté était de découvrir comment faire communiquer le Raspberry Pi et l’Arduino ensemble. J’avais déjà utilisé ces deux appareils, mais jamais ensemble. J’ai pensé que le Raspberry Pi serait le cerveau, tandis que l’Arduino agirait comme contrôleur pour tous les capteurs qui devraient y être fixés. Ainsi, on exploite les forces de chaque appareil. Découvrir comment les faire communiquer a été un défi intéressant pour lequel il a fallu beaucoup de temps. La solution consistait à ne pas oublier que le Raspberry Pi est pratiquement un ordinateur.
Bien qu’il existe des ressources en ligne à propos de la communication entre un Raspberry Pi et un Arduino, ce n’est rien comparé à la quantité de ressources que l’on trouve sur l’utilisation d’un ordinateur hôte pour s’occuper de la communication. Après avoir lu des publications sur divers forums de la communauté Arduino, la solution semblait résider dans l’utilisation de la communication série, soit le processus d’envoi d’un bit à la fois au récepteur. L’Arduino renvoie les données par câble USB à l’ordinateur hôte. J’ai appliqué quelques programmes simples pour vérifier que tout fonctionnait correctement, y compris une lumière à DEL et le renvoi d’un nombre de plus en plus grand au Raspberry Pi.
J’ai réalisé de bons progrès pendant ma première semaine. J’ai également établi la fondation pour les prochaines étapes : brancher les capteurs. Cette partie devrait être vraiment amusante!
Tout le codage qui a été fait se trouve sur ma page GitHub : https://github.com/mebsim/WeatherStation.