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
- Module de capteur BMP180
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- 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:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- 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
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Observez la pression, la température et les lectures d'altitude affichées dans le moniteur série.
Applications du BMP180
- Systèmes de surveillance météorologique
- Mesure d'altitude dans les drones et l'aviation
- Surveillance environnementale IoT
- 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!