Se afișează postările cu eticheta HT16K33. Afișați toate postările
Se afișează postările cu eticheta HT16K33. Afișați toate postările

vineri, 27 septembrie 2019

Radio with TEA5767 on ATTINY85 with 7 segments HT16K33

Pentru un viitor proiect  am testat un radio foarte simplu cu TEA5767 ce m-a inspirat de aici: http://forklg.ru/viewtopic.php?f=98&t=1173
Testat pe arduino uno nu am reușit (pe display-urile ce le aveam disponibile) să-l fac să aprindă virgula decât în situația când frecvența afițată era mai mare de 100. Având o rezervă de module cu HT16K33 (drive LED cu interfață I2C) am înlocuit afișorul  cu TM1637, cu acesta pe I2C. Astfel a început să funcționeze normal. În plus i-am pus limite la frecvența minimă și maximă.  Unul din butoane incrementeză frecvența pozitiv, celălalt negativ.

if(f_ini<87.5) f_ini=87.5;
if(f_ini>108) f_ini=108;

Văzând gradul mic de ocupare a codului  și numărul mic de legături, am portat codul pentru ATTINY85.
Mai jos este poza cu modulul folosit.

Acesta din urmă are logica intrărilor pe invers, asa ca am legat rezistentele la plus pentru a nu mai face modificari in cod .
Am pus pe onedrive și un filmuleț scurt: https://1drv.ms/v/s!Ag3156arz2JqlTUW6c5FQ5a7g244?e=4wTOje

Încă mai există loc pentru a implementa și memorarea ultimului post, însă deocamdată nu mă interesează.

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ă, 4 martie 2018

Modul cu HT16K33

Pentru un viitor proiect cu ATTNY85 am testat doua module cu circuitul HT16K33 adaptor I2C catre 4x7 segmente cu catod comun. Cele  doua module arata ca mai jos:
Precum se vede nu exista prea multe informatii scrise pe el. Ca sa-l pot folosi am abuzat din nou de google si am descoperit ca sint clone ale acestuia de mai jos:


Insa nici aici nu am gasit o schema concreta de conexiuni. Am folosit datasheet-ul circuitului si am identificat cei 4 pini care ma interesau +5V, GND, SCL, SDA.
Implicit modulele au circuitele A0,1,2 deschise pentru  0X70 adresa I2C.


 Inchizind circuitul A0 adresa devine 0x71


Am incarcat pe arduino nano un scaner I2C pentru a verifica daca este corect:


In urma studierii materialului de aici, concluzia  este ca pinii 7 si 8 sint folositi pentru cele 2 puncte ce clipesc la secunda, (nefolositori in ceea ma intereseaza) in rest ceilalti corespund cu afisajul de mai jos:


Se observa ca display-ul are doar 6 pini pe linie, care corespund  modulului de mai sus  montat de la stinga spre dreapta, lasind in aer gaurile 7 si 8.

Testele le-am facut cu display-ul de mai sus care este ceva mai mic, dar cu pinii suficient de lungi ca sa-i pot modela, avind doar 0,36" fata de 0,56" .
Am modificat exemplul de aici pentru a afisa pe 2 display-uri, unul incrementeaza cu o unitate, al doilea aduna 1000 la unitatea incrementata.


 Am urcat pe google drive si un filmulet scurt.



duminică, 27 august 2017

Ceas cu ATTINY85 Digispark, RTC, afisare pe I2C 7 segmente HT16K33

Sosise de ceva vreme un display  de 1,2" (3cm) cu interfata I2C,  controlat de HT16K33 si i-am utilizarea pentru carea fost construit impreuna cu un DS3231 si un modul ATTINY85 Digispark..
Trebuia sa iasa doar un ceas foarte vizibil, si sa aiba posibilitatea de ajustare a orelor si minutelor.

Schema de conectare este aici  Pentru reglaj am folosit tot 2 butoane de data asta legate fiecare pe cite un pin.
Dupa un pic de documentare si adaptari am reusit sa-l aprind.
Codul folosit impreuna cu bibliotecile utilizate aici
Prototipul l-am facut tot pe o placa te test cu sirme la care i-am atasat si o sursa:
Ulterior s-a facut o caseta din doua placi fata-spate una transparenta si una opaca, cu gauri pentru butoanele de reglaj.


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