vineri, 10 octombrie 2025

Ceas RTC cu caractere mari si termometru pe afisaj LCD2004

     Dupa ce am testat suficient ceasul RTC cu caractere mari si date meteo pe afisaj LCD2004 am inlocuit cei 2 senzori DHT22 cu un senzor DS18B20 doarece este mai precis (si pot adapta usor montajul si programul sa fac un termostat).

    

Schema (pe care o s-o adaug mai tarziu) are conexiunile intre placa Arduino si componente astfel:

- cu afisajul prin interfata i2c: SDA la A4 si SCL la A5 (detalii despre asta in articolele Wire si Interface an I2C LCD with Arduino)

- encoder KY-040 cu CLK la D2, DT la D3, SW la D4 (detalii in articolul wokwi-ky-040 Rotary Encoder Reference).

- senzorul DS18B20 este conectat la pinul D6 (detalii in articolul Guide for DS18B20 Temperature Sensor with Arduino)

 Schema se poate creea si dupa declararilor pinilor din programul big_font_clock_thermometer_v3b.ino.

   Am facut 2 filmulete:

ceas RTC cu caractere mari si termometru (1)

RTC clock with big characters and thermometer (1)

   Am schimbat programul ca la o apasare scurta a butonului de la encoder sa am afisarea temperaturii cu caractere mari, dupa ce initial era ora cu caractere mari. La o noua apasare se schimba modul de afisare cu caractere mari: ceas, termometru, ceas, etc.
   La apasarea lunga a butonului de pe encoder (mai mult de 3 secunde), se pot regla:
- anul
- luna
- zi
- ora
- minutele
- secundele (pana acum erau implicit 0)
Acest program este big_font_clock_thermometer_v4.ino si am testat sa vad cum arata temperaturile negative si pozitive:
- sub -10∘C
- negative dar intre -10..0∘C
- pozitive intre 0..+10∘C
- pozitive, dar peste +10∘C
   Pentru a fi mai clar cum sunt prezentate informatiile, am facut niste filmulete



marți, 7 octombrie 2025

Ceas RTC cu caractere mari si date meteo pe afisaj LCD2004

    In urma unei cautari pentru un ceas cu date meteo si eventual termostat, am dat de cel prezentat in articolul  Big Characters Weather Clock (int/ext temp, hum, press) scris de un conational, Viorel Racoviteanu. Articolul este postat si pe blogul propriu in articolul cu acelasi nume.


   Schema nu este complicata
doar ca are 2 senzori BME280, care au fost de negasit, prin cutii, la momentul testului, ca si un encoder, dar aveam niste senzori DHT22 (AM23202), asa ca am modificat programul, care a  devenit big_font_weather_clock_v1a.ino si are, de asemenea, conexiunea dintre Arduino si afisajul LCD2004 cu o interfata i2c.


   Schema (pe care o s-o adaug mai tarziu) are conexiunile intre placa Arduino si componente astfel:
