ArduShop.ro

ArduShop.ro
cod tehnic.go.ro_02 reducere 5%, pentru vizitatorii paginilor mele !

sâmbătă, 12 ianuarie 2019

Ceas reglabil animat cu termometru şi higrometru pe afisaj multiplexat cu 4 cifre led (2)

   Fata de ceasul anterior am adaugat in program facilitatea de a arata formatul de 12 ore cu indicare AM/PM cu ultimul punct zecimal al cifri din dreapta, deoarece nu mai am pini liberi la placa Arduino (as mai avea pe D0/D1 - Rx/Tx, dar nu e ok sa-i folosesc, sau as putea muta pentru ca am Nano butoanele de meniu si crestere valoar epe A6/A7), dar programul nu poate fi folosit pe mai multe tipuri de placi (Nano, Uno, Pro Mini, chiar si Mega, etc)
   Formatul aceste de 12 ore mi-a fost cerut insistent 😁😃 de un cititor al blogurilor mele din Nigeria, asa ca am zis ca daca tot am dezvoltat proiectul, sa fac si asta.

    In programul multiplexed_scroll_clock3c.ino se schimba simplu valoarea h12 = 0 pentru formatul de 24 ore, respectiv h12 = 1 pentru formatul de 12 ore.
   Am pastrat facilitatea de a functiona cu anod comun sau catod comun prin simpla schimbare a variabilei tip = 0 pentru catod comun, respectiv tip = 1 pntru anod comun:
inclusv de a testat functionarea cu variabila test = 1, respectiv pentru functionare nomala test = 1

     Dupa cum se vede din pozele de mai jos, ora 1:01 PM sau 13:01 in formatul de 24 ore
respectiv ora 2:02 AM, respectiv 2:02 in format de 24 ore
    Schema de conectare este identica:
ca si partea de reglaj ora si data
si ce de reglaj manual al intensitatii luminoase
sau automate, cu fotorezistenta

    In filmultele
puteti vedea modul de afisare si reglare, care nu difera de cel dinainte, prezentat in articolul Ceas reglabil animat cu termometru şi higrometru pe afisaj multiplexat cu 4 cifre led

joi, 10 ianuarie 2019

Comunicare intre 2 ESP-uri in retea proprie

   Microcontroler-ele ESP8266 care se gasesc pe placi simple sau cu interfata USB (NodeMCU, WeMos, etc) pot lucra in retele Wi-Fi ("uairles") ca un simplu client intr-o retea sau pot fi ele "router-e" in modul AP (Acces Point)
   Multe proiecte lucreaza intr-o retea Wi-Fi clasica, dar am gasit un material in care se foloseste un ESP8266 ca AP (creeaza reteaua) si altul care se conecteaza la acea retea Wi-Fi si comunica intre ele.
   Materialul se numeste Accesspoint - Station Communication Between Two ESP8266 MCUs si a fost usor de reprodus.
   Am facut si eu mici modificari in programele AP-ului si clientului (AP_1.ino, respectiv ST_1.ino), pe ecranele de monitorizare seriala, vedem, la server-ul (router-ul) nostru
iar la client, care se conecteaza imediat la reteaua "Wemos_AP" si saluta pe sef
care-i raspunde
  Reteaua Wi-Fi "Wemos_AP" o pot vedea si de pe telefon
si ma conecta la ea
avand parametrii
   Am facut si un prim filmulet numit Comunicare intre 2 ESP-uri in retea proprie.

14.01.2019
    Dupa o scurta perioada am observat ca se pierde comunicarea dintre cele 2 ESP-uri, din cauza "clientului", asa ca am incercat diverse metode (subrutina de reconectare, reset soft, apoi hard reset)... singura cu sanse vizibile de reusita a fost reset-ul hard, dar si acolo am intampinat probleme, pana mi-am adus aminte ca am mai rezolvat cumva aceasta problema la o placa de retea clasica cu W5100 si am presentat solutia in articolul Termostat controlat de pe o pagina web (2).
    Pe scurt solutia era sa schimb ordinea clasica a definirii pinului ca iesire si trecerea lui in HIGH, adica intai i spun ca trebuie sa fie in HIGH si apoi ca e pin ca iesire...
ca sa fiu sigur i-am mai "spus" odata ca trebuei sa fie in HIGH...
   Schema de conebctare e simpla: pinul D0 se leaga la RST (RESET) si acesta ajunge in LOW cand se numara prea multe iteratii sau se pierde legatura sau "se pierd date pe drum"...
   Am facut si 2 filmulete:
Comunicare in retea proprie intre 2 ESP-uri cu autoreconectare
Accesspoint - Station Communication Between Two ESP8266 MCUs
19.01.2019
  Am schimbat D0 cu D5 si legatura e mult mai stabila.

miercuri, 9 ianuarie 2019

