duminică, 3 martie 2024

Ceas Google cu data si termometru ce foloseste Raspberry Pi Pico W

    Dupa ce am testat cu succes un ceas ce preia ora de la un server google, am schimbat placa Wemos D1 Mini (ESP8266) cu una Raspberry Pi Pico W.

   Schema cu ESP8266 era
iar cea cu Raspberry Pi Pico W este similara, doar am schimbat pinii dupa cum am gasit in articolul Raspberry Pi Pico – MAX7219 8x8 Dot Matrix Scrolling Display
adaugand si sensorul de temperatura DS18B20 la pinul 22 (GP22), rezultand
   Programul adaptat dupa ultima versiune cu un senzor (pentru ESP8266) este BIG_Clock_RPpPicoW_DeskClock2h (compus din 3 fisiere)
si cu el am facut 2 filmulete:
  Dupa cum se observa, ora este fixa o perioada de timp, apoi apare un text deplasabil si valoarea temperaturii oprita pentru un timp:

07.03.2024
   La ceva timp am observat ca ora este corecta, dar nu se actualizase data, asa ca am banuit ca Raspberry Pi Pico W se deconecteaza de la reteaua wi-fi, asa ca am odiifcat programul, acesta devenind BIG_Clock_RPpPicoW_DeskClock2h1. Programul este compus din 3 fisiere
  Si de data asta am facut 2 filmulelte
   Am schimbat sa folosesc biblioteca pentru wifi folosita de ESP32 nu cea de la ESP8266 si periodic interoghez daca este conectat sau nu.. daca nu e, aprin ledulul de pe placa, daca se reconecteaza la reteaua wifi, ledul se stinge. Daca dupa 10 incercari la fiecare 10 minute placa nu este conectata sau la schimbarea zilei, daca placa este deconectata indiferent de numarul de teste nereusite, isi da repornire.
- placa deconectata de la reteaua wifi
- placa conectata la reteaua wifi
  Programarea placii Raspberry Pi Pico W a fost facuta cum am citit in articolul Programming Raspberry Pi Pico with Arduino IDE (Pico W compatible) si am prezentat si pe blog in Placa de dezvoltare RP2040-Zero programata cu mediu Arduino.
   Compilarea programului in Arduino IDE versiunea 1.8.19 arata asa:
si configurarea placii:

joi, 29 februarie 2024

Ceas google cu data si termometru (6)

 

    Ca o "cireasa de pe tort", am adaugat si reglajul automat al intensittii luminoase ca la ceasul prezentat in articolul Alta versiune de ceas animat cu date meteo (3)

    Schema de baza fiind aceeasi, completata cu cele 2 piese (fotorezistenta si rezistenta de 10kΩ):
adica
asa ca programul a devenit BIG_Clock_ESP8266_DeskClock1k
    Filmuletele demonstrative, pe care le-am facut, sunt

Ceas google cu data si termometru (5)

    Am adaugat ceasului ce ia informatii de pe internet (nu server NTP) si configurare usoara la setea (cum am prezentat in articolul asta)

si alte date (decalaj orar, daca vreau ora vara/iarna si formatul de 12 sau 24 de ore), dupa cum am gasit in articolul WiFiManager with ESP8266 – Autoconnect, Custom Parameter and Manage your SSID and Password 
   Programul modificat este BIG_Clock_ESP8266_DeskClock1j
   Schema folosita este acceasi, ca cea din articolul anterior:
  Am realizat si 2 filmulete:

Ceas google cu data si termometru (4)

    Am urmat sfatul unui urmaritor al canalului de youtube si am adaugat un al doilea senzor DS18B20 pentru exterior, pastrand facilitatea de a ramane valoarea temperaturii un timp pentru a fi usor de citit.

   Schema devine

si programul modificat este BIG_Clock_ESP8266_DeskClock1i

miercuri, 21 februarie 2024

Ceas google cu data si termometru (3)

    In 2019 realizasem impreuna cu Mihai un ceas cu 6 matrici ce avea implementat modul de schimbare automata a orei de vara/iarna,

   Cautand acum ceva similar si usor de implementat am gasit 2 materiale identice publicate pe site-uri diferite, ce foloseau partea de calcul ca si primul meu ceas (am avut acelasi material de inspiratie, https://github.com/schreibfaul1/ESP8266-LED-Matrix-Clock):
   Studiind informatiile, am gasit formula de calcul pentru datele de schimbare ale orei de vara si de iarna, programul rezultat este BIG_Clock_ESP8266_DeskClock1h
   Schema folosita este identica
 
ca si montajul
   Am facut si 2 filmulete:

duminică, 18 februarie 2024

Ceas google cu data si termometru (2)

     Deoarece ceasul a avut succes, am modificat programul ca valoarea temperaturii sa se opreasca din rulare un timp, pentru a fi usor citita. 

    Schema folosita este aceeasi:
   Programul modificat este BIG_Clock_ESP8266_DeskClock1f caruia i se adauga si cele 2 fisiere ajutatoare

Am facut 2 filmulete demonstrative:

ceas google cu data si termometru (3)

google clock with date (day,month,year) and DS18B20 thermometer (3)

   Ulterior, am primit o solicitare sa adaug si numele zilei din saptamana si numele lunii, asa ca am adaugat asta, dar bilingv (o data in romana, o data in engleza), 
programul devenind BIG_Clock_ESP8266_DeskClock1g
   Am facut alte 2 filmulete:

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.