Capteur BME280
Révision datée du 14 février 2021 à 12:00 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?n et BMP280 ?
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();
}
