Capteur BME280 : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Connecter BME 280 à l'arduino)
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.
 +
 
==les bibliothèques ==
 
==les bibliothèques ==
 
Installer les bibliothèques suivantes :
 
Installer les bibliothèques suivantes :

Version du 23 octobre 2020 à 11:02

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

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

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