vineri, 25 mai 2018

Priza programabila utilizind arduino

Deoarece mi-a cedat priza programabila luata din magazin, am hotarit sa mi-o fac singur. In cazul meu aceasta sta de regula in aer liber, si datorita mediului cedeaza ori butoanele care nu mai fac contact, ori display-ul caruia ii crapa banda de cauciuc cu contacte. Cele din comert sint ceva mai stufoase, insa eu am nevoie doar sa porneasca zilnic un releu pe un interval orar stabilit.
Nu am avut chef sa inventez alta roata asa ca mai intii am cautat sa vad ce au facut si altii. Solutii sint multe (mai mult sau mai putin complicate), dar de lene am ales varianta cea mai simpla, unde puteam utiliza arduino.
Am pornit de la un acest proiect de ceas cu alarma caruia i-am adaptat codul la ceea ce am gasit in sertar.
Pentru teste am folosit un LCD 16x2 cu I2C, un arduino nano si un modul cu DS1307.
Initial am mers pe varianta omului cu 3 butoane pe 3 intrari separate . Ulterior in speranta de a folosi un ATTINY85, am modificat codul pentru 3 butoane legate la aceasi intrare adaptind la cele 3 butoane 3 rezistente de 10K dupa informatiile din link. Din pacate aceasta versiune de cod nu incape in ATTINY si va ramine in studiu.
Codul ocupa destul de mult:

Fazele de testare arata ca mai jos:
In dreapta sus este ora de pornire (P), iar sub el ora de oprire (O)
In stinga sus ora curenta, iar mai jos data, desi in acesta aplicatie informatia este inutila.
La apasare butonului "-" se poate porni releul manual
 La apasarea butonului SET ( cel ce pune la masa intrarea A3) se trece in modul setup (cel din mijloc este + iar capatul -)
 La apasari succesive cursorul ">" se deplaseaza in stinga fiecarui element de reglat, cu celelate 2 butoane "+" si  "-" se executa reglajul.
 Setare ora si minut pornire
 Setare ora si minut oprire
 Se salveaza datele in EEprom
Releu pornit
In curind cind vor sosi circuitele DS1307 voi utiliza un LCD16x2 fara I2C, cu un 328 simplu, puse toate pe un circuit imprimat, adaptat la cutia folosita.

Trebuind neaparat o bucata functionala l-am pus intr-o doza PT (pe tencuiala):
De data asta am folosit un RTC mai mic ca dimensiune cu un LCD fara I2C, si am pus un ATMEGA328. Releul l-am lipit peste priza, iar linga el am pus o sursa de 5v/700mA.





Fake ATX cu WT7520

Zilele astea am fost solicitat sa repar si apoi sa modific sursa de mai jos la tensiunea maxima ce o poate scoate. Cred ca e cea mai "...