/
#include <GxEPD.h>
#include <GxGDEM029T94/GxGDEM029T94.h>
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>
#include <SPI.h>
#include <WiFi.h>
//#include <NTPClient.h>
#include <WiFiUdp.h>
#include <Fonts/FreeMonoBold9pt7b.h>
#include <Fonts/FreeMonoBold12pt7b.h>
#define EPD1_CS 15
#define EPD1_DC 21
#define EPD1_RSET 22
#define EPD1_BUSY 23
#define EPD2_CS 18
#define EPD2_DC 19
#define EPD2_RSET 25
#define EPD2_BUSY 26
#define EPD_SCLK 4
#define EPD_MISO -1 // Not used
#define EPD_MOSI 5
GxIO_Class io1(SPI, EPD1_CS, EPD1_DC, EPD1_RSET);
GxEPD_Class display1(io1, EPD1_RSET, EPD1_BUSY);
GxIO_Class io2(SPI, EPD2_CS, EPD2_DC, EPD2_RSET);
GxEPD_Class display2(io2, EPD2_RSET, EPD2_BUSY);
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* ntpServerName = "pool.ntp.org";
WiFiUDP ntpUDP;
const long utcOffsetInSeconds = -6 * 3600;
NTPClient timeClient(ntpUDP, ntpServerName, utcOffsetInSeconds);
void setup() {
SPI.begin(EPD_SCLK, EPD_MISO, EPD_MOSI);
display1.init();
display1.setRotation(1);
display2.init();
display2.setRotation(1);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(250);
}
timeClient.begin();
timeClient.setTimeOffset(utcOffsetInSeconds);
}
void loop() {
timeClient.update();
uint8_t hours = timeClient.getHours();
uint8_t minutes = timeClient.getMinutes();
display1.fillScreen(GxEPD_WHITE);
display1.setCursor(0, 30);
display1.printf("Display 1 Time: %02d:%02d", hours, minutes);
display1.update();
display2.fillScreen(GxEPD_WHITE);
display2.setCursor(0, 30);
display2.printf("Display 2 Time: %02d:%02d", hours, minutes);
display2.update();
delay(1000);
}
Loading
esp32-s2-devkitm-1
esp32-s2-devkitm-1
Loading
epaper-2in9
epaper-2in9
Loading
epaper-2in9
epaper-2in9