Arduino, Tutoriels

Comment Utiliser le Capteur BMP180 avec Arduino: Mesurer la Température, l’Altitude et la Pression Barométrique

Comment Utiliser Le Capteur Bmp180 Avec Arduino: Mesurer La Température, L'Altitude Et La Pression Barométrique

Introduction

Dans ce tutoriel, nous allons apprendre à interfacer le capteur de pression barométrique et de température BMP180 avec une carte Arduino. Le BMP180 est un capteur numérique de pression et de température conçu pour mesurer la pression atmosphérique, l’altitude et la température. Grâce à ses performances de précision, il peut être utilisé comme altimètre et pour surveiller les changements de la météo. Nous allons voir comment le câbler, installer les bibliothèques nécessaires et écrire un code Arduino pour lire les données de température et de pression du capteur.

Matériel requis

I. Présentation du Matériel:

Le cœur du module est le capteur numérique de pression et de température nouvelle génération de Bosch : le BMP180.

A. Introduction au Capteur BMP180 et Ses Applications Pratiques

  1. Altitude et Altimètre :
    En voyageant depuis le niveau de la mer jusqu’au sommet d’une montagne, la pression atmosphérique diminue progressivement. En mesurant cette pression, il devient possible de déterminer l’altitude à laquelle nous nous trouvons. Ainsi, le capteur BMP180 agit comme un altimètre, fournissant des mesures précises de l’altitude par rapport au niveau de la mer. Que vous soyez un passionné de randonnée ou que vous ayez simplement besoin de connaître l’altitude de votre position, ce capteur offre une indication fiable de la hauteur à laquelle vous vous situez.
  2. Surveillance Météorologique :
    La pression atmosphérique varie en fonction des conditions météorologiques. En surveillant ces variations, il est possible d’obtenir des informations précieuses sur les changements météorologiques à venir. Par exemple, une chute brusque de la pression peut indiquer l’approche d’une tempête, tandis qu’une augmentation de la pression peut prévoir une amélioration du temps. Intégrer le capteur BMP180 dans vos projets Arduino vous permet de créer votre propre station météo pour suivre en temps réel les conditions météorologiques locales.

De plus, ces capteurs sont relativement simples à utiliser, pré-étalonnés et ne nécessitent aucun composant supplémentaire. Cela signifie que vous pouvez rapidement commencer à mesurer la pression barométrique, l’altitude et la température sans aucune difficulté. Dans ce tutoriel, nous vous guiderons pas à pas pour exploiter pleinement le potentiel du capteur BMP180 avec votre Arduino.

Capteur Bmp180

B. Spécifications du Capteur BMP180

  • Mesure de la pression barométrique de 300 à 1100 hPa (de 9000 m à -500 m au-dessus du niveau de la mer).
  • Mesure de la température de -40°C à 85°C avec une précision de ±1,0°C.
  • Précision des mesures de pression de l’ordre de 0,25 m pour les basses altitudes, ce qui en fait un altimètre avec une précision de ±1 m.
  • Faible consommation d’énergie : moins de 1 mA pendant les mesures et seulement 5 µA en veille.
Image 20
Comment Utiliser Le Capteur Bmp180 Avec Arduino: Mesurer La Température, L'altitude Et La Pression Barométrique 9

C. Interface I2C:

Le module BMP180 dispose d’une interface I2C à deux fils, qui peut être facilement interfacée avec n’importe quel microcontrôleur de votre choix. Le module possède une adresse I2C codée en dur et est configurée par défaut à 0x77 en notation hexadécimale.

II. Câblage du Module BMP180 à Arduino:

  1. Connectez le pin VIN du module BMP180 à la sortie 5V de la carte Arduino.
  2. Connectez le pin GND du module BMP180 à la broche de masse (GND) de la carte Arduino.
  3. Connectez le pin SCL du module BMP180 à la broche SCL (horloge) correspondante de la carte Arduino.
  4. Connectez le pin SDA du module BMP180 à la broche SDA (données) correspondante de la carte Arduino.

