duminică, 31 octombrie 2021

Ceas NTP cu tranzitii animate si date meteo pe afisaj P5 RGB 64x32 cu ESP8266 (4)

primul articol

al doilea articol

    Avand in vedere ca ceasul nu are trecere automata la ora de iarna/vara, am vrut sa adaug control de pe o pagina locala web (cum am prezentat in articolul Ceas NTP cu date meteo de la senzor DHT22 pe afisaj led multiplexat (catod comun)
dar am constatat ca programul existent ocupa deja mult spatiu, asa ca am apelat la metoda OTA de incarcare a sketch-ului prin Wi-fi, cum am prezentat in articolul Programare de la distanta (OTA) placa de dezvoltare cu ESP8266
   Progamul, cu toate fisierele se gaseste, ca de obicei, pe Github, fiind MorphingClockRemix1l
iar pentru programare selectez portul virtua; OtherMorphingClock:
    Pentru a nu mai avea montaj provizoriu, acum ceva timp am comandat o placa adaptoare de la Electrodragon, ce vine insotita de un cablu panglica.
    Cablul nu merge folosit deoarece pune anumiti pini la masa, asa ca am folosit niste fire Dupont mama-mama pentru a rezolva problema

03.11.2021
    Am facut mici modificari la program, mici, dar importante, cred eu: sa regleze automat intensitatea luminoasa la minim cand apune soarele si maxima cand e zi,respectiv sa regleze proportional intre maxim si minim, cand sunt nori, ca tot pot vedea daca e zi sau noapte din informatiile meteo.
    Ultima versiune de program se gaseste in directorul MorphingClockRemix1l3
   Am facut 2 filmulete cu aceasta versiune:

luni, 18 octombrie 2021

Control securizat placa de dezvolare cu ESP8266 folosind aplicatia Telegram

    Am testat si eu controlul unei placi Wemos D1 Mini (cu microcontroler ESP8266) cu ajutorul aplicatiei Telegram, folosindu-ma de informatiile gasite in articolul Telegram: Control ESP32/ESP8266 Outputs (Arduino IDE).

   Am creat un bot, conform instructiunilor din articol, prin apelarea lui Botfather in casuta de cautare, apoi scriind comanda /start
 dupa care am verificat daca am vreun bot activ cu ajutorul comenzii /mybot, dupa care am cerut sa creeze un nou bot folosind comanda /newbot, imi cere sa ii dau un nume, am ales Vasile, apoi imi cere sa ii dau un nume de utilizator, care sa includa "bot". asa ca am incercat Vasilebot, dupa ce am primit mesaul ca e deja folosit, am ales Vasile1bot
primesc un numar unic (API)
care trebuie introdus in sketck-ul de test, pe langa numele si parola retelei locale WiFi
   Cel mai greu a fost sa identific codul celui ce da comenzi... am incercat la intamplare un numar si am primit raspuns de apelant neautorizat
   Am observat ca in sketch se compara codul celui autorizat (la acel moment necunoscut, din 10 caractere) cu codul celui ce trimte, asa ca am adaugat o linie in program
si asa bazut in ecranul serial codul meu in acea conversatie, 
l-am scris in sketch si am reincarcat programul, obtinand
   Dupa aceasta am modificat programul; pentru comenzi si raspunsuri in romana, iar dupa 6 zile de functionare continua, a raspuns corect
   Am creat un grup, unde am alt cod si nu primeste comenzi, ceea ce e foarte bine

   Am facut 2 filmulete demonstratice, in care aprind sa sting ledul de pe placa Wemos D1, inclusiv aflu starea, programul folosit este test_telegram_ro_curat.ino:
   PS: functioneaza si pentru un grup, in care il pot contola toti membrii grupului si primesc toti informatii de la bot
.

duminică, 3 octombrie 2021

Ceas NTP cu date meteo de la senzor DHT22 pe afisaj led multiplexat (catod comun)

    Am inceput testele pentru un ceas cu 6 tuburi VFD IV-11 primit de la dl.Janos Baricz, dar, desi montajul este intr-o cutie de lemn, cu geam de protectie, montajul este mult prea sensibil si greu de mutat, comparativ cu un afisaj LED multiplexat cu cateva rezistente pe un breadboard  😁

asa ca am trecut la un afisaj led multiplexat cu 4 digiti (cifre din 7 segmente si punct).

   M-am inspirat de articolul IV-18 Clock


unde se comanda un afisaj VFD IV-18, dupa cum spune si titlul. 

   Am pastrat registrele de deplasare, dar am inlocuit placa Arduino cu un ESP8266 pentru a avea un ceas cu informatii preluate de la un server NTP, la care sa am acces al reglaj din pagina de configurare locala. Dupa ce voi fi multumit de testele cu afisajul cu catod comun, voi modifica programul pentru ceasul cu tuburi VFD.

   Modificarile sunt minore, deoarece modul de comanda e multiplexat, asa ca pentru VFD, se dau comenzi HIGH atat la grila, cat si la digit, iar la afisajul led cu catod comun, se da comanda HIGH pe segment si LOW pe digit, respectiv LOW la segment si HIGH la digit, la afiajul led cu anod comun.

   Pentru inceput am conceput o schema de baza, dupa care dl. Georgel mi-a redesenat-o concepand si un cablaj, dupa care mi l-a realizand si fizic:

   Aceasta versiune de cablaj este una de test universala, nefiind cablajul final al viitorului ceas, dar ma ajuta mult la teste de functionare de lunga durata, din care reies mici erori de program.

   Pentru moment, nu am pus modul RTC, ora fiind luata doar de la la server NTP prin intermediul retelei locale Wi-Fi, nici fotorezistenta nu a fost montata... 


   Bun, eu am trecut la teste de durata pe un afisaj  LFD080AAG-103-01 cu catod comun,
la care am inseriat rezistente de 220Ω cu segmentele A.G si cu punctul (DP) pe iesirile registrelor de deplasare notate cu A..G si DP, respectiv iesirea 0 la DIG4, 1 la DIG3, 2 la DIG2 si 3 la DIG1.

   Am scris, initial, un program simplu, adaptat din cel prezentat in articolul IV-18 Clock si modul de functionare se vede in filmuletele
   O versiune de program, care include modul de prezentare in format de 12 ore sau 24 ore, masurare temperatura si umiditate relativa aer, este clock_7segled_cc_2_12h_v1.ino.
   Am rescris programul pentru a avea o pagina web de configurare, intai doar una foarte simpla de schimbare ora vara/iarna (sketch: clock_7segled_cc_2_12h_w1.ino)
 Am adaugat o pagina web  de configurare mai complexa, 
din care pot configura ora de vara/iarna (DST), fusul orar si un buton de reimprospatare ora.
   Pe afisaj regasim:
- ora cu "secunde animate". in format de 24 ore
- data (ziua si luna)
- anul
- ora cu "secunde animate". in format de 12 ore
- temperatura
- umiditatea relativa
   Programul clock_7segled_cc_2_12h_w2a.ino are implicat si modul de configurare initiala a retelei Wi-Fi (WiFimanager, despre care am scris in articolul Configurare usoara conectare la retea Wi-Fi pentru microcontrolerele ESP8266/ESP32). 
Configurarea orei de vara/iarna si fusul orar au fost prezentate in articolul Ceas NTP cu date meteo de la senzor DHT22 pe afisaj VFD (Datecs DPD-201)
   Ultima versiune se vede in filmuletele: