duminică, 5 februarie 2023

Ceas NTP cu cifre din 7-segmente pe 4 afisaje OLED

   Combinand ce am testat in articolele Ceas NTP pe 4 afisaje OLED si Reproducere numere si caractere din 7 segmente pe afisaj OLED, a rezultat programul NTP_clock_TCA9584A_4OLEDs_2a.ino pentru un ceas cu caractere frumoase, dupa cum se vede in filmuletele:

ceas NTP cu caractere din 7-segmente pe 4 afisaje OLED

NTP clock with 7-segment numbers on 4 OLED displays

   Am modificat programul pentru a se reinoi informatia doar pe afisajul la care se schimba cifrele. Skerch-ul este NTP_clock_TCA9584A_4OLEDs_3.ino, dar prezentarea informatiei nu difera vizibil:

ceas NTP cu caractere din 7-segmente pe 4 afisaje OLED (2)

NTP clock with 7-segment numbers on 4 OLED displays (2)

    Schema de conectare a ramas aceeasi 

PS: Din pacate, calitatea produselor din China a scazut foarte mult, cel putin, cele de pe site-urile de vanzari... unul din afisaje se stinge dupa cateva ore de functionare.. am banuit o eroare de program, asa ca am facut o "rocada" cu altul si rezultatul a fost ca acelasi afisaj sa se stinga.. l-am inlocuit cu unul gasit prin "cutii" si e ok, dar ceasul o sa-l testez mai mult timp pentru a urmari fiabilitatea componentelor.
PS2: Din pacate a cedat si senzorul GY-21 (temperatura/umiditate pe i2c) la cateva ore de functionare ... si intre timp am constatat ca ultimele achizitii: senzorii LM 35 si LM335 sunt facaturi, doar TMP36 par ok.

17.02.2023
   Am reusit sa desenez si eu schema completa a montajului
30.1.2023
    Am mai facut 2 filmulete:

