Mesure précise de la température, pression et altitude avec BMP280 et Arduino UNO
Composants et fournitures
| Arduino UNO | ×1 |
| Adafruit BMP280 | ×1 |
| Adafruit OLED 128x32 I2C | ×1 |
À propos de ce projet
Bonjour et bienvenue dans ce tutoriel où nous utilisons le capteur BMP280 pour mesurer la température, la pression atmosphérique et l'altitude, avec l'aide d'une carte Arduino UNO et d'un écran OLED. Voici quelques paramètres clés du BMP280 extraits de sa fiche technique :

Dans ce projet, nous utiliserons le module pour effectuer ces mesures dans les systèmes métrique et impérial. Les unités peuvent être converties directement dans le code. Voici les composants nécessaires :

Test et dépannage
Après avoir câblé votre module, il est recommandé de tester d'abord le code d'exemple de la bibliothèque nommé « BMP280test ». Si votre module n'est pas détecté (comme sur l'image ci-dessous) :

Vous pouvez exécuter le code « I2C Scanner » (en débranchant tout autre périphérique I2C comme un LCD ou OLED). Si votre module n'est pas défectueux et n'a pas de problème de soudure, le scanner détectera l'appareil :

Notez l'adresse trouvée, puis ouvrez le fichier C++ de la bibliothèque (généralement installé dans « Documents/Arduino/Libraries ») avec un éditeur approprié (comme Dev-C++) :


Allez à la ligne 41 et modifiez la valeur `_i2caddr` en remplaçant « 0x77 » par l'adresse trouvée sur le moniteur série (dans mon cas 0x76) :

Sauvegardez et fermez. La bibliothèque est conçue pour fonctionner avec des modules ayant l'adresse I2C 0x77, mais le mien utilise 0x76. Relancez le code de test :

Photos de test


J'espère que cela fonctionnera pour vous. N'hésitez pas à laisser un commentaire si vous rencontrez un problème.
Codes
Quatre versions du code sont fournies :
- bmp280_Serial_metric.ino – Affichage sur moniteur série (système métrique)
- bmp280_Serial_Imperial.ino – Affichage sur moniteur série (système impérial)
- bmp280_OLED_m.ino – Affichage sur écran OLED (système métrique)
- bmp280_OLED_US.ino – Affichage sur écran OLED (système impérial)
Exemple : bmp280_Serial_metric.ino
/* Ce code utilise l'Adafruit BMP280 (Métrique)
* Mesure température, pression et altitude, affichage sur moniteur série
* Version modifiée de l'exemple Adafruit
* Référence : www.surtrtech.com ou chaîne YouTube SurtrTech */
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // Interface I2C
void setup() {
Serial.begin(9600);
Serial.println(F("Test BMP280"));
if (!bmp.begin()) {
Serial.println(F("Capteur BMP280 introuvable, vérifiez le câblage !"));
while (1);
}
/* Réglages par défaut selon la fiche technique */
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
Adafruit_BMP280::SAMPLING_X2,
Adafruit_BMP280::SAMPLING_X16,
Adafruit_BMP280::FILTER_X16,
Adafruit_BMP280::STANDBY_MS_500);
}
void loop() {
Serial.print(F("Température = "));
Serial.print(bmp.readTemperature());
Serial.println(" °C");
Serial.print(F("Pression = "));
Serial.print(bmp.readPressure()/100); // Pression en hPa
Serial.println(" hPa");
Serial.print(F("Altitude approx. = "));
Serial.print(bmp.readAltitude(1019.66)); // 1019.66 = pression au niveau de la mer (hPa) dans votre région
Serial.println(" m");
Serial.println();
delay(2000);
}
Bibliothèques nécessaires
Schéma de câblage
Les deux modules utilisent l'interface I2C (SDA/SCL sur A4 et A5). Le BMP280 est alimenté en 5V, l'OLED en 3.3V.

Processus de fabrication
- Système de contrôle d'accès intégré QR, RFID et vérification de température
- Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
- Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
- Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp
- Contrôle de température brassage maison DIY : Surveiller et réguler avec Arduino
- Raspberry Pi BMP085 : Relevés précis de température et pression via I2C
- Mesure et journalisation précises de thermocouple pour laboratoires et expériences scientifiques
- Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
- Dispositif de mesure précis de pression et débit d'air avec capteur analogique