2.9 inch E-Paper module display Black&White

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1544
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

2.9 inch E-Paper module display Black&White

Unread postby Levy » 30 Jan 2024 22:19

Am avut ocazia sa ma joc cu un display e-paper, de 2.9 inchi alb negru.
Pentru a putea controla acest display am avut nevoie de libraria GxEPD2, unde am si gasit cateva exemple cu care am putut testa displayul.

Pentru a putea folosi acest display, in exemplul folosit in fisierul GxEPD2_display_selection.h la linia 211 trebuie sa scoateti cele doua // fin fata liniei, pentru a activa linia (altfel compilatorul va considera linia un comentariu!).

Eu a trebuit sa editez aceea linie pentru ca am folosit un ESP32 pentru teste si pentru ca nu l-am conectat de ESP32 asa cum este descrisa in linia amintita.
Asa arata linia 211 in cazul meu:

Code: Select all

GxEPD2_BW<GxEPD2_290_T94_V2, GxEPD2_290_T94_V2::HEIGHT> display(GxEPD2_290_T94_V2(/*CS=5*/ SS, /*DC=*/ 19, /*RST=*/ 12, /*BUSY=*/ 4)); // GDEM029T94 128x296, SSD1680, Waveshare 2.9" V2 variant

Daca conectati asa cum este in aceea linie atunci doar activati linia.
Conexiunea mea dintre ESP32 si display a fost urmatoarea:

Code: Select all

BUSY  - EPD_BUSY 4
RES  - EPD_RST 12
DC  - EPD_DC 19
CS  - EPD_CS 5
SCL  - EPD_SCK 18
SDA  - EPD_MOSI 23


Ce este interesant de retinut la aceste displayuri.
Au o rata de improspatare foarte mica. Ecranul intreg poate dura pana la 3 secunde la varianta alb/negru si pana la 19 secunde la varianta alb/negru/rosu.
Un alt aspect interesant este ca pe display se pastreaza imaginea afisata chiar si dupa ce lasam displayul fara tensiune.
Chiar si eu l-am primit cu o imagine (a vanzatorului) afisata pe display chiar cand l-am scos din cutie.

Image

Displayul vine insotit cu pini

Image

pentru a putea fi cositoriti de modul



si cu un cablu prevazut cu un conector cu ajutorul caruia putem sa ne conectam de display fara a avea nevoie de lipituri.

Image

Displayul a venit intr-o cutie de plastic

Image

care protejeaza bine displayul de eventualele probleme ce ar putea aparea in timpul transportului.

Modulul l-am cumparat de aici.

Am facut un scurt video cu felul in care ruleaza exemplul din librarie pe display.

Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1544
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: 2.9 inch E-Paper module display Black&White

Unread postby Levy » 31 Jan 2024 23:31

Am gasit un proiect care este relativ usor de reprodus cu acest display si cu un ESP32.
ESP32-e-Paper-Weather-Display
Ca sa nu va incurcati prin cod ar fi ideal sa faceti legaturile asa cum le-a facut si autorul.
Pentru a afisa in limba Romana am adaugat fisierul lang_ro.h care arata asa:

Code: Select all

#define FONT(x) x##_tf

//Temperature - Humidity - Forecast
const String TXT_FORECAST_VALUES  = "Valori de prognoza pe 3 zile";
const String TXT_CONDITIONS       = "Conditii";
const String TXT_DAYS             = "(Zile)";
const String TXT_TEMPERATURES     = "Temperatura";
const String TXT_TEMPERATURE_C    = "Temperatura (*C)";
const String TXT_TEMPERATURE_F    = "Temperatura (*F)";
const String TXT_HUMIDITY_PERCENT = "Umiditate (%)";

// Pressure
const String TXT_PRESSURE         = "Presiune";
const String TXT_PRESSURE_HPA     = "Presiune (hPa)";
const String TXT_PRESSURE_IN      = "Presiune (in)";
const String TXT_PRESSURE_STEADY  = "Stabil";
const String TXT_PRESSURE_RISING  = "In crestere";
const String TXT_PRESSURE_FALLING = "In cadere";

//RainFall / SnowFall
const String TXT_RAINFALL_MM = "Precipitatii (mm)";
const String TXT_RAINFALL_IN = "Precipitatii (in)";
const String TXT_SNOWFALL_MM = "Zapada (mm)";
const String TXT_SNOWFALL_IN = "Zapada (in)";
const String TXT_PRECIPITATION_SOON = "Prec.";


//Sun
const String TXT_SUNRISE  = "Rasarit";
const String TXT_SUNSET   = "Apus";

//Moon
const String TXT_MOON_NEW             = "Nou";
const String TXT_MOON_WAXING_CRESCENT = "Semiluna in crestere";
const String TXT_MOON_FIRST_QUARTER   = "Primul patrar";
const String TXT_MOON_WAXING_GIBBOUS  = "Semiluna";
const String TXT_MOON_FULL            = "Luna plina";
const String TXT_MOON_WANING_GIBBOUS  = "Luna in scadere";
const String TXT_MOON_THIRD_QUARTER   = "Al treilea patrar";
const String TXT_MOON_WANING_CRESCENT = "Semiluna în scadere";

//Power / WiFi
const String TXT_POWER  = "Putere";
const String TXT_WIFI   = "WiFi";
const char* TXT_UPDATED = "Actualizat:";


//Wind
const String TXT_WIND_SPEED_DIRECTION = "Viteza/Directia vantului";
const String TXT_N   = "N";
const String TXT_NNE = "NNE";
const String TXT_NE  = "NE";
const String TXT_ENE = "ENE";
const String TXT_E   = "E";
const String TXT_ESE = "ESE";
const String TXT_SE  = "SE";
const String TXT_SSE = "SSE";
const String TXT_S   = "S";
const String TXT_SSW = "SSW";
const String TXT_SW  = "SW";
const String TXT_WSW = "WSW";
const String TXT_W   = "W";
const String TXT_WNW = "WNW";
const String TXT_NW  = "NW";
const String TXT_NNW = "NNW";

//Day of the week
const char* weekday_D[] = { "Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sam" };

//Month
const char* month_M[] = { "Ian", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Oct", "Noi", "Dec" };

Nu cred ca am tradus bine partea cu fazele lunii, dar oricum era doar o varianta de teste pentru a vedea daca afiseaza in limba romana daca acesta este adaugata.
Partea proasta este ca de pe Openweathermap.com datele vin cu diacritice iar acest font nu poate afisa diacriticele.

Atasez o imagine cu rezultatul
Image

Daca ma uit prin consola seriala de fapt afiseaza: "nori împrăștiați" pe display este afisat ce vedeti in imaginea de mai sus! :haha: :haha:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1544
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: 2.9 inch E-Paper module display Black&White

Unread postby Levy » 13 Feb 2024 17:57

Am facut un scurt video despre felul in care se face proiectul cu statia meteo cu acest display.

Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 5 guests