Ceas RTC cu reglaj si termometru in 3 zone

    Fata de articolul anterior, unde am prezentat un Ceas RTC cu reglaj si termometru in 2 zone  de data asta, Bogdan ARGATU a modificat programul pentru a avea indicatii pentru trei zone, pastrand facilitatea de ceas cu reglaj.
   Schema de conectare este identica, doar afisajul este 2004, adica are 20 coloane si 4 randuri, in locd e 1602 cu 16 coloane si 2 randuri.
    Programul modificat de Bogdan este clock_3ds18b20.ino, care incarcat intr-o placa de dezvoltare Arduino montata conform schmei de mai sus prezinta datele cum se vede in filmuletul Ceas RTC cu reglaj si temometru in 3 zone realizat de el:
 
    Montajul realizat de Bogdan:
iar cei trei senzori sunt montati, unul in camera la 1,5m inaltime, unul pe turul de la centrala (la etaj) si unul exterior.

   Eu am facut mici modificari la modul de a afisa temperaturile fara a se deplasa punctul zecimal si simbolul de grad Celsius, dupa cum se vede incarcand programul clock_3ds18b20_v1.ino.
   Fata de programul meu, Bogdan a schimbat semnul de plus cu o pauza pentru valorile pozitive, pentru toate cele 3 temperaturi, dupa cum se vede pentru una din ele:
    Noua versiune functioneaza dupa cum se vede in filmuletul Ceas RTC cu reglaj si temometru in 3 zone (2)

miercuri, 26 decembrie 2018

Ceas reglabil animat cu termometru şi higrometru pe afisaj multiplexat cu 4 cifre led

 
    Am adăugat ceasului cu prezentare informaţii animate şi reglaj al ceasului şi datei, pentru a putea avea un ceas independent. Am păstrat si reglajul intensităţii (automat sau manual) cum e prezentat în articolul precedent.
sau 

    Am adăugat doar 2 butoane fără reţinere (pushbutoane) la pinii A1, respectiv A2:
   Schema de bază rămânând aceeaşi
    Apăsând butonul MENU/MENIU se intră în modul de reglaj, întâi al orelor care clipesc repede şi creşte valoare la fiecare apăsare a butonului +, dar dacă se ajunge la 23 şi s eappară o să avem ora 00.
   Dacă se apasă iar butonul MENIU se intră în meniul de reglare al minutelor, care clipesc mai repede, iar valoarea lor creşte prin apăsarea butonului + (sau menţinerea apăsată pentru creştere mai rapidă) până la 59, după care trece la 00.
   La următoarea apăsare a butonului MENIU apare anul, care poate fi schimba doar de la 2018 la 2049
urmează schimbarea lunilor de la 1 la 12
apoi prin apăsarea butonului MENIU se intră la reglarea zilelor, care depind de luna şi an (pentru februarie), în acest mod zilele clipesc rapid pentru a şti ce se modifică
  Acest mod de reglaj l-am găsit la Andy pe blog in articolul Arduino Astronomical Clock (or Arduino Pond Pump Controller!)  şi mi-a plăcut modul de implementare, aşa că l-am tot folosit de-a lungul timpului.
   Sketch-ul folosit este multiplexed_scroll_clock3.ino şi în filmuleţele următoare se vede foarte bine modul de funcţionare şi cum se face reglajul

Ceas animat cu termometru şi higrometru pe afisaj multiplexat cu 4 cifre led (2)

    Fata de articolul anterior, am adăugat reglaj al intensităţii, deoarece noaptea e deranjantă lumina ceasului, aceasta făcându-se prin adăugarea
- unui divizor rezistiv format dintr-o fotorezistenţă şi o rezistenţă de 10kohmi, pentru reglaj automat, funcţie de intensitatea luminoasă pe pastila fotorezistenţei
- unui comutator cu 2 poziţii (NIGHT-NOAPTE - intensitate redusă a afişajului, respectiv DA/ZI - intensitate crescută)
  Măsurarea tensiunii pe pinul analog A3 va determina introducerea unui timp mai mic sau mai mare la multiplexare şi astfel afişajul se va aprinde cu intensitate mai mare sau mai mică.
   Programul care face toate acestea este multiplexed_scroll_clock2.ino şi păstrează facilitatea testării, respectiv funcţionării cu afişaj cu cator comun sau anon, cum am descris in articolul anterior.
   Schema de conectare a modului de ceas RTC, a senzorului DHT22 (AM2302) e aceeaşi
   Ceasul, arată, în afara orei (ca în prima poză) timp de 10 secunde, cu secundă care se stinge şi se aprinde
şi următoarele informaţii, fiecare cca 2,5 secunde cu efecte de intrare şi ieşire pe ecran:
- temperatura ambiantă
- umiditatea relativă a aerului
- data (zi şi lună)
   In filmuletele următoare se vede cum se poate regla manual intensitatea