Comment utiliser le capteur de pression barométrique BMP180 avec Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

Le BMP180 est un capteur de pression barométrique à haute précision et de température qui peut être facilement interfacé avec Arduino en utilisant le protocole I2C. Il est largement utilisé dans la surveillance météorologique, les mesures d'altitude et les applications IoT. Ce tutoriel vous guidera dans la connexion et l'utilisation du BMP180 avec Arduino.


Ce dont vous aurez besoin

  1. Module de capteur BMP180
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Fils de planche à pain et de cavalier
  4. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre le BMP180

Le BMP180 mesure la pression et la température barométriques et peut calculer l'altitude en fonction des lectures de pression. Il communique avec Arduino en utilisant le protocole I2C.

Pinout BMP180

Épingle Fonction
Vin Alimentation (3,3 V / 5V)
GND Sol
SDA Ligne de données I2C
SCL Ligne d'horloge i2c

Étape 2: Câblage du BMP180 à Arduino

Voici comment connecter le BMP180 à un Arduino Uno:

Broche BMP180 Épingle arduino
Vin 5V
GND GND
SDA A4
SCL A5

Note: Pour d'autres cartes Arduino, vérifiez les broches I2C dans la documentation de votre conseil d'administration (par exemple, Mega utilise les broches 20 et 21 pour SDA et SCL).


Étape 3: Installez la bibliothèque requise

La bibliothèque "Adafruit BMP085 Unified" peut être utilisée pour le BMP180 car elle est entièrement compatible.

Étapes pour installer la bibliothèque:

  1. Ouvrez l'ide Arduino.
  2. Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
  3. Recherchez "Adafruit BMP085 Unified" et cliquez Installer.

Étape 4: Téléchargez le code

Voici un exemple de croquis pour lire la température, la pression et calculer l'altitude:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

void setup() {
  Serial.begin(9600);
  Serial.println("BMP180 Sensor Test");

  if (!bmp.begin()) {
    Serial.print("Could not find a valid BMP180 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  bmp.getEvent(&event);

  if (event.pressure) {
    // Display pressure
    Serial.print("Pressure: ");
    Serial.print(event.pressure);
    Serial.println(" hPa");

    // Display temperature
    float temperature;
    bmp.getTemperature(&temperature);
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println(" °C");

    // Calculate altitude
    float seaLevelPressure = 1013.25; // hPa
    Serial.print("Altitude: ");
    Serial.print(bmp.pressureToAltitude(seaLevelPressure, event.pressure));
    Serial.println(" m");
    Serial.println();
  } else {
    Serial.println("Sensor error!");
  }

  delay(2000); // Wait 2 seconds before the next reading
}

Étape 5: tester la configuration

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code sur l'Arduino en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. Observez la pression, la température et les lectures d'altitude affichées dans le moniteur série.

Applications du BMP180

  1. Systèmes de surveillance météorologique
  2. Mesure d'altitude dans les drones et l'aviation
  3. Surveillance environnementale IoT
  4. Journalisation des données de pression barométrique

Dépannage

  • Aucune réponse du capteur: Vérifiez le câblage et assurez-vous que les broches I2C sont utilisées.
  • Lectures incorrectes: Vérifiez que le capteur n'est pas exposé à des conditions environnementales extrêmes.
  • Erreurs de bibliothèque: Assurez-vous que la bibliothèque "Adafruit BMP085 Unified" est installée correctement.

Conclusion

Vous avez réussi à interfacer le capteur de pression barométrique BMP180 avec Arduino. Ce capteur polyvalent est idéal pour les projets nécessitant des mesures précises de pression et de température. Expérimentez plus loin en les intégrant avec les enregistreurs de données, les affichages ou les plates-formes IoT!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.