[TUTORIEL] Capteur de pression BMP085

Forum dédié aux produits Adafruit

[TUTORIEL] Capteur de pression BMP085

Message non lude Laetitia » Mer 5 Sep 2012 09:56

Bonjour,

Voici un exemple d'utilisation du capteur de température et de pression BMP085.
Nous allons brancher le breakout d'Adafruit à l'Arduino et lire les données reçues directement dans le moniteur série, pas besoin de faire d'autres branchements ;)
La librairie est complète et permet de récupérer la pression, la température et l'altitude avec des commandes simples, voir ici pour plus de détails sur les méthodes utilisées.

- MATÉRIEL -

- Arduino Uno (x1)
- Breakout BMP085 (Adafruit) (x1)

- Librairie Adafruit_BMP085

- SCHÉMA DU MONTAGE -

Schéma_BMP085_final.png
Schéma_BMP085_final.png (42.29 Kio) Vu 3835 fois


- CODE -

Code: Tout sélectionner
/*
Mini-station météo - Breakout BMP085 Adafruit
Librairie BMP085 : https://github.com/adafruit/Adafruit-BMP085-Library/zipball/master
Arduino IDE 1.0.1
*/

// Pin "VCC" du breakout connectée à pin 3.3V de l'Arduino /! \ ne pas connecter directement au 5V /!\
// Pin "GND" du breakout connectée à pin GND de l'Arduino
// Pin "SCL" du breakout connectée à pin A5 de l'Arduino
// Pin "SDA" du breakout connectée à pin A4 de l'Arduino
// EOC et XCLR non utilisés pour ce sketch

#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

void setup()
{
  Serial.begin(9600);
  bmp.begin();
}

void loop()
{
  Serial.print("Temperature = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");
 
  Serial.print("Pression atmospherique = ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");
 
  Serial.print("Altitude = ");       // L'altitude est calculée pour une pression "standard" au
  Serial.print(bmp.readAltitude());  // niveau de la mer de 1013.25 millibars = 101325 Pa
  Serial.println(" m");              // Pour un calcul plus précis voir méthode ci-après :
 
  Serial.print("Altitude reelle = ");      // readAltitude() peut prendre un argument : la pression
  Serial.print(bmp.readAltitude(101500));  // actuelle au niveau de la mer, en Pascals.
  Serial.println(" m");                    // Par exemple : 1015 millibars = 101500 Pa
 
  Serial.println();
  delay(1000);
}

La librairie Adafruit_BMP085 est susceptible d'évoluer au cours du temps, faites attention à toujours avoir la dernière version !

Notes :
- La v2 du breakout inclut un régulateur et permet de se brancher au choix, soit directement sur une alimentation 5V, soit sur du 3.3V.
- Pour ce sketch les pins Analog 4 et 5 de l'Arduino Uno sont utilisées pour la communication I2C, à partir de la R3 ces pins sont dupliquées après AREF, à côté des pins digitales.

C'est tout pour cette fois, j'espère que ce petit tuto vous aura plu, et bonne bidouille en attendant le prochain :mrgreen:
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Retourner vers Adafruit

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron