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

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.

miercuri, 18 octombrie 2023

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

     Dupa ce am observat ca informatiile meteo nu sunt preluate de fiecare data de la serverul openweathermap, am modifcat programul ceasului anterior sa imi arate si ora ultimei actualizari.

    Schema este aceeasi, 

   Programul NTPclock_8x32_v2_16.ino are mai multe modificari fata de versiunea anterioara: inlocuirea bibliotecii ESP8266WiFi cu WiFi (pentru ESP32), revenirea la biblioteca SolarCalculator pentru determinarea orelor de rasarit si apus de soare, neafisarea informatiilor meteo prea vechi, afisarea orei de preluare a datelor meteo, adaugarea unei culori pentru ledul de indicare stare informatii meteo (mov, daca nu s-au preluat de prea mult timp), o resetare pe timpul noptii, etc.
    Am realizat 2 filmuletele, in care se vede mai bine ce am realizat:

29.10.2023
    Am depistat o eroare in programul NTPclock_8x32_v2_16.ino.. in subrutina de calcul a orelor de rasarit si apus de soare.. variabila zi (care este ziua din saptamana)
trebuie inlocuita cu zi2 (ziua din luna)

duminică, 1 octombrie 2023

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

    Dupa ce am testat ceasul NTP simplu cu Raspberry Pico W ce prezenta infrmatiile pe ecranul de monitorizare seriala, am adaugat placii, pe care e Raspberry Pi Pico, afisajul cu 8x32 leduri adresabile si comutotorul de ora vara/iarna, 

schema fiind

in care am refolosit programul de la Alt ceas NTP pe afisaj din 8x32 leduri adresabile (2) in care este folosit un ESP8266 (Wemos D1 mini)
doar ca am scos parte de configurare usoara a retelei WiFi, deoarece nu e compatibila cu Raspberry Pi Pico W si am schimbat pinii, asa ca l-am salvat separat, NTPclock_8x32_v2_9.ino.
   In functie de pozitia comutatorului, avem ora de iarna (pinul de selectie la GND) sau de vara (pinul de lectie la +3,3V).
   Am realizat si niste filmulete:

   Am modificat programul, schimband si pinii, pentru a fi sigur ca nu sunt ei de vina, obtinand versiunea NTPclock_8x32_v2_12.ino care este combinata cu schema 
   Dupa ce am observat ca ceasul functioneaza dupa 48 ore, fara blocare,
 am facut 2 filmulte:
   Pentru a gasi motivul care care determina blocarea sau, mai bine zis, acum, activarea sistemului de repornire, am pus in stanga sus sa am un led ce e aprins in culoare verde cand ceasul este conectat la reteaua wifi si preia si ora de la serverul NTP, in culoarea albastra daca sistemul este ori deconectat de la retea ori nu preia ora de la serverul NTP, in culoarea rosie daca sistemul de transmisie/receptie wifi este deconectat/oprit. In partea dreapta, am un led care este verde daca s-au trimis si s-au preluat datele meteo de la serverul openweathermap, in culoarea albastra, daca s-au trimis datete catre server, dar nu s-au primit date si in rosu, daca nu s-au pututt trimite date, cel mai probabil sistem wifi oprit.
   Programul este NTPclock_8x32_v2_13.ino si sistemul functioneaza astfel:
02.10.2023
    Am realizat ca pe modulul de deblocare o dioda e in plus (D3), asa ca am eliminat-o si am redenumit pe D4 ca D3:
08.10.2023
   Ceasul functioneaza foarte bine, in sensul ca nu s-a mai blocat de la ultima incarcare a programului.

marți, 26 septembrie 2023

Sistem/montaj de repornire Raspberry Pico W (Arduino) blocat (inghetat)

    In urma unor teste cu o placa Raspberry Pi Pico W pentru un ceas NTP, am observat ca uneori sistemul se blocheaza (ingheata), asa ca, dupa ce am cautat pe net, si nu am gasit solutie multumitoare, m-am gandit sa aplic o solutie extrema, un sistem care se reseteze placa Raspberry Pi (sau chiar Arduino) cand placa nu mai trimite impulsuri pe un anumit pin.

    De fapt, am folosit 2 pini, dupa cum se vede in schema si simularea, realizata cu programul Micro-Cap

prinul numit INIT (D7) are 5V imediat ce porneste placa Arduino (sau Raspberry Pi Pico), ulterior pe pinul D5 numit in schema PIVIEM se trimite semnal dreptunghiular cu frecventa de cca. 1000Hz (semnal PWM 50%), apoi pinul INIT se aduce in 0V, apoi dupa un timp si semnalul PIVIEM cade in zero. 
    Dupa cum se vede din filmulete si imagini, dupa circa 12ms de la pierderea semnalului, pinul RESET din 5V cade in 0V pentru circa 7ms.
    Primele 2 filmulete au fost multumitoare, urmarind semnalul cu un osciloscop didactic, sa-i zic asa. model DSO-TC3:
apoi am mai conectat in osciloscop-tableta, model ADS1013D, cu 2 canale, de la care avem pretentii cam mari, pentru timpii descrisi mai sus, reprezentarea este multumitoare
   Am modificat putin timpii de reactie, la cateva sute de ms dupa disparitia semnalului dreptunghiular si cateva sute de ms de reset,
   Am gasit, intai, in articolul How to Add a Raspberry Pi Pico Reset Button ca placilor Raspberry Pi Pico (fara sau cu W) li se poate adauga un buton de reset, conectant un buton fara retinere intre pinul 30 (RUN) si GND
asa ca am schimbat si placa, de data asta conectand Raspberry Pi Pico W, pinul INIT este GP21, iar pinul PIVIEM este GP20, semnalul RESET se duce in RUN, montajul se va alimenta din 3V3 (OUT), respectiv GND:
    Osciloscopul-tableta a fost greu de controlat pe modul de captarea a unei imagini statice, unde pot masura timpii, dar nu am insistat, deoarece rezultatele vizuale au fost multumitoare, dupa cum se vede in filmuletele:

02.10.2023 (actualizare 19.01.2024)
   Am realizat ca am o dioda in plus, asa ca am eliminat-o: