joi, 23 aprilie 2020

ESP32 LEDMATRIX WEBSERVER


Salutare prieteni.

      Iata ca a sosit timpul pentru o nou articol. Pentru ca am vazut ca exista mult interes pentru afisajele matriceale cu leduri (da, este vorba de MAX7219)  va propun de aceasta data un driver pentru opt astfel de matrici cu cel putin interesantul ESP32. Cum incerc de ceva vreme sa invat Python m-am hotarat sa folosesc pentru programarea microcontroller-ului Micropython si va rog sa ma credeti ca nu am fost catusi de putin dezamagit.

Nu voi insista foarte mult despre cum se poate scrie cod in Python pentru ESP32 deoarece toate informatiile necesare le gasiti pe site-ul oficial, adica aici.

Cum nu am avut o placa de test integrata (cu programator, stabilizator de tensiune etc.) m-am hotarat sa construiesc una special pentru acest proiect. Am folosit un modul ESP32 WROVER cu 16MB ROM si 8MB RAM (da, 8 mega !!!) pentru care am reusit sa fac un cablaj dublu placat. Ce a a iesit se vede in poza de mai jos:






Cum am vrut sa testez capabilitatile controller-ului, mai ales wi-fi-ul, m-am hotarat sa fac un server sub Node Red care sa trimita comenzi ESP-ului, cu alte cuvinte sa controleze afisajul:





Asadar display-ul poate face urmatoarele chestii:

  • afiseaza ora, inclusiv secunde;
  • afiseaza data curenta;
  • deruleaza de la stanga la dreapta ora si data;
  • afiseaza temperatura (senzorul este DS18B20)
  • afiseaza in acelasi timp ceasul (fara secunde) si temperatura;
  • afiseaza un text preluat de la utilizator;
  • deruleaza de la stanga la dreapta un text preluat de la utilizator.
In grupul "SETTINGS" se pot ajusta urmatorii parametrii:
  • timpul de afisare al textului;
  • viteza de derulare a textului;
  • intensitate luminoasa a matricelor.
Cum voiam sa stiu si cata memorie "mananca" programul am decis sa afisez si memoria libera si ce ocupata (desi este oarecum irelevat deoarece se utilizeaza "Garbage collector-ul"). 

Severul Node Red ruleaza pe calculator insa se poate porta foarte usor si pe telefonul mobil cu ajutorul aplicatiei "Termux". Practic orice telefon mobil sau tableta poate deveni un server Node-Red.


Cum am vrut sa dau un caracter permanent proiectului am decis sa "printez" o carcasa:







Pentru cei care doresc mai multe detalii nu va sfiiti sa lasati un comentariu !

Cam atat pentru azi. Sa auzim de bine si aveti grija de voi. COVID pandeste :)  













Niciun comentariu:

Trimiteți un comentariu