Capteur BME280 : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Connecter BME 280 à l'arduino)
(Connecter BME 280 à l'arduino)
Ligne 6 : Ligne 6 :
  
 
==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.
 +
[[Fichier:CapteurBME280-5V.png|200px]] [[Fichier:CapteurBME280-5V.png|200px]]
 +
 
[[Fichier:BME280-Arduino3.3V.png|400px]]
 
[[Fichier:BME280-Arduino3.3V.png|400px]]
 +
 +
[[Fichier:BME280-Arduino.png|400px]]
  
 
==le programme==
 
==le programme==

Version du 22 octobre 2020 à 15:19

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

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. CapteurBME280-5V.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();
}