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

sâmbătă, 22 august 2026

Statie meteo cu simboluri grafice (ESP32-C3 Mini si afisaj monocrom cu driver ST7920)

    Am gasit pe Hackster.io un articol interesant numit Weather Station Station, care folosea un ESP8266 si un afisaj cu driver ST7920. Ora e luata de pe un server NTP, iar informatiile meteo de la serverul openweathermap, care necesita utilizarea unui cont din care putem obtine o cheie unica (APIkey).
Fiecare informatie are un simbol mare si valoare plus un text deplasabil.
    Am apelat la Z.AI sa imi adapteze codul pentru placa cu ESP32-C3 Mini (Supermini) in care sa folosesc aceeasi schema, ca si la celelalte proiecte.
    Am mai aranjat si eu dupa ce am considerat ca trebuie si ora afisata, altfel derularea informatiilor e prea lenta si intr-un final plictisitoare.
    Programul rezultat este weatherstation3_esp32c3_st7920_v1b.ino iar modul de prezentare al informatiilor se vede in filmuletele urmatoare:
Ulterior, am "intors" ecranul si programul este weatherstation3_esp32c3_st7920_v1b1.ino.

    Ulterior am renuntat la informatiile de pe openweathermap deoarece pentru incele UV cu cheia uzuala oferea informatii intarziate (aproape de apusul soarelui era indicat un indice UV de cca 7.2 in loc de 0.0) asa ca am trecut la open-meteo.




miercuri, 5 august 2026

Statie meteo cu ESP32-C3 Mini si afisaj ST7789 240x240

Am dat de un proiectel de statie meteo cu prognoza pe zile intr-un filmulet al unui ucrainean
Dupa ce l-am stresat un pic in comentarii pe autor sa furnizeze sketch-ul, l-a postat pana la urma, dar am vazut ca il mai sterge, asa ca am o copie (WeatherStation_original.ino).
    Desi se compila si se incarca fara probleme, pe afisaj nu aparea nimic, fiind folosita biblioteca Adafruit_ST7789, asa ca am apelat la AI sa imi modifice programul sa mearga cu biblioteca TFT_eSPI, pe care o folosisem si in trecut, dupa cum am prezentat in articolul Ceas NTP cu ESP32-C3 Mini si afisaj ST7789 240x240 (la mine a functionat cu fisierul de configurare User_Setup.h)
    Programul modificat este WeatherStation_openweathermap.ino

Schema de conectare este aceeasi 
la mine functionand si la 5V deoarece are stabilizator de tensiune pentru 3.3V, doar ca lumina de fundal este mai puternica.
    In program trebuie completate datele retelei locale wifi si un numar unic (API key) obtinut de pe serverul opemweathermap dupa ce ne facem cont.
    Deoarece afisajul meu are o dunga de pixeli morti, am schimbat fundalul dechis cu unul negru si am mutat informatiile. O alta modificare fiind aceea ca ucraineanul folosea un afisaj cu rezolutia 240x280, iar al meu are 240x240.
Am facut 2 filmulete
    Ulterior m-am gandit ca as putea prelua informatiile de la serverul open-meteo, care nu necesita cont.
    Noul program este WeatherStation_openmeteo_v1a.ino (varianta cu mici imbunatatiri ale programului WeatherStation_openmeteo_v1.ino) si cu el am mai facut 2 filmulete
07.08.2026
    Am mai facut 2 filmulete:

duminică, 3 mai 2026

Ceas NTP cu animatii si date meteo pe afisaj monocrom P10

    Dupa ce am constatat ca ceasul prezentat in articolul anterior este stabil, am zis sa adaug si date meteo "adevarate" de la un server meteo. 
    Prima alegere a fost openweathermap, dar am aflat intre timp ca exista si open-meteo care nu necesita creare de cont si cheie API, asa ca am apelat la AI sa imi scrie un program simplu de afisare pe ecranul serial. Rezultatul a fost bun, dar cand sa il integreze in programul complex al ceasului a dat erori grave, asa ca am mutat manual bucati de programul simplu in cel complex. A trebuit sa mai pun si eu "capul la contributie", dar rezultatul este multumitor. Singurul punct slab este acela cand se apeleaza serverul open-meteo si se prelucreaza datele, apar leduri aprinse aleatoriu pe ecran, asa ca am preferat sa sting ecranul, deoatece nu am reusit sa pun un simplu mesaj "caut date meteo noi" si sa ramana ora si minutele. In functie de conexiunea la net (prin wifi) poate sa treaca neobservata sau sa dureze 2-3 secunde aceasta pauza de afisate.
    In partea de sus, se afiseaza pe rand cu text deplasabil, in limba romana:
- numele zilei si data
- starea vremii (cer senin, partial noros, ninsoare, etc)
- temperatura, in grade Celsius
- umiditatea relativa, in procente
- presiunea atmosferica in mmHg (mm coloana de mercur)
- vant in km/h si directia
    Modul de prezentare este mult mai usor de inteles din filmuletele urmatoare:
    Fata de ce am prezentat in articolele anterioare
nu s-a schimbat schema de conectare, ci doar programul MorphingClock_P10DMDESP_4b1 care are 2 fisiere: un sketch (.ino) si un fisier pentru fonturile mici, cu inaltimea de 5 pixeli).
Pe calculator, fisierele sunt salvate asa
iar in programul Arduino IDE apar asa

marți, 20 august 2024

