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

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 
   

joi, 2 noiembrie 2023

Ceas NTP si statie meteo cu Raspberry Pi Pico (RP2040) si ESP8266-01 pe afisaj i2c LCD1602

   Dupa ce am testat, cu succes, statia meteo, am zis sa adaug si partea de ceas NTP.. schema de conectare este identica cu a ceasului

   Primul sketch cu rezultate bune este NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_0 si cu el incarcat, am facut 2 filmulete:
apoi am mai adaugat ora ultimei actualizari pentru informatiile meteo si procentul de nori, daca exista, programul devenind NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_4.
    Am realizat inca 2 filmulete:

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

  Am schimbat la ceasul anterior, placa de dezvoltare Raspberry Pi Pico cu una RP2040-Zero, deoarece e mai mica si are, in plus, butonul de reset inclus.

  Schema este similara, doar ca a trebuit sa conectez comutatorul de ora de bara/iarna la GP8 ca GP22 este sub placa si greu de conectat... schema este desenata intr-o versiune mai veche de Eagle si apoi infrumusetata in MS Paint

    Partea de conectare dintre placa RP2040-Zero si ESP8266-01 este mai usor de intuit din desenul urmator:
    Am folosit acelasi program/sketch (NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_4)
 doar ca am modicat linia cu definirea pinului pentru comutator:
si am realizat si 2 filmulete:

joi, 26 octombrie 2023

Statie meteo cu Raspberry Pi Pico (RP2040) si ESP8266-01 pe afisaj i2c LCD1602

    Dupa ce am testat ceasul NTP, am zis sa incerc, mai intai o statie meteo, ce preia informatiile de pe serverul openweathermap.

   Am folosit aceeasi schema
doar modificat programul folosind rezultatele obtinute anterior si acesta este Openweathermap_RP2040_ESP8266_01_i2c_1602_v1_2 si cu el am urmatoarele informatii, pe randul 2 (de jos):
- daca nu s-au actualizat inca datele
- vremea, in general
- temperatura
- umiditatea relativa din aer
- presiunea atmosferica
   In filmulele urmatoare se vad mai bine informatiile prezentate:

luni, 22 mai 2023

Alt ceas NTP pe afisaj din 8x32 leduri adresabile

    Dupa ce am facut prima versiune de ceas NTP cu informatii meteo pe afisaj 8x32 leduri adresabile, am zis ca il refac de la zero, doar ca am folosit schema din articolul anterior:

si primul program, ce are ore cu secunde "palpaitoare" si data deplasabila, ora vara/iarna, intensitate diferita pe timp de zi si timp de noapte, este NTPclock_8x32_v2.ino si modul de functionare se vede in filmuleletele ce urmeaza:
apoi a adaugat si informatiile meteo, programul devenind NTPclock_8x32_v2_1.ino, iar filmuletele demonstrative sunt:
   Am renuntat la calculul orei de rasarit si apus pentru soare cu o biblioteca dedicata, acum folosesc informatiile pe care le obtin oricum de pe openweathermap.org, programul este acum NTPclock_8x32_v2_2.ino si filmuletele explicative sunt
   Deoarece informatiile meteo sunt prea dese, am modificat sa am timp mai mare pentru ceasul propriu-zis, iar noaptea tarziu sa am doar ceas, programul devenind NTPclock_8x32_v2_3.ino. Filmuleltele, care prezinta modul de functionare, sunt:
    Am zis sa adaug data, ca informatie suplimentara, dar sa am si niste tranzitii la ora, sa vina, sa stea timpul definit, sa plece, sa vina informatiile suplimentare, sa treaca din dreapta in stanga si apoi sa revina ceasul. In miez de noapte, pe afisaj e doar ora, dupa cum se vede in filmuletele:
   Programul folosit in ultimele 2 filmulete este NTPclock_8x32_v2_5.ino.

Ceas NTP cu statie meteo pe afisaj din 8x32 leduri adresabile

    



   Dupa ce a sosit un nou afisaj de 8x32 leduri adresabile, am reluat proiectul ceasului NTP cu informatii meteo ce deriva din cel prezentat in articolul WS2812-WeatherStation

   Am pastrat schema ceasului pe matricea injumataita (articol Ceas NTP cu selectie ora vara/iarna pe afisaj 16x8 leduri adresabile)
adica
   Incarcand programul weatherstation_707pheonix_v1_2a.ino functionarea ceasului se poate vedea in filmuletele urmatoare:
   Am adaugat si umiditatea relativa, ca tot am acces la informatiile de pe site openweathemap.org, asa ca programul devine weatherstation_707pheonix_v1_2c.ino iar funcionarea este ca in cele 2 filmulwwte:
   Dupa aceasta am schimbat cifrele si numerele, ca in articolele anterioare (1 si 2),

programul este acum weatherstation_707pheonix_v1_3.ino si prezentarea informatiilor este dupa cum se vede in filmuleltele urmatoare:
   Apoi am adaugat schimbarea automata a culorilor, la schimbarea informatiei, programul fiind acum weatherstation_707pheonix_v1_4.ino iar ce a iesit se vede in:
   Urmatorul pas a fost ca ceasul sa fie indicat mai mult timp, programul fiind acum weatherstation_707pheonix_v1_5.ino iar prezentarea infirmatiilor ca in cele 2 filmulete:
  Am adaugat un comutator la D6 (pin la GND = ora de iarna, iar cu pin la +3,3V = ora de vara),
programul este acum weatherstation_707pheonix_v1_6.ino si functionarea se vede mai bine in cele 2 filmulete: