Se afișează postările cu eticheta ESP32. Afișați toate postările
Se afișează postările cu eticheta ESP32. Afișați toate postările

sâmbătă, 27 iunie 2026

Ceas NTP cu informatii de pe open-meteo (ESP32 C3 Mini si afisaj i2c LCD1602)

    La sugestia unui urmaritor al canalului de youtube sa folosesc placa cu ESP32 C3 Mini in loc de Wemos D1 Mini (cu ESP8266), am cerut AI-ului sa imi modifice ultimul program (sketch) pentru noul microcontroler.


    Schema de conectare este simpla, cum este prezentata in articolul ESP32 C3 Super Mini - LCD 
iar codul modificat este NTPclock_openmeteo_v2.ino.
Am facut si de data asta, 2 filmulete:
    Deoarece indicele UV era indicat "doar ziua" intre orele 9 si 20, am cerut a se modifce programul astfel sa sie indicat indicele cand este mai mare ca zero, asa ca programul actualizat este NTPclock_openmeteo_v2b.ino.





joi, 22 decembrie 2022

Ceas analogic NTP pe afisaj P3 64x64 cu ESP32 (2)

     Fata de ceasul prezentat in prima parte, am mai facut mici modificari, in primul rand am testat cum sa fac reglajul intensitatii, deoarece pe timp de noapte e deranjanta intensitatea maxima a culorilor.

- test control intensitate la afisaj led P3 64x64 cu ESP32

- test for control the brightness at P3 64x64 led display

apoi am adaugat o fotorezistenta intr-un circuit de divizor rezisitv ca in articolul ESP32 - light sensor 
si programul meu de test a fost Analog_Clock_NTP_P3_BMZ_1b.ino, in care am pastrat conectarea divizorului rezistiv de la 3.3V la pinulGPIO 36 (adica ADCO0):
adica alimentare de la 3,3V a fotorezistentei, conectare la pinul 36 (GPIO36), apoi rezistenta de 10kΩ la masa (GND).
    Cele 2 filmulete de test sunt:
apoi am realizat ca limba de ora este ascunsa de cea de minute, asa ca am modificat programul, ca limba de secunde sa fie afisata prima, apoi cea de minute si peste cea de ore;
 programul modificat devine Analog_Clock_NTP_P3_BMZ_1c.ino.
   Am vrut sa implementez reglajul orei de vara/iarna de pe o pagina locala web, ca la alte ceasuri, dar am avut ceva dificultati, asa ca din lipsa de timp, am implementat reglajul cu ajutorul unui comutator,care muta pinul 23 la +3.3V pentru ora vara (DST)
-\respectiv la masa (GND) la ora iarna

  Despre ora de vara, respectiv de iarna puteti gasi multe informatii in articolul de la wikipedia.org/wiki/Ora_de_vara .
   Programul modifcat este Analog_Clock_NTP_P3_BMZ_1d.ino si filmuletele, care arata modul de functionare sunt:

duminică, 11 decembrie 2022

Ceas analogic NTP pe afisaj P3 64x64 cu ESP32

    In urma vizionarii unui filmulet de pe net, cu un afisaj matriceal led cu rezolutie 64x64, 

si, ulterior, al altui filmulet, cu acelasi proiect
am incercat sa compilez sketch-ul din descrierea primului video si am avut probleme doarece nu exista fisierul fontului mic (acum este).
   Am observat ca am nevoie de 2 biblioteci, 
- DS1307ESP: https://github.com/3tawi/DS1307ESP
   Deoarece in biblioteca de control a afisajului exista doar un font
trebuie copiat fontul descarcat odata cu sketch-ul in subdirectorul font al acestei biblioteci:
si acum sketch-ul se compileaza
   Am comandat afisajul, care arata asa, fiind inscriptionat 
   Despre acest tip de afisaj puteti gasi o multime de informatii in articolul RGB-Matrix-P3-64x64
   Conform sketch-ului ceasului, conectarea dintre placa cu ESP32 si conectorul HUB75 al afisajului P3 64x64 este:
Prima placa cu ESP32, pe care am gasit-o, este un ESP32 DevKit v4

asa ca am desenat rapid o schita de conectare
sa imi fie usor de realizat montajul pe breadboard (de fapt, doua, una langa alta)
Atentie, conectorul este inscriptionat gresit, D este notat GND (intre B si LAT).

    Dupa incarcarea sketch-ului, am avut probleme, ca nu am avut antena externa (placa de am eu necesita)
