Se afișează postările cu eticheta esp8266-12. Afișați toate postările
Se afișează postările cu eticheta esp8266-12. Afișați toate postările

duminică, 15 septembrie 2019

Ceas matricial NTP cu ESP8266 pe matrice I2C 2x8

Cu ceva timp in urma am luat din greseala citeva placute cu HT16K33 (driver I2C) ce voiam sa le folosesc cu un display 4x7 segmente. Placuta arata ca cea de mai jos:
iar cea dorita de mine pentru 7 segmente trebuia sa fie asa:

Abuzind de google am gasit utilizarea si pentru cele luate gresit. Acestea se folosesc pentru conectarea a doua matrici de 8x8 LED-uri. In link sint detalii despre acestea.
Eu am folosit doua matrici de 8x8 LED-uri (ceva mai mari decit cele propuse de Adafruit ) ce le-am lipit pe o placa de test si am facut legaturile cu fire, ca in schema de mai jos:
Aici A0 se duce la A2 si invers (posibil eroare de redactare).
A iesit ca mai jos:

Tot abuzind de google am gasit un mod de a utiliza alte fonturi mai mici decit cele din lib-ul lui HT16K33, astfel incit sa incapa 4 cifre si sa pot face un ceas sincronizat cu NTP bazat pe ESP8266 fara RTC.
Am facut citeva mici modificari la afisare (i-am pus puctele despartitoare, am modificat ora pentru fusul orar din Romania si afisarea orelor fara AM/PM) iesind ca mai jos:
 Desi luminozitatea aici este setata la 1, ( matrix.setBrightness(1);) este foarte vizibil ziua pe lumina, iar noaptea nu deranjeaza.

Si un mic filmulet cu functionarea, in linkCodul meu cu modificarile facute este tot pe github. Fisierul WiFi_Network.h (aici pune SSID-ul si parola de WIFI) trebuie copiat in acelasi folder cu Feather_Matrix_NTP_Clock.ino
consumul este nesemnificativ (0.01A , nu am reusit sa-l prind poza)
 La ESP8266, I2C-ul este pe GPIO5 si GPIO4 (D2, D1)
Update: Am facut update la cod folosind lib-ul lui tzapu cu ajutorul caruia se poate configurarea retelei wifi de pe telefon. Am mai modificat astfel incit sa nu mai fie necesar WiFi_Network.h .
.



duminică, 8 septembrie 2019

Statie meteo cu ESP8266 pe TFT

Am folosit informatiile de aici, pentru a testa functionarea unui TFT de 2" cu ILI9225 cu rezolutie 160x220 pe un modul cu ESP8266-12. Mai jos sint imaginile cu ESP-ul si TFT-ul. TFT-ul testat pe Atmega 328 este enervant de lent, insa aici legat cu ESP8266-12 mi s-a parut ceva mai rapid.


Pentru programare am folosit informatiile de aici, iar pinout-ul este mai jos:
Programarea se face ca in schema de mai jos:

iar ideea este urmatoarea: pentru a intra in modul programare se leaga GPIO0 la masa apoi se pune reset la masa, se revine  cu resetul apoi cu GPIO0, acum se poate face upload la cod, cind se termina de incarcat se apasa din nou reset dupa care ruleaza codul incarcat.
Display-ul este legat astfel, conform liniei de cod
UTFT myGLCD ( ILI9225B, 13, 14, 15, 2, 12 );//SDI (MOSI), SCK, CS, RESET, DC / GPIO13,14,15,2,12
Am evitat conectarea la GPIO0 (asa cum este pe blogul de inspiratie) deoarece la punerea sub tensiune intra automat in mod programare (cel putin asa se comporta modulul testat acum).
TFT-ul meu avind rezolutia mai mica (160x220 fata de 240x320) a trebuit sa redimensionez afisarea.
Informatiile meteo se iau de pe site-ul https://yandex.ru/pogoda/omsk/informer , iar pentru Iasi a rezultat 15090 conform cu ceea ce se vede mai jos:
Nr este util in linia de aici:

Link = "/bar/reginfo.xml?region=15090";

