marți, 23 ianuarie 2024

Ceas google cu data si termometru

     Am primit de la un vechi cititor al blogurilor mele si al canalului de youtube o solicitare sa modific un program de ceas ce preia ora de pe un server google, astfel incat sa arate si data, programul are si un termometru cu senzor DS18B20.

   Am cautat un pic pe net, dar nu am gasit prea multe exemple, doar ESP8266 Animated Clock on 8x8 LED Matrices mi-a inspirat suficiente informatii.

   Apoi am dat de biblioteca HTTP-DateTime, care e usor de folosit, (programul modificat de mine este Google_clock_serial.ino) si prezentarea informatiilor este in ecranul de monitorizare seriala, dupa cum se vede in filmuletele:
apoi am revenit la ceasul cu prezentarea informatiei pe 4 matrici de 8x8 leduri controlate cu MAX7219.
    Desi am tot testat diverse modele de ceas NTP, am vrut sa extrag singur informatiile (fara biblioteca), doar ca m-am inspirat in biblioteca prezentata mai sus.
   Primul ceas ce are si informatii despre data este prezentat in filmuletele:
care foloseste programul BIG_Clock_ESP8266_DeskClock1c (de fapt sunt 3 fisiere)
apoi am modificat programul sa poata afisa si versiunea ceasului in format de 12 ore, cum se foloseste in zona Asiei, asa ca am mai facut 2 filmulete, folosind programul BIG_Clock_ESP8266_DeskClock1e
   Schema este simpla, eu realizand un montaj pe un breadboard (o placa de dezvoltare Wemos D1 mini, un modul cu DS18B20 si un modul de afsare cu 4 matrici de 8x8 cu MAX7219:
Conectarea afisajului este 
similar schemei
folosind afisajul din dreapta (model nou)
iar senzorul DS18B20 la D4 (GPIO2) fiind alimentat la +5V si GND
PS: O desenez, cand prind un pic de timp liber schema folosita de mine.

18.02.2024
   Am reusit sa gasesc un pic de timp sa desenez schema ceasului, pentru a fi mai usor reprodusa de incepatori.

miercuri, 10 ianuarie 2024

Ceas NTP cu Raspberry Pi Pico W pe afisaj de 8x32 leduri adresabile (3)

   Ceasul actual este o imbunatatire a versiunilor 1 si 2 si are mai multe modificari ale programului, astfel incat sa fie cat mai stabil pe timp lung (sa nu se blocheze) si sa indice corect si temperaturile negative.

   Schema este aceeasi

   Partea cu temperatura negativa de -4,4℃, ce aparea -4,-4℃ sau cea de -0,5℃ ca 0,-5℃ s-a rezolvat destul de simplu

adica
        extrainfo = extrainfo + " (clouds: " + nori + "%)";
        extrainfo = extrainfo + ", temperature: ";
        if (temperatura > 0) extrainfo = extrainfo + "+";
        if (temperatura < 0) extrainfo = extrainfo + "-";
        if (tempint < 0) tempint = -tempint;
        if (temprest < 0) temprest = -temprest;
        extrainfo = extrainfo + tempint + ","+ temprest;
   Ultima versiune de programul este NTPclock_8x32_v2_19c.ino si ceasul se prezinta astfel:

14.01.2024
    Am realizat ca uneori datele meteo de pe ecran nu sunt actualizate corect, chiar daca aceastea sunt primite corect, asa ca am mai facut o modicare, reinitializand sirul (string-ul) result de fiecare data.
adica
 Programul NTPclock_8x32_v2_19c.ino este deja actualizat.