m5paper_i2c_bmp280_reader-9.ino

M5Paper : Kit de développement IoT à écran e-Ink tactile · Fichier : m5paper_i2c_bmp280_reader-9.ino · Langage : C++ · Usage : Lire les données d'un capteur environnemental I2C (BMP280) connecté au bus Groove et les afficher sur l'e-Ink.

Démontre la communication I2C avec un capteur externe via les ports Groove du M5Paper et l'affichage des mesures environnementales.

Requiert Adafruit_BMP280 et Wire. Le M5Paper utilise le bus I2C standard (GPIO 22/21). Le capteur doit être alimenté en 3.3V. L'affichage e-Ink est rafraîchi périodiquement.

m5paper_i2c_bmp280_reader-9.ino

#include <M5Paper.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Instance du capteur I2C

void setup() {
  M5.begin(true, true, false); // Active I2C
  M5.Display.init();
  M5.Display.setRotation(1);
  
  if (!bmp.begin(0x76)) {
    M5.Display.drawString("BMP280 Non Trouve", 10, 10);
    while(1);
  }
  M5.Display.drawString("BMP280 OK", 10, 10);
  M5.Display.update();
}

void loop() {
  float temp = bmp.readTemperature();
  float pressure = bmp.readPressure() / 100.0F; // hPa
  float altitude = bmp.readAltitude(1013.25);

  M5.Display.fillScreen(WHITE);
  M5.Display.setTextSize(2);
  M5.Display.drawString("Temp: " + String(temp, 2) + " C", 10, 20);
  M5.Display.drawString("Press: " + String(pressure, 2) + " hPa", 10, 60);
  M5.Display.drawString("Alt: " + String(altitude, 2) + " m", 10, 100);
  M5.Display.update();
  
  delay(2000);
}

← Retour à la fiche