Capteur BME280
Révision datée du 14 février 2021 à 11:03 par Antonydbzh (discussion | contributions) (→Attention ! ne pas confondre)
Tuto inspiré de : https://randomnerdtutorials.com/bme280-sensor-arduino-pressure-temperature-humidity/
ne pas hésiter à aller voir ici également.
Sommaire
Attention ! ne pas confondre
ce deux capteurs différents sont souvent confondus y compris par les vendeurs alors soyer vigilants !
Comment distinguer BME280 et BMP280 ?
- Sur le BME280 le trou de l'évent est sur le coté à gauche, au milieu et il est de forme carré.
- Sur le BMP280 le trou de l'évent est en bas sur le coté à droite et il est de forme rectangulaire.
BME280
celui-ci fait pression, température et humidité.
le capteur est carré !
BMP280
celui-la ne fait que pression et température.
le capteur est rectangle !
les bibliothèques
Installer les bibliothèques suivantes :
- Adafruit_BME280 library
- Adafruit_Sensor library
Connecter BME 280 à l'arduino
Attention vérifiez bien le voltage de fonctionnement de votre capteur, il en existe 2 versions. le capteur 3,3V comporte 6 broches, celui à 5V n'en possède que 4.
le programme
Charger le programme puis ouvrir le moniteur série.
/* * Complete Project Details https://randomnerdtutorials.com */ #include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10 #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; // I2C //Adafruit_BME280 bme(BME_CS); // hardware SPI //Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI unsigned long delayTime; void setup() { Serial.begin(9600); Serial.println(F("BME280 test")); bool status; // default settings // (you can also pass in a Wire library object like &Wire2) status = bme.begin(); if (!status) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } Serial.println("-- Default Test --"); delayTime = 1000; Serial.println(); } void loop() { printValues(); delay(delayTime); } void printValues() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" *C"); // Convert temperature to Fahrenheit /*Serial.print("Temperature = "); Serial.print(1.8 * bme.readTemperature() + 32); Serial.println(" *F");*/ Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); }