marți, 29 noiembrie 2022

Placa de dezvoltare Witty cu ESP8266

      In cautarea unor placi de dezvoltare ieftine cu ESP8266, am dat de placa "Witty", care, in mod normal nu are interfata seriala, ci doar alimentare cu conector micro-usb, dar are pe cablaj un led multicolor, un buton farar retinere si o fotorezistenta conectata la intrarea analogica intr-o schema de divizor rezistiv. In plus, exista o placa adaptoare cu interfata usb, pentru progrmaare si monitorizare seriala a datelor.

    In articolul Witty Cloud Module Adapter Board  am gasit schemele celor 2 placi, cea de baza si cea de interfatare usb:

   Am gasit in articolul Hands-on review: Wi-Fi Witty, the $6 pre-made IoT solution o prezentare a pinilor si a conexiunilor cu ledul multicolor si fotorezistentei:

dar si in articolul AndroLogiciels: ESP12-F
Tot cautand informatii am gasit si articolul ESP8266 WIFI Witty Cloud Development Board(8154)
si un program de test rapid al functionalitatii la https://github.com/amkuipers/witty pe care l-am foloit si eu dupa cum se vede in filmuletele:
   Placa aleasa, pentru incarcarea programului, este
   Ulterior, mi-am pus capul la contributie si am scris un programior mai complex (witty_test2.ino), astfel ca la fiecare apasare a butonului fara retinere se schimba culoarea ledului multicolor, iar intensitatea luminoasa a acestuia depinde de intensitatea luminoasa de pe fotorezistenta:
   Am testat apoi ceasul NTP cu termometru/higrometru, ce are reglaj de pe o pagina locala web, cu programul acestuia,
 doar ca am modificat pinii folositi:
si asta se vede in filmuletele:
   Ca un rezumat, placa de dezvoltare "Witty" cu ESP8266 e utila, daca e deja achizitionata, are cam putini pini liberi, nu e nici "breadboard friendly", pentru a trebuit sa folosesc 2 breadboard-uri pentru a putea face si legaturi, dar daca se foloseste un cablaj de test sau unul clasic atunci se poate folosi fara probleme.

sâmbătă, 12 noiembrie 2022

Cum se foloseste metoda multiplexarii la afisajele led cu 7 segmente...

    In ai multe proiecte am folosit metoda multiplexarii, care pentru anumite persoane e ceva ciudat si de neinteles, asa ca o sa incerc sa va prezint aceasta metoda, cum am folosit-o eu la ceasuri sau la termostatele cu afisaj led din 7 segmente.

    Un exemplu concret este ceasul NTP cu date meteo de la senzor DHT22 pe afisaj led multiplexat (catod comun)

acolo am folosit un afisaj cu catod comun, avand codul LFD080AAG-103-01 la care i-am adaugat rezistente a fiecare segment (a...g + punctul zecimal).

   Un afisaj cu anod comun este KW4-563ASA, folosit initial in articolul Afisaje LED cu 7 segmente si.. Arduino (in 2013)
   Metoda este folosita de foarte mult timp, in primul rand, pentru ca reduce mult namarul de pini ai afisajului:  la afisajul multiplexat cu 4 cifre sunt doar 12 pini (4 cifre si 8 segmente), pe cand la un afisaj cu comanda separata sunt folositi 28 pini (4 grupe de cate 8 segmente).
   Daca vreau sa afisez ora 12:34, sunt 2 cazuri:
- cu secundele aprinse (in cazul de fata, doar punctul zecimal de la cifra a 2-a)
- fara secunde
   Bun, acum, pentru cazul afisarii orei cu secunda:

respectiv fara secunda

deci sunt 4 timpi:
- primul timp: se alimenteaza prima afisaj si se aprinde cifra 1
- al doilea timp: se alimenteaza al doilea afisaj si se aprinde cifra 2 ( cu sau fara punctul zecimal)
- al treilea timp: se alimenteaza al treilea afisaj si se aprinde cifra 3
- al patrulea timp: se alimenteaza al patrulea afisaj si se aprinde cifra 4
apoi se repeta de la timpul 1.
   La afisajele cu anod comun, un fisaj se comanda prin alimentarea cu plus a pinului comun si conectarea minusului, cel putin printr-o rezistenta de limitare a curentului, la toate segmentele dorite a se aprinde, iar la afisajul cu catod comun, segmentele seconecteaza la plus prin rezistenta si la masa se conecteaza pinul comun. Cifrele si anumite litere sau simboluri se fac cum e prezentat in articolul 7-segment HEX decoder
   Cand doresc sa afisez temperatura:

sau umiditatea relativa:

sau

care deriva din materialul prezentat in articolul Ceas cu reglaj manual al orei si datei, alarma si termometru pe afisaj multiplexat cu 4 cifre led
si are mai multe versiuni de sketch-uri pe https://github.com/tehniq3/multiplexedclock4b, iar schema este 
 
la care se poate conecta or un afisaj cu catod comun ori unul cu anod comun, doar se modifica cateva linii:
respectiv
   Un mod mai frumos de afisare a secundelor, consta in intoarcerea, cel putin a afisajului 3:
cum am folsit la ceasul "caramida din lemn"