Le BMP280 est un capteur de haute précision qui mesure la pression barométrique, la température et l'altitude. Il est largement utilisé dans les stations météorologiques, les trackers d'altitude et les appareils IoT en raison de sa précision et des options de communication I2C / SPI. Ce tutoriel vous guidera dans la connexion et l'utilisation du BMP280 avec Arduino.
Ce dont vous aurez besoin
- Module de capteur BMP280
- 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 BMP280
Le capteur BMP280 prend en charge la communication I2C et SPI. La plupart des panneaux de rupture par défaut en mode I2C, ce qui nécessite moins de fils.
Pinout BMP280
Épingle | Fonction |
---|---|
VCC | Alimentation (3,3 V ou 5V) |
GND | Sol |
SCL | Ligne d'horloge i2c |
SDA | Ligne de données I2C |
CSB | Sélection de la puce pour SPI (facultatif) |
Sdo | SPI Data Out / I2C Sélection d'adresse |
-
Note: Pour la communication I2C, connectez-vous
SDO
à GND pour l'adresse par défaut (0x76
) ou à VCC pour0x77
.
Étape 2: Câblage du BMP280 à Arduino
Voici comment connecter le BMP280 à un Arduino Uno en mode I2C:
Broche BMP280 | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SCL | A5 |
SDA | A4 |
Note: Pour d'autres tableaux Arduino, consultez les broches I2C spécifiques dans la documentation de votre conseil d'administration.
Étape 3: Installez la bibliothèque requise
La bibliothèque "Adafruit BMP280" facilite l'interface avec le capteur.
Étapes pour installer la bibliothèque:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "Adafruit BMP280" et cliquez Installer.
- Installez également la bibliothèque "Adafruit Unified Sensor" si vous êtes invité.
Étape 4: Téléchargez le code
Voici un exemple de croquis pour lire la température, la pression et l'altitude du BMP280:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // Create BMP280 object
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("BMP280 Sensor Test");
if (!bmp.begin(0x76)) { // Default I2C address is 0x76
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}
}
void loop() {
Serial.print("Temperature: ");
Serial.print(bmp.readTemperature());
Serial.println(" °C");
Serial.print("Pressure: ");
Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
Serial.println(" hPa");
Serial.print("Approx. Altitude: ");
Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
Serial.println(" m");
Serial.println();
delay(2000); // Wait for 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 les lectures de température, de pression et d'altitude affichées dans le moniteur série.
Applications du BMP280
- Stations météorologiques
- Mesure d'altitude dans les drones
- Surveillance environnementale IoT
- Navigation barométrique basée sur la pression
Dépannage
- Aucune réponse du capteur: Vérifiez le câblage et assurez-vous que l'adresse I2C correspond à la configuration.
- Lectures incorrectes: Assurez-vous que le capteur n'est pas exposé à des conditions environnementales extrêmes ou à des troubles du flux d'air.
- Erreurs de bibliothèque: Vérifiez que la bibliothèque "Adafruit BMP280" est correctement installée.
Conclusion
Vous avez réussi à interfacer le capteur BMP280 avec Arduino, permettant des mesures précises de la température, de la pression et de l'altitude. Ce capteur polyvalent est parfait pour une variété d'applications, de la surveillance météorologique à la navigation sur les drones. Expérimentez plus loin en intégrant le BMP280 avec les enregistreurs de données, les affichages ou les plates-formes IoT pour des projets avancés!