hello-ecran.ino
La primera pantalla de la carcasa: texto, colores de 16 bits y primitivas de dibujo con la librería M5Stack. El cuadro de mando está listo: solo falta conectar sensores.
Hardware necesario
Un M5Stack Core Basic/Gray (ESP32 en carcasa con TFT de 320×240, botones A/B/C, altavoz, ranura microSD, batería de 110 mAh). Ninguno: la pantalla va en la carcasa.
Cableado
Sin cableado. Alimentación por USB-C (o la batería interna de 110 mAh). La retroiluminación se apaga con M5.Lcd.setBrightness(0).
Funcionamiento
M5.begin inicializa pantalla, botones, buses y alimentación; el driver ILI9341 dibuja en un framebuffer parcial y printf/writeDirect evitan asignaciones de String. En el Arduino IDE (paquete esp32), placa « M5Stack-Core-ESP32 »; instale la biblioteca « M5Stack » (o M5Unified) desde el gestor y suba.
Para ir más lejos
Dibuje barras de nivel para sensores, o muestre la hora NTP del sketch dedicado.
hello-ecran.ino
// Hello TFT ILI9341 — bibliotheque « M5Stack » (Gestionnaire de bibliotheques).
#include <M5Stack.h>
void setup() {
M5.begin();
M5.Lcd.fillScreen(TFT_BLACK);
M5.Lcd.setTextColor(TFT_YELLOW, TFT_BLACK);
M5.Lcd.setCursor(10, 10);
M5.Lcd.setTextSize(3);
M5.Lcd.println("M5Stack OK");
M5.Lcd.setTextSize(1);
M5.Lcd.setTextColor(TFT_WHITE);
M5.Lcd.drawRect(5, 5, 310, 230, TFT_DARKGREY);
}
void loop() {
M5.Lcd.setCursor(10, 90);
M5.Lcd.printf("millis : %8lu\n", millis());
M5.Lcd.printf("heap : %8u o\n", ESP.getFreeHeap());
M5.Lcd.printf("rssi : %5d dBm\n", WiFi.Rssi());
delay(250);
}