Capteur BME280 : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Connecter BME 280 à l'arduino)
(Attention ! ne pas confondre)
 
(6 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
Tuto inspiré de : https://randomnerdtutorials.com/bme280-sensor-arduino-pressure-temperature-humidity/
 
Tuto inspiré de : https://randomnerdtutorials.com/bme280-sensor-arduino-pressure-temperature-humidity/
 +
 +
ne pas hésiter à aller voir ici également.
 +
==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.
 +
 +
[[Fichier:BMPvsBME280.png|600px]]
 +
===BME280===
 +
celui-ci fait pression, température et humidité.
 +
 +
[[Fichier:DatasheetBME280.png|600px]]
 +
 +
[[Fichier:BME280.png|200px]]
 +
 +
le capteur est carré !
 +
===BMP280===
 +
celui-la ne fait que pression et température.
 +
 +
[[Fichier:DatasheetBMP280.png|600px]]
 +
 +
[[Fichier:BMP280.png|200px]]
 +
 +
le capteur est rectangle !
 +
 
==les bibliothèques ==
 
==les bibliothèques ==
 
Installer les bibliothèques suivantes :
 
Installer les bibliothèques suivantes :
Ligne 6 : Ligne 32 :
  
 
==Connecter BME 280 à l'arduino==
 
==Connecter BME 280 à l'arduino==
 
 
Attention vérifiez bien le voltage de fonctionnement de votre capteur, il en existe 2 versions.
 
Attention vérifiez bien le voltage de fonctionnement de votre capteur, il en existe 2 versions.
[[Fichier:CapteurBME280-5V.png|200px]] [[Fichier:CapteurBME280-5V.png|200px]]
+
le capteur 3,3V comporte 6 broches, celui à 5V n'en possède que 4.
 +
 
 +
[[Fichier:CapteurBME280-3.3V.png|200px]] [[Fichier:CapteurBME280-5V.png|200px]]
  
 
[[Fichier:BME280-Arduino3.3V.png|400px]] [[Fichier:BME280-Arduino.png|400px]]
 
[[Fichier:BME280-Arduino3.3V.png|400px]] [[Fichier:BME280-Arduino.png|400px]]

Version actuelle datée du 14 février 2021 à 11:03

Tuto inspiré de : https://randomnerdtutorials.com/bme280-sensor-arduino-pressure-temperature-humidity/

ne pas hésiter à aller voir ici également.

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.

BMPvsBME280.png

BME280

celui-ci fait pression, température et humidité.

DatasheetBME280.png

BME280.png

le capteur est carré !

BMP280

celui-la ne fait que pression et température.

DatasheetBMP280.png

BMP280.png

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.

CapteurBME280-3.3V.png CapteurBME280-5V.png

BME280-Arduino3.3V.png BME280-Arduino.png

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();
}