Axe MPI — UP4 : Projet

Station météorologique

Description du projet

Pour ce projet nous vous proposons de réaliser une station météorologique dont les caractéristiques attendues sont les suivantes :

Il y a plusieurs réalisations distinctes à entreprendre. Tout d'abord la station météo en elle même, c'est à dire le cœur de votre projet qui sera commandé par un microcontrôleur, qui recevra les informations des différents capteurs, les stockera sur une carte SD. Ensuite, vous devrez vous attacher à la partie communication avec l'extérieur, tant au niveau de l'affichage que de la partie réseau. Enfin, il y a la réalisation de la partie anémomètre et de la partie girouette, c'est à dire de deux capteurs assez particuliers que vous devrez vous-même construire.

L'assemblage et l'interopérabilité de l'ensemble se fera à la suite de ça mais il sera tout de même nécessaire de conserver à l'esprit que le nombre d'entrées/sorties sur les cartes Arduino est limité et parfois déjà utilisées par certaines extensions.

Matériel utilisé

En plus du matériel commun à tous les projets, vous aurez à utiliser les éléments suivants.

Différents shields

Nous utiliserons les cartes filles pour le stockages et pour la communication.

Capteurs

Pression/Température

Nous utiliserons un BMP085 de chez Bosch© [datasheet].

Ce capteur est monté sur une mini carte et utilise le protocole I2C.

Humidité/température

Le capteur fait partie de la famille des SHT1x [datasheet].

Ce capteur est monté sur une mini carte et utilise le protocole I2C.

Capteur optique

Le capteur utilisé sera une fourche optique de chez Sharp© [datasheet].

Il y a donc dans ce capteur, à la fois l'émetteur et le récepteur.

Stockage

Les composants nécessaires au stockage et à l'horodatage sont regroupés sur une même carte fille, le logger shield proposé par Adafruit

Vous y trouverez donc une horloge temps réel et un support pour carte SD (ainsi que tout ce qu'il faut pour pouvoir gérer la carte en elle-même).

Fichiers et carte SD

Les opérations sur la carte SD, les primitives de test pour savoir si une carte est présente ou pas, si une carte est protégée en écriture ou pas, ... sont disponibles dans la bibliothèque SD fournie par Arduino.

La communication entre la partie lecteur de carte et l'Arduino se fait via un bus SPI.

Horodatage et RTC

L'horloge temps réel est une Dallas DS1307 [datasheet].

La communication avec l'Arduino se fait via un bus I2C.

Adafruit propose une bibliothèque de gestion de la RTC qui permet de simplifier les choses.

Communication

Affichage

Pour l'affichage direct des informations, vous utiliserez un afficheur CLCD162 [datasheet].

Il propose un affichage sur deux lignes de 16 caractères et communique à l'aide d'un bus I2C. Il a un point intéressant qui permet de sélectionner son adresse sur le bus I2C.

Ethernet

La communication se fera à l'aide d'une interface Ethernet et d'une pile TCP/IP proposés par le shield Ethernet Arduino (une révision plus ancienne que celle présentée sur cette page).

La station météo devra proposer un serveur HTTP/1.0 dont l'organisation des pages proposées devra refléter les capteurs présents.

Ce serveur doit rester très simple et seules les requêtes GET devront être prises en compte.

Anémomètre

Principe de fonctionnement de l'anémomètre

Un anémomètre permet de mesurer la vitesse du vent.

Ici nous allons tenter de fabriquer un anémomètre qui utilisera un capteur optique. Le principe de fonctionnement est donc le suivant : les 3 "cuillères" sont montées sur un roulement à faible frottement et le nombre de rotations est compté à l'aide d'une languette qui passe devant un capteur optique.

Utilisation d'un capteur optique

L'utilisation est pratiquement identique à celle d'un interrupteur. Quand le trajet lumineux du capteur n'est pas interrompu, le niveau de sortie est haut et il passe au bas quand un objet occultant est présent.

Girouette

La girouette concerne aussi le vent, mais là où l'anémomètre en donne la vitesse, la girouette en donne la direction.

Le capteur Girouette n'existe pas en l'état dans nos stocks, il faudra donc le créer.

Réfléchissez à une méthode pour créer un tel capteur et une façon de le mettre en œuvre à l'aide de composants identiques à ceux que nous avons pu voir auparavant.

La station météorologique

Bien entendu, cette station est un prototype qui ne tiendrait pas le choc en extérieur. Ce qui nous intéresse principalement ici c'est la programmation de l'ensemble, la gestion des capteurs, des données récoltées, ...

Si vous êtes contents de vos résultats, n'hésitez pas à en construire une plus solide et à l'épreuve des éléments !

Agencement des capteurs

L'agencement des capteurs devra être tel que leur position par rapport à la carte et leur proximité avec les autres capteurs n'interfère pas dans les données relevées.


  1. [↑] Description du bus I2C
  2. [↑] Description du bus SPI
  3. [↑] voir également le RFC 1945 qui est le document de référence pour le protocole HTTP/1.0.