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.
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:
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.
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.
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