m5paper_i2c_bmp280_reader-9.ino
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);
}