<a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/15090" target="_blank"><img src="https://info.weather.yandex.net/15090/1_white.ru.png?domain=ru" border="0" alt="Яндекс.Погода"/><img width="1" height="1" src="https://clck.yandex.ru/click/dtype=stred/pid=7/cid=1227/*https://img.yandex.ru/i/pix.gif" alt="" border="0"/></a>
Codul meu modificat pentru ILI9225, si lib-urile utilizate sint pe github.
A iesit ca mai jos:
 T_loc este temperatura furnizata de catre DS3231 (GPIO4=SDA, GPIO5=SCL), celelalte date sint culese de pe site-ul rusesc.
ESP-ul actual l-am folosit tot cu o placa adaptoare recuperata de la un alt test unde a decedat ESP-ul.
Am adoptat  lipirea firelor, datorita uzurii avansate a breadboard-urilor din dotare.
La ceea ce se vede mai sus consumul de resurse se poate vedea mai jos:


sâmbătă, 9 decembrie 2017

Priza WIFI cu ESP8266 pe pagina Cayenne

Pornind de la articolul lui Nicu, am refacut testul lui insa folosind un alt model de placa dar care are la baza tot ESP8266-12. Mai exact placa mea arata ca cea de mai jos:
Cu placa in aceasta forma este dificil de lucrat mai ales ca are pinii la 2mm distanta, asa ca am folosit o placa adaptoare care are si rezistentele pe ea:
Asamblata iese asa:

Pentru programare este necesara schema de mai jos si aici se poate vedea rolul rezistentelor de pe placa adaptoare;
Modulul l-am alimentat separat dintr-o sursa externa reglata la 3,3V, iar pentru programare am folosit un adaptor obisnuit USB-serial unde TX-ul l-am dus la RX-ul lui ESP si RX-ul USB-ului la TX-ul lui ESP fara nici un convertor de nivel. Detalii aici
Pentru a nu esua programarea, se tin apasate ambele butoane (reset si flash), se conecteaza alimentarea de 3,3V dupa care intii se elibereaza reset, apoi flash, apoi upload.
Placa folosita de Nicu are probabil alta schema, motiv pentru care a reusit s-o programeze cu led-ul conectat la GPIO0. De fapt se poate programa cu ledul conectat la GPIO0 insa la reconectarea alimentarii intra automat in mod programare.
Am pornit cu testul lui la care am schimbat pinul LED-ului, si a iesit ceva ca mai jos:
 aici este testul initial cind am pus TX si RX prin convertor de nivel.
Dupa citeva zile de teste am observat ca se comporta foarte bine de pe PC. De pe telefon (Android) aplicatia are o oarece intirziiere. Rezolvarea consta in inchiderea fortata si repornirea ei. De fapt valorile temperaturii si umiditatii pareau sa faca refresh imediat insa actionarea butonului era intirziiata.
Astfel am trecut la ceea ce voiam de fapt sa fac: comanda remote a unei prize de 220Vca.
Pentru asta am creat un proiect nou ce urma sa aiba doar un singur buton:
Pentru asta in partea stinga sus m-am dus la add new-device/widget
si aici am ales custom widgets
dupa care am ales button-ul
l-am configurat (vedeti in dreapta)
si in final am dat add widget
a rezultat butonul (aici apar 2 pentru ca aveam deja unul creat)
In caz ca nu s-au notat la crearea proiectului, informatiile necesare pentru cod, se pot afla de aici
Pentru moment m-a interesat actionarea remote doar a unei singure prize, insa modulul mai are pini disponibili. Pentru asta se poate adauga un buton nou pe un alt canal, iar in cod se adauga definitiile corespunzatoare acestuia.
Prototipul care este deja casetat intr-un jgheab OBO (prizele sint cele specifice fixarii pe jgheab) arata ca mai jos:
 Pentru a face 12V necesari releului initial am vrut sa pun un 7812, dar nu am reusit sa gasesc punga, si am utilizat un modul step-down 360. Transformatorul este 220/14 recuperat de pe undeva. 

 Pentru alimentarea cu 3,3V am folosit un Lm117-3,3 care functioneaza foarte rece: (spre final am repozitionat firele, dar nu mai am poza)


Amplificator ultra simplu cu MOS 40W/8Ohm la 2x30V

 Am început construcția unui amplificator cu tranzistori MOS după o schemă proiectată de Ionel Epure , care se împacă foarte bine cu boxele ...