/*
* E-Paper "Hello World" Test voor Wokwi
* Doel: Verifiëren dat de GxEPD2 library en pin-configuratie werken.
*/
// 1. KIES DE JUISTE DISPLAY CLASS
// Voor het standaard 2.9" zwart-wit e-paper in Wokwi is dit de juiste: GDEH029A1
#define GxEPD2_DRIVER_CLASS GxEPD2_290
// 2. DEFINEER DE PINNEN
// Deze pinnen komen overeen met uw MicroPython diagram.json
#define EPD_CS 5
#define EPD_DC 22
#define EPD_RST 21
#define EPD_BUSY 4
// 3. INCLUDE DE LIBRARIES
#include <GxEPD2_BW.h>
#include <Fonts/FreeMonoBold9pt7b.h>
// 4. CREËER HET DISPLAY OBJECT
// De GxEPD2 library gebruikt de standaard SPI pinnen (SCK=18, MOSI=23)
GxEPD2_BW<GxEPD2_DRIVER_CLASS, GxEPD2_DRIVER_CLASS::HEIGHT> display(GxEPD2_DRIVER_CLASS(EPD_CS, EPD_DC, EPD_RST, EPD_BUSY));
void setup() {
Serial.begin(115200);
Serial.println("E-Paper Test Starten...");
display.init(115200);
helloWorld();
display.hibernate(); // Zet het scherm in slaapstand om stroom te besparen
}
void loop() {
// Leeg laten, e-paper hoeft maar één keer te updaten.
}
void helloWorld() {
// Roteer het scherm naar landschap-modus
display.setRotation(1);
display.setFont(&FreeMonoBold9pt7b);
display.setTextColor(GxEPD_BLACK);
// Bepaal de positie voor het centreren van de tekst
String text = "Hallo Wereld!";
int16_t tbx, tby; uint16_t tbw, tbh;
display.getTextBounds(text, 0, 0, &tbx, &tby, &tbw, &tbh);
uint16_t x = (display.width() - tbw) / 2;
uint16_t y = (display.height() / 2) + (tbh / 2);
// Start de "paged drawing loop" - essentieel voor GxEPD2
display.setFullWindow();
display.firstPage();
do {
// Vul de achtergrond met wit
display.fillScreen(GxEPD_WHITE);
// Zet de cursor en print de tekst
display.setCursor(x, y);
display.print(text);
} while (display.nextPage());
Serial.println("Tekst 'Hallo Wereld!' zou nu op het scherm moeten staan.");
}
Loading
epaper-2in9
epaper-2in9