Voici les connexions spécifiques pour différentes cartes Arduino:

  • Arduino Uno, Arduino Nano: Connectez le SCL du BMP180 à l’A5 de l’Arduino et le SDA du BMP180 à l’A4 de l’Arduino.
  • Arduino Mega: Connectez le SCL du BMP180 à 21 de l’Arduino et le SDA du BMP180 à 20 de l’Arduino.
  • Arduino Leonardo/Micro: Connectez le SCL du BMP180 à 3 de l’Arduino et le SDA du BMP180 à 2 de l’Arduino.
SCLSDA
Arduino UnoA5A4
Arduino NanoA5A4
Arduino Mega2120
Leonardo/Micro32
 Câblage Du Module Bmp180 À Arduino
Comment Utiliser Le Capteur Bmp180 Avec Arduino: Mesurer La Température, L'altitude Et La Pression Barométrique 10

III. Installation des Bibliothèques Nécessaires:

  1. Ouvrez l’IDE Arduino.
  2. Allez dans “Croquis” > “Inclure une Bibliothèque” > “Gérer les Bibliothèques…”
  3. Attendez que le Gestionnaire de bibliothèques télécharge l’index des bibliothèques et mette à jour la liste des bibliothèques installées.
  4. Filtrez votre recherche en tapant ‘bmp180’.
  5. Recherchez “Adafruit BMP085 Library” par Adafruit et cliquez sur cette entrée.
  6. Cliquez sur “Installer” pour installer la bibliothèque.
Installation Des Bibliothèques Adafruit Bmp085 Library

IV. Code Arduino – Lecture de la Température et de la Pression Barométrique:

#include <Wire.h>
#include <Adafruit_BMP085.h>
#define seaLevelPressure_hPa 1013.25

Adafruit_BMP085 bmp;

void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP085 sensor, check wiring!");
    while (1) {}
  }
}

void loop() {
    Serial.print("Température = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" °C");
    
    Serial.print("Pression = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");

    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" mètres");

    Serial.print("Pression au niveau de la mer (calculée) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");

    Serial.print("Altitude réelle = ");
    Serial.print(bmp.readAltitude(seaLevelPressure_hPa * 100));
    Serial.println(" mètres");
    
    Serial.println();
    delay(500);
}

V. Explication du Code:

  1. Le code inclut deux bibliothèques : Wire.h (pour la communication I2C) et Adafruit_BMP085.h (pour l’interaction avec le capteur BMP180).
  2. La variable seaLevelPressure_hPa est définie à 1013,25 hPa, qui est la pression standard au niveau de la mer à 0 mètre d’altitude. Vous pouvez modifier cette valeur en fonction de la pression au niveau de la mer actuelle à votre emplacement pour des mesures d’altitude plus précises.
  3. L’objet bmp est créé pour interagir avec le capteur BMP180.
  4. Dans la fonction setup(), la communication série est initialisée avec le PC, et la fonction bmp.begin() est appelée pour initialiser le capteur BMP180. Si le capteur n’est pas trouvé, un message d’erreur est affiché, et le code entre dans une boucle infinie.
  5. Dans la fonction loop(), les données suivantes sont lues et affichées sur le moniteur série :
    • Température en degrés Celsius (°C) avec bmp.readTemperature().
    • Pression barométrique en Pascals (Pa) avec bmp.readPressure().
    • Altitude en mètres avec bmp.readAltitude().
    • Pression au niveau de la mer en Pascals (Pa) avec bmp.readSealevelPressure().
    • Altitude réelle en mètres avec bmp.readAltitude(seaLevelPressure_hPa * 100).

Conclusion

Félicitations, vous avez réussi à connecter le capteur de pression barométrique et de température BMP180 avec Arduino ! Grâce à ce tutoriel, vous pouvez désormais mesurer la température, la pression barométrique et l’altitude dans vos projets Arduino. En utilisant les données de pression au niveau de la mer spécifiques à votre localisation, vous pouvez obtenir des mesures d’altitude plus précises. Ce dispositif ouvre un monde de possibilités pour la surveillance météorologique, les applications altimètres, et bien plus encore !

Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques

Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter

Arduino – Home