Ceas cu date meteo (Rpi Pico W si afisaj LCD1602 pe i2c) - MicroPhython (3)

    Dupa ce am tot constatat ca la ceasul cu informatii meteo informatiile de pe ecran  nu se mai actualizau dupa cateva zeci de ore (se bloca sau adormea efectiv microcontrolerul de pe placa Raspberry Pi Pico W), am adaugat functia de autodeblocare (watchdog).

   Nu eram prea incantat de introducerea functiei WDT care nu a functionat multumitor cu limbajul Arduino si a trebuit sa testez un watchdog extern (vezi articolul), am zis totusi sa incerc versiunea software ce implica doar 3 linii

   Programul actualizat este Weatherstatio_clock_RPiW_i2c_LCD1602_v5
   Am facut 2 filmulete:
   Partea frumoasa e ca initial am pus un timp de 2 secunde pana se restarteaza daca e ceva in neregula, dar pana sa se conecteze la retea se reseta in continuu si nu mai reuseam sa ma conectez la placa, asa ca a trebuit sa sterg continutul din memorie.
  Din articolul How to Reset Raspberry Pi Pico & Pico W – 4 Easy Ways am folosit metoda 3, adica am copiat fisierul flash_nuke.uf2 pe unitatea virtuala creata daca tin apasat butonul BOOT in timp ce conectez placa la USB, 
  Acum timpul este aproape de valoare maxim admisa, adica este 8 secunde.
  Intre timp, am reusit sa pozez vreme cu nori, ploaie si chiar furtuna:

luni, 5 august 2024

Ceas cu date meteo (Rpi Pico W si afisaj LCD1602 pe i2c) - MicroPhython

    Prinzand un pic de timp liber, am zis sa testez un proiect programat cu MicroPython, si am ales un ceas cu niste informatii meteo preluate de pe serverul openweathermap, proiect gasit in articolul https://how2elecRaspberry Pi Pico W IoT Weather Station – OpenWeatherMap.

   Schema de conectare este foarte simpla, de asta am si ales proiectul:

  Dupa ce am instalat programul Thonny IDE cum am gasit in articolul Getting Started with Thonny MicroPython (Python) IDE for ESP32 and ESP8266 am instalat ultima versiune de firmware in placa Raspberry Pi Pico W gasita la Pico W (MicroPython) si am copiat cele trei 3 programele necesare.
  Dupa cum e indicat si in articolul mentionat la inceput, am inlocuit in programul main.py datele de conectare la reteaua locala Wi-Fi (linia 7), codul APIkey de pe serverul openweathermap.org (linia 8) si localitatea (linia 107).
  Am obtinut in programul Thonny IDE urmatoarele informatii:
 
si pe ecran
dupa ce am am facut o mica modificare si am obtinut "^C" in loc de "-C".
   Am facut si 2 filmulete:
   Informatia catre serverul openweathermap.org este solicitata la 30 secunde, afisandsu-se doar starea generala a vremii, ora, temperatura si umiditatea. 
   Ce m-a deranjat cel mai mult a fost ca in loc de simbolul de grad este o linie sau ce am inlocuit eu, asa ca am cautat pe diverse forumuri si am gasit ca pot apela biblioteca afisajului sa imi puna un simbol asemanator gradului, asa ca am modificat programiorul, in special main.py, doar ca le-am pus pe toate intr-un loc: Weatherstatio_clock_RPiW_i2c_LCD1602_v1.
   Dupa modificare, pe afisaj informatia este prezentata astfel:
  Am facut si de data asta 2 filmulete:
apoi am observat ca ora 00:47este prezentata ca 24:47
ulterior si ca ora 01 este 25 si ora 02 este 26.
  Am modificat linia de calcul a orei sa imi arate doar restul modulo 24 (0..23)

sâmbătă, 4 noiembrie 2023

Ceas NTP si statie meteo cu RP2040-Zero si ESP8266-01 pe afisaj i2c LCD1602 (2)

   Dupa ce am testat mai mult timp ceasul cu date meteo prezentat in articolul anterior, si dupa ce am mutat montajul de pe breadboard pe un cablaj de test (mai ok), am constatat ca daca nu primeste informatii de la serverul NTP, ora "incremeneste", dar informatiile meteo se modifica ca si cum ar functiona normal, asa ca am modificat programul si daca nu sunt primite informatii de la serverul NTP sau de la openweathermap (era deja), ceasul sa functioneze normal.

    Montajul dupa transferul pe cablajul de test (cu gaurele) arata destul de bine

   Dupa primele teste, am constatat ca testul de schimbare ora vara/iarna, programul reporneste ca si cum s-ar opri alimentarea. Dupa cateva masuratori, am constatat ca comutatorul nu face tranzitie brusca intre mijloc si camele si are un mic moment cand toate trei sunt conectate, asa ca am adaugat o rezistenta de 12kΩ intre +3,3V si capatul comutatorului si, in cel mai rau caz, pentru foarte scurt timp creste consumul pe ramura de 3,3V cu 300μA, dar asta nu deranjeaza deloc.
   Schema actualizata arata asa:
   Revenind, dupa ce am constatat ca ora ramane mai mult timp statica intre schimbari de informatii meteo daca nu mai e conexiune la reteaua wi-fi, am modificat programul, acesta devenind NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_6, cu el incarcat, am facut 2 filmulete:
Am facut si cateva modificari sa "palpaie" ledul multicolor, iar daca ceasul n se conecteaza la serverul NTP, apare un semnul exclamarii in dreapta, iar daca nu se conecteaza nici la serverul de vreme si in stanga lui, daca informatiile sunt actualizate apar "=="
 dar nu era versiunea optima, asa ca am modificat un pic programul, care a devenit NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_6a si acum ledul multicolor (adresabil) palpaie secundele corect si se schimba si culoarea.
   Cu ultima versiune de program, am facut intai 2 filmulete:
apoi, dupa a doua zi, am refacut filmuleltele, constatand ca programul/sketch-ul este stabil, asa ca am mai incarcat