m5paper_i2c_bmp280_reader-9.ino

M5Paper: Kit de desarrollo IoT con pantalla táctil e-Ink · Archivo : m5paper_i2c_bmp280_reader-9.ino · Lenguaje : C++ · Uso : Lire les données d'un capteur environnemental I2C (BMP280) connecté au bus Groove et les afficher sur l'e-Ink.

Demuestra la comunicación I2C con un sensor externo a través de los puertos Groove del M5Paper y la visualización de mediciones ambientales.

Requiere las bibliotecas Adafruit_BMP280 y Wire. M5Paper usa el bus I2C estándar (GPIO 22/21). El sensor debe alimentarse con 3.3V. La pantalla e-Ink se refresca periódicamente.

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

← Volver a la ficha