dar pana la urma, pe afisaj a aparut ceasul


   Cu aceasta ocazie, am masurat si consumul (informativ):
- doar afisajul
- placa cu ESP32, intre 70 si 190mA

deci maxim 330-350mA la 5V, putandu-se alimenta ceasul dintr-un "incarcator de telefon".
   Am adaptatt sketch-ul din primul filmulet, inlocuind doar datele retelei Wi-Fi locale si fusul orar al Romania (+2, in perioada de iarna), deci sketch-ul folosit este Analog_Clock_NTP_P3_BMZ_0.ino
si am realizat 2 filmulete:
   Dupa cum spuneam si prin filmulete, ma deranja modul de schimbare la fiecare secunda a culorilor, asa ca am modificat sa fie la fiecare minut. Programul modificat, si folosit in filmuleltele urmatoare,  este Analog_Clock_NTP_P3_BMZ_1.ino

luni, 16 septembrie 2019

Ceas matriceal animat cu ESP8266 si RTC (DS3231) cu informatii despre temperatura si umiditate (4)

    Am reusit sa am indicatii in limba romana si pentru ceasul acesta (vedeti articolul precedent), scriind intr-un sir de caractere numele zilei, in alt sir de numere lungimea (numarul de caractere al numelui), la fel si pentru numele lunilor.
   Schema de conectarea a modulelor este identica ca si la versiunile anterioare, doar ca s-a modificat un pic programul.
    Programul nou este MatrixClock_ESP8266_DHT_3e2.ino in care am definit zilele si lunile, dupa cum se vede in liniile
   Ca si in versiuniule precedente, apare ora animata cu cifrele ce se modifica ce "coboara", apoi apare ziua, data, temperatura si umiditatea realtia a aerului, dupa cum se vede din pozele urmatoare:
   Cel mai bine se vede modul de prezentare in filmuletele urmatoare:
23.09.2019
   Deoarece uneori afisajul ramane stins, la initializare, am modifica ca textele ce se deruleaza sa fie impartite, intr-un minut sa apara data, in celalalt temperatura si umiditatea.
   Programul modificat este MatrixClock_ESP8266_DHT_3e2ok.ino si modul de afisare se vede in cele 2 filmulete:
- ceas matriceal animat cu higrometru si termometru (6)
- LED matrix clock with ESP8266 (6)
29.9.2019
   Deoarece am observat ca daca ESP-ul se deconecteaza de la retea, verificarea la fiecare minut, in secunda 10, determina stingerea afisajului pentru perioada verificarii, am modificat sa am acest procedeu doar la ora 0:0:10, deoarece ceasul RTC cu Ds3221 este foarte precis si nu pot aparea decalaje de ora prea mari intr-o zi.

si am dezactivat indicarea anumitor stari prin aprindere/stingrea ledului de la D0/GPIO0 👽

05.03.2020
    Revenind acum cateva zile la ultima versiune, am constatat de dimineata ca se stinge afisajul cand sa afiseze ziua si data. Intre timp si Bogdan Argatu mi-a sesizat problema, asa ca am inceput amandoi investigatiile.
   In ecranul de monitorizare seriala apare ceva de genul
   Deoarece problema este doar cand se afiseaza numele zilei intreg, am pus sa mi se afiseze variabilele ce sunt calculate pentru a scoate din sir ziua si am observat ca duminica pentru RTC e zero, iar eu scad un 1 pentru ca am creat sirul incepand cu luni.
asa ca am modificat programul, creand o variabila zi3 care daca e mai mica ca 0 se face 6:
   Programul cu aceasta corectie este MatrixClock_ESP8266_DHT_3e2ok2.ino !!! dar am corectat si versiunile anterioare... pentru a nu aparea erori.
   La ultima versiune, am modifcat si literele 'a' si 'c', deoarece 'a' era prea inalt, iar 'c' prea scund.
   Am folosit caracterele groase pentru numere, create de Bogdan, si programul devine MatrixClock_ESP8266_DHT_3e3.ino modul de prezentare se vede in filmuletele urmatoare:
23.05.2020
   Deoarece unori apar caractere gresite la temperatura si umiditate, am schimbat libraria DHT cu una dedicata pentru ESP8266 si anume DHTesp, asa ca programul este acum MatrixClock_ESP8266_DHT_3e3e4.ino.

25.05.2020
   Am facut 2 filmulmulte: