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