- cu afisajul prin interfata i2c: SDA la A4 si SCL la A5 (detalii despre asta in articolele Wire si Interface an I2C LCD with Arduino)
- primul senzor DHT22 la D5 (detalii la Arduino - DHT22)
- al doiea senzor DHT22 la D6
- encoder KY-040 cu CLK la D2, DT la D3, SW la D4 (detalii in articolul wokwi-ky-040 Rotary Encoder Reference).
  Am facut si 2 filmulete, fara a avea encoderul montat:
    Ulterior, am montat encoderul, dar nu mi-a placut modul de reglare, care depinde foarte mult cum apasam butonul fara retinere, asa ca am inlocuit modul de reglaj cu unul de il mai folosisem si e preluat din articolul Arduino Astronomical Clock (or Arduino Pond Pump Controller!) scris de A.G.Doswell (Doz' Blog), asa ca programul devine big_font_weather_clock_v2.ino.
    Am facut si de data asta 2 filmulete:

PS: In timpul testelor am constatat ca unul din senzorii DHT22 (AM2302) indica eronat umiditatea, desi testele au fost facute doar in casa, la temperatura si umiditate in limite uzuale (normale), deci inaintea montarii definitive trebuie facute teste de mai lunga durata, pentru a fi siguri ca senzorul va functiona si in conditi extreme (frig/cald, umiditate ridicata, etc)

luni, 23 iunie 2025

Ceas RTC cu actualizare ora de pe server NTP (Arduino Uno R4 WiFi) - 2

    Am revenit la programul initial de ceas RTC (cel din articolul Digital Clock with Arduino Uno Rev4 WiFi's RTC an LED Matrix deoarece foloseste doar un fisier ino, adica modul clasic de scriere al unui program/sketch).

   In programul AUR4_RTC_NTC_clock3.ino am adaugat partea de actualizare a orei de e serverul NTP ca in materialul de la github.com/eremef/aur4_clock si am obtinut urmatorul ceas:

ceas RTC cu actualizare de pe server NTP (v3)

RTC clock with NTP updates (v3)

   Dupa care am zis sa intorc informatia pe ecran sa fie mai usor de pus in picioare placa Arduino sau agatat in cablu, asa ca am modificat programul care este AUR4_RTC_NTC_clock3d.ino

  Am facut mai multe filmulete:
RTC clock with NTP updates [ver.3d]  (versiune portret)
   Dupa cum am scris si in articolul anterior, daca ramane actualizarea la pornire si apoi la fiecare 12 ore, pot aparea abateri deranjante (de ordinul minutelor), asa ca modificati actualizarea la fiecare ora:

in

duminică, 22 iunie 2025

Ceas RTC cu actualizare ora de pe server NTP (Arduino Uno R4 WiFi)

     Dupa ce am achizitionat o placa Arduino Uno R4 Minima, si am modificat si testat un program simplu care face si aprindere intermitenta si aprindere/stingere lenta a ledului de la pinul D13 (Fade with flash on Uno R4)

am realizat ca nu difera de placile Arduino cu care am mai lucrat, asa ca am achizitionat si o placa Arduino Uno R4 WiFi, si pentru ca are acea matrice de 12x8 leduri, cu care pot sa fac un "ceas".

   Placa vine programata cu cu un programior demonstrativ atractiv Arduino Uno R4 Wifi Demo

   Am gasit, la o cautare rapida, un ceas RTC (parte de RTC este inclusa in noul microcontroler Renesas, lipsind insa bateria, dar se poate conecta la pinii placii). Articolul se numeste Digital Clock with Arduino Uno Rev4 WiFi's RTC an LED Matrix
  Am incarcat si eu programul disponibil in articol si am facut si eu niste filmulete:
    Acest program este unul "demo" deoarece preia ora de la incarcarea programului, asa ca am trecut la un ceas RTC cu actualizare ora de pe server NTP, care se gaseste pe github.com/eremef/aur4_clock
doar ca este "static", asa ca am adaugat secunde animate si am rotunjit cifrele, programul modificat de mine este AUR4_RTC_NTP_clock2 si include 2 fisiere
dupa cum se vede in filmuletele:
si in cele 2 poze:
   Dupa cateva ore de teste, am constatat ca ceasul meu e "inainte" cu vreo 4-5 minute fata de ora normala, asa ca actualizarea la 12 ore data de linia

trebuia sa fie modificata la fiecare ora, astfel: 


sâmbătă, 14 iunie 2025

Ceas pe afisaj VFD (Futaba NA202SD08FA)

 

   Am intrat in posesia unui afisaj VFD Futaba NA202SD08FA cu 20x2 caractere alfanumerice si control paralel. 


asa ca a trebuit sa caut informatii sa vad cum il pot controla. Am avut noroc si am dat peste articolul Futaba NA202SD08FA driven by Arduino care are si informatii la github.com/torretje/futabavfd si un link la datasheet.
   Schema de test este simpla, dar necesita mai multe fire:
  Am testat programul din articol si am adaptat pentru mine programul de test Futaba_NA202S_test2b.ino
si am facut 2 filmulete:

test functionare afisaj VFD Futaba 2002

test the Futaba VFD 2002 display

   Asa ca ulterior, am zis sa reproduc ceasul RTC cu afisajul VFD serial DPD-201 asa ca am modificat schema astfel:

conectat senzorul DHT22 (AM2302) la pinul D12 si cele 3 butoane fara retinere la A0, A1 si A2, ca sa nu modific schema de conectare a afisajuui VFD.


    Programul adaptat este NA20208D_clock_DHT22_v1a.ino si modul de functionare se vede in filmuletele urmatoare:
RTC clock on VFD Futaba (short video)


Alt emulator calculator ZX Spectrum 48k cu STM32F411(401)

    Un alt proiect al lui Andrey Pastukhov este prezentat in filmuletul Эмулятор ZX Spectrum 48K c выходом VGA и клавиатурой PS/2 на STM32F401(411)

   Am gasit si de data asta proiectul unui cablaj (nu apartine autorului): ZX Spectrum clone based at STM32F401 (with VGA output and PS/2 keyboard input) dar de data asta nu mai sunt greseli de desenare, asa ca montajul arata destul de bine:
    Eu am fost multumit de firmware-ul v.0.92 gasit in descriere videoului scris cu STM32CubeProgrammer software for all STM32 Get Software 
   Incarcarea programele de pe cardul SD se face fara probleme, tot la viteza orginala,
dar se pot salva si programe proprii:
  Schema gasita in descrierea videoului este foarte sugestiva si prietenos desenata:
comparativ cu cea din proiectul cablajului
   Am facut 2 filmulete, care va pot convinge sa refaceti si voi acest proiect:

marți, 15 aprilie 2025

Emulator calculator ZX Spectrum 48k cu STM32F411(401)

    Am gasit un proiect interesant cu o placa de dezvoltare cu STM32F411 (sau STM32F401) si anume un emulator de calculator ZX Spectrum 48k. Proiectul original este prezentat in filmuletul Эмулятор ZX Spectrum c выходом VGA на STM32F401(411) si apartine lui Andrey Pastukhov.

   M-am apucat de proiect dupa ce am gasit cablajul pentru acesta ce include si butoane miniatura: ZX Spectrum clone based at STM32F401/BlackPill
  Din pacate dupa ce am asamblat un minim de componente pe placa (cele SMD au fost lipite de colegul meu Virgil)
si am scris fisierul (se gaseste in descrierea videoului) in microcontroler cu programul dedicat STM32CubeProgrammer
 am constatat o eroare de initializare card
   Dupa ce am comparat cu schema care am gasit-o in descrierea filmuletului
am descoperit ca problema era din conectarea pinului 1 in loc de 3 de la cardul SD la pinul C13
si pentru a corecta, am taiat un traseu si am lipit un firicel (port-cardul din dreapta nu l-am montat, fiind dublarea celui din stanga).
   Dupa discutii pe email cu Andrey Pastukhov, autorul proiectului si filmuletului de pe youtube, am dat de cap la partea de incarcare si salvare programe pe cardul SD, fiind necesar sa fie unul de maxim 8Gb si formatat FAT32 cu sectoare de 4096b (4kb). Altfel se salveaza doar programele proprii undeva in memoria interna a microcontrolerului STM32F411(401).
   Dupa aceasta am copiat niste jocuri in format TAP de pe site-ul https://zxart.ee pot vedea jocurile, inclusiv programiorul salvat de mine QWW
  Pentru incarcare programe (jocuri, utilitae, etc) se da comanda clasica LOAD "" si salvare cu SAVE "nume" ulterior mai trebuie scris un nume ce va apare ulterior pe meniul de incarcare si apoi se apasa simultan ENTER si SYMBOL SHIFT.
   Mai multe detalii se vad in filmuletele:
emulator calculator ZX Spectrum cu STM32F411(401)
   Au mai ramas mici probleme de afisare, la inceput si ulterior scrisul este verde, uneori cu verde combinat cu negru
si la meniu de incarcare/salvare sunt niste culori ciudate, dar Andrey mi-a sugerat sa verific partea incercuita si pe R8 sa-l inlocuiesc cu un semireglabil de 1kΩ.
    
   17.04.2025
   Nu a fost de acolo, ci o omisiune a unui traseu pe schema de la PCBway, traseul fiind chiar cel pentru culoarea verde, de la pinul A2 al placii cu STM32F4xx la pinul 6 (IN2) al integratului 74VHC244.
   A fost conectat un firicel, pentru traseul lipsa
   Un program modificat de Andrey special pentru a avea informatii scrise cu alb la initializare card (ca cel original afisa cu verde) se vedea anterior tot mov, iar dupa corectie alb:
apoi cum aparea textul de la la Sinclair si cum e acum
Meniul de incarcare programe, inainte si acum:
si jocul TOP GUN
    Deci schema si cablajul de pe PCBWay are 2 erori, una la SD card si cealalta la partea de video (verde), am atentionat deja autorul materialului pentru a-l corecta.
  Am masurat consumul total al emulatorului de ZX Spe48k si este foarte mic, la initializare si redare fisiere de pe card SD cam 67mA, apoi sub 50mA.

18.04.2025
   Am mai facut 2 filmulete, ca functioneaza corect acum

14.06.2025
   Am pus pe https://github.com/tehniq3/ZXSpectrum_STM32F4xx/ fisierele utile pentru aceasta versiune cu tastura locala in https:/ZXSpectrum_STM32F4xx/tree/main/keyboard !!