29.3.2023
    Cu ceva timp in urma am primit de la zvonacfirst 2 cablaje, asa ca am transferat proiectul pe aceastea (un cablaj contine doar cele 4 afisaje, iar celalalt placa Wemos D1, expandorul TCA9548A si comutatorul ora vara/iarna.
   Ideea a fost sa introduc montajul intr-un tub trasparent, asa ca am tot cautat solutii.
   Vedeti in urmatoarele filmulete montajul in functiune:

Reproducere numere si caractere din 7 segmente pe afisaj OLED

    Pentru a creea un efect de afisaj retro pentru ceasul cu 4 afisaje OLED 

am cautat niste fonturi ce imita numerele din 7 segmente si ce mi-a atras atentia a fost articolul Recreating a 7 segment display with Adafruit GFX & SSD1306 OLED in care se "desenau"  numere de la 0 la 999.

   Am studiat un pic programul (sketch-ul) prezentat in articol si mi-a creat si eu unele, constatand, ulterior, ca cifra 9 nu are "codita"
dupa care am corectat cifra 9 (nu era segmentul "D" activat)
    Pentru a-mi usura munca la ceasul cu 4 afisaje OLED, am mai creat si eu simbolul pentru grad, litera "o", litera "C" si semnul "-", deoarece simbolul de grad impreuna cu litera "o" vor simula %, iar impreuna cu C va forma oC.
   Programul care le contine pe toate este oled_7SEGMENT_2b.ino si toate numerelel si caracterele create se pot vedea in filmuletele:

sâmbătă, 4 februarie 2023

Termometru/higrometru cu senzor GY-21 pe afisaj OLED

     Am intrat in posesia unui senzor de temperatura si umiditate relativa a aerului numit GY-21, ce foloseste senzorul HTU21/SHT21 pentru temperatura si Si7021 pentru umiditatea reativa din aer.

   In mare, caracteristicile senzorului combinat GY-21, sunt:

- indicare umiditate relativa aer de la 0 la 100%

- precizia de masura a umiditatii relative este de ±2%, de la  5 la 95%

- indica depasirea domeniului normal de masura de -40..+125°C

- precizia de masura a temperaturii este foarte buna de ±0.6°C in domeniul de la -30°C pana la +90°C

- timp de reactie foarte bun, sub 50ms

- interfata i2c (adresa 0x40)

- compatibil cu logica de 3,3V si 5V

   Schema tipica de conectare este ca cea din articolul SHT21/HTU 21 Measure Temperature and Himidity

si prima data am verificat adresa sensorului, cu progrmul i2c_scanner
gasind-o ca fiind 0x40, deoarece afisajul are 0x3C.
    Initial, am testat programul din articolul Interface HTU21D Temperature & Humidity Sensor with ESP32 doar ca eu am folosit placa Arduino Nano (HTU21DF_OLED_0.ino)
realizand si 2 filmulete:
   Ulterior, am testat programul din articolul SHT 21/HTU 21 – Measure Temperature and Himidity with Arduino + OLED/LCD [DigitSpace.com] modificandu-l putin sa am caractere mai mari ()
 si am facut alte 2 filmultee:
    Tot cautand informatii, am gasit o imagine frumoasa, doar ca e pentru senzor DHT11, in articolul Temperature and Humidity Sensor DHT11 with arduino Tutorial – Make OLED Termometer, asa ca am modificat programul (sketch-ul), care devine GY21_OLED_1.ino

duminică, 29 ianuarie 2023

Ceas NTP pe afisaj led 16x8 cu TM1640 (2)

    In completarea articolului anterior, am modificat cifrele de la minute s pot afisa ora in format de 24 ore, cu aceasta ocazie, am modifiat si cifra 1 de la ore:

- cifre pentru ore

- cifrele 1 si 2 de la minute

- cifrele 3 si 4 de la minute

- cifrele 5 si 6 de la minute

- cifrele7 si 8 de la minute

- cifrele 9 si 0 de la minute si punctul pentru secunde

   Schema este, la fel ca cea din articolul precedent,
doar programul este modificat, devenind TM1640_clock_v2.ino si modul de afisare este de genul:
- ora 19:34
- ora 20:11
 dar cel mai bine se vede in filmuletele:
   Ulterior, am modificat programul sa fie afisata ora 9:59 in loc de 09:59, acest fiind TM1640_clock_v2a.ino.



Ceas NTP pe afisaj led 16x8 cu TM1640

 

    Din intamplare, am vazut pe net un afisaj led interesant, cu o rezolutie destul de mica (16x8), cod KS0357, dar si mic ca dimensiune






   Din descrierea initiala, parea ca driverul AIP1640 este unul cu interfata i2c, asa ca am conectat corespunzator schemei
 dar la o cautare cu programul i2c_scanner nu am gasit nimic, asa ca am mai sapat pe net si am constatat ca AIP1640 este compatibil cu TM1640, care e un driver cu intrare seriala (date si ceas, adica SDA/SCL)
   Din fericire, am gasit foarte repede, o biblioteca pentru driver-e tip TP16xx, asa ca am facut 2 filmulete, in care am folosit informatiile gasite in sketch-ul din articolul producatorului si unul din librarie:
   Pentru a putea afisa acel pseudoceas, m-am inspirat de informatiile pe care pe scrisesem in articolele Pseudoceas pe 2 matrici de 8x8 leduri (16x8)
si Ceas RTC pe 2 afisaje de 8x8 leduri (16x8)
unde apelasem la calculatorul on-line de o matrice 8x8 la un sir heazecimal sau binar din articolul Online led matrix font generator with binary and hex codes for Arduino
   Din experianta enterioara, stiam ca pot realiza doar un ceas in format de 12 ore, asa ca am creat numere si caractere, pozitionandu-le ca in articolul Ks0357 Keyestudio 8x16 LED Matrix Panel
 
- cifrele 1, 2 si 2 puncte
- cifrele 3 si 4
- cifrele 5 si 6
- cifrele 7 si 8
- cifrele 9 si 0
- semnele - si plus
   Am adaptat programul de l-am gasit in articolul producatorului sa am un ceas NTP, inspirandu-ma din articolul Ceas NTP pe afisaj cu TM1637, rezultand programul (sketch-ul) TM1640_clock_v0.ino.
   Am facut 2 filmulete:
apoi am adaugat si selectarea orei de vara (DST) sau a orei de iarna prin conectarea pinului D5 la +3.3V sau masa (GND), schema devenind
iar programul rezultat fiind TM1640_clock_v1.ino
- ora vara:
- ora iarna:
dar cel mai bine se vede functionare in cele 2 filmuletele:
Ulterior am modificat cifra 5
programul devenind TM1640_clock_v1a.ino.