Sommaire |
On cherche ici à programmer un capteur permettant d'obtenir la pression autours de lui.
A noter que le capteur utilisé permet également d'avoir la température.
C'est à dire : SDA a A4, SCL a A5, GND a GND et VIN a 5V
Lien pour le téléchargement : https://github.com/adafruit/Adafruit-BMP085-Library/archive/master.zip
#include "Wire.h" #include "Adafruit_BMP085.h" // librairie spéciale pour cette famille de capteurs Adafruit_BMP085 mySensor; // on crée un objet du type souhaite float tempC; // variable qui contiendra la température float pression; //variable pour la pression //A noter : la pression est renvoyé en Pa (Pascal), la météo donne la pression en hectoPascal, suffit d'enlever les 2 derniers chiffres tout simplement... void setup() { Serial.begin(9600); //Pour changer, on lance la transmission PC - arduino mySensor.begin(); //Et la communication capteur-arduino } void loop() { tempC = mySensor.readTemperature(); //On lit la temperature pression=mySensor.readPressure(); //et on lit la pression Serial.print("Temperature : "); Serial.print(tempC); Serial.println("C"); Serial.print("Pression: "); Serial.print(pression); Serial.println(" Pa"); Serial.println(""); delay(1000); }
Le capteur renvoie la pression et la température. On peut faire varier cette température en posant son doigt dessus afin de la voir augmenter.
Il s'agit d'un capteur numérique : le capteur est en fait uniquement la partie du milieu qui est sensible a la pression et la température. Les valeurs sont ensuite renvoyées à l'arduino par les broches A4 et A5. Les fonctions de la librairie permettent ensuite de récupérer des valeurs concrètes sans avoir besoin de faire des calcules.
Le transport des informations se fait par le biais du bus I2C, bus très utilisé dans les capteurs arduino. Contrairement au bus OneWire, celui-ci a besoin de 2 fils (A4 et A5) afin d'envoyer les data (SDA) et l'horloge (SCL). Afin d'avoir plus de détails sur le calcul des valeurs, un coup d'oeil directement dans la librairie est nécéssaire : tout y est. https://github.com/adafruit/Adafruit-BMP085-Library
Le capteur peut servir de thermomètre ainsi que de baromètre. Il manquerait simplement un écran lcd afin de ne pas avoir besoin de l'ordinateur pour lire les valeurs. La pression peut ainsi permettre de connaitre le temps qu'il va faire (les cartes des hautes et des basses pressions sont utilisées par les météorologues) ainsi que l'altitude qui fait varier la pression.
En intérieur pour la programmation, il faut alimenter l'arduino électriquement.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique