sâmbătă, 8 octombrie 2022

Ceas NTP pe afisaj cu TM1637 (format de 12 ore)

    In articolul anterior, formatul ceasului este, cel obisnuit, de 24 ore, doar ca in unele zone asiatice formatul preferat este cel de 12 ore (AM/PM), asa ca am modificat programul pentru format de 24 ore intr-un program pentru format de 12 ore

   Schema de test este aceeasi:

   Diferentele dintre timpul din formatul de 24 si cel de 12 ore sunt prezentate in articolul en.wikipedia.org/wiki/12-hour_clock

iar pe ecran:
- ora 12:30 AM (00:30 in format de 24 ore)
- ora 12:32 PM (12:32 in format de 24 ore)
- ora 1:18 PM (13:18 in format de 24 ore)
 Transformarile sunt:
- orele 00:00 la 0:59 din formatul de 24 ore sunt orele 12:00 la 12:59 AM in formatul de 12 ore
- orele de la 1:00 la 11:59 din formatul de 24 ore sunt orele 1:00 la 11:59 AM, in formatul de 12 ore
- orele 12:00 la 12:59 din formatul de 24 ore sunt orele 12:00 la 12:59 PM, in formatul de 12 ore
- orele 13:00 la 23:59 din formatul de 24 ore sunt orele 1:00 la 11:59 PM, in formatul de 12 ore.
asa ca, in program vom avea:
   Am facut si 2 filmulete scurte, in care se vede ca PM este indicat de ledul din dreapta al afisajului:

Ceas NTP pe afisaj cu TM1637

    Am achizitionat 3 afisaje led cu 3 culori diferite ce au ca driver integratul TM1637. Am mai realizat, in trecut, proiecte cu acest tip de afisaj (https://nicuflorica.blogspot.com/search?q=TM1637), doar ca atunci am folosit placa Arduino clasica cu microcontroleer ATmega328.

   Ceasul anterior cu afisaj led cu TM1637 folosea  un modul RTC cu DS1307 sau DS3231, varianta mai complexa avea si encoder pentru reglaj


   De data aceasta, am controlat afisajul cu o placa WeMos D1 Mini ce are un microcontroler ESP8266, dupa cum am gasit in articolul TM1637 7 segment display example

   Se foloseste o schema foarte simpla:

   Am gasit pe net un filmulet cu un ceas realizat cu acest afisaj si o placa Wemos D1 Mini (cu microcontroler ESP8266), doar ca la orele 0, se afisau doar minutele

asa ca am modificat un pic programul ce era in descriere filmuletului si cum indicatia e normala.
   Programul modificat de mine este IoTClockCode1.ino
   Am realizat, cu aceasta ocazie, si 2 filmulete:

miercuri, 21 septembrie 2022

Sistem automat pentru control deplasare fata-spate a unei locomotive analogice (5)

    Fata de ce am prezentat in articolul precedent, acum o sa prezint montajul pe cablaj clasic:

comparativ cu cel realizat pe breadboard
schema fiind aceeasi:
   Dupa asamblarea componentelor si conectorilor, am facut teste cu un motoras in loc de locomotiva:
dupa cum se vede si din filmuletele:
apoi am conectat linia flexibila de 90cm si pus, la cele 2 capete, sensorii incat la trecerea locomotivei sa fie activati, lasand si un spatiu de rezerva pentru oprirea lenta:
dupa cum se vede si din filmuleltele:
PS: Programul folosit este acelasi (controlled_model_train_3a.ino).

duminică, 18 septembrie 2022

Lumini inteligente pentru hol lung sau balustrada de scara

    Dupa o discutie cu Tom, vechiul meu colaborator si prieten, despre un sistem de iluminare a unei benzi de leduri adresabile pe balustrada unei scari (sau pe perete), pornind de la ce prezentasem in articolele:

Benzi de leduri multicolore cu control independent pentru fiecare led

Scari luminate inteligent


Scari luminate inteligent (2)



am realizat o schema de test cu 3 butoane fara retinere, dintre care 2 simuleaza senzorii (PIR, IR, doppler/radar,laser, etc):
   In schema de test, butoanele au rezistenetele de "pull-up" ce tin intrarile la 5V (nivel logic HIGH),
dar ele pot fi activate si din program:
- actual (3 rezistente reale conectate la 5V la cei trei pini de intrare, ca in schema)
- cu rezistentele interne de "pull-up" ale microcontrolerului activate 
   Dupa ce am respectat modul de comportare al miscarilor luminilor cum discutasem cu Tom, am adaugat si schimbarea culorilor si memorarea acestora(butonul fara retinere 3), programul din testele actuale este hol_1_3.ino si are activate doar primele 8 leduri din banda adresabila si timpul dintre tranzitiile de aprindere/stingere este de 200ms
apoi am modificat pentru a aprinde toate ledurile de pe toata lungime benzii de leduri (60 leduri pe lungimea de 1m), iar tipul de tranzitii a fost schimbat la 15ms:
pentru a fi animatia cat mai aproape de real.
    Primele filmule, cu 8 leduri sunt:
iar cele cu 60 leduri sunt:
  Mare grija trebuie avuta la sursa de alimentare deoarece, acest metru de banda adresabila, consuma, pentru 5V, la culoarea alba:
- nivel maxim: 255 din 255, circa 2,4A
- nivel scazut: 10 din 255, circa 54mA (0,052A)
- nivel foarte scazut: 1 din 255, circa 30mA (0,030mA)
   Dupa cum spuneam, culoarea se poate schimba:
- 1, adica rosu (rosu = 1, verde = 0, albastru = 0)
- 2 , adica verde (rosu = 0, verde = 10, albastru = 0)
- 3, adica galben (rosu = 1, verde = 1, albastru = 0)
- 4, adica albastru (rosu = 0, verde = 0, albastru = 1)
- 5, adica mov (rosu = 1, verde = 0, albastru = 1)
- 6, adica bleo (rosu = 0, verde = 1, albastru = 1)
- 7, adica alb (rosu = 1, verde = 1, albastru = 1)
   Pentru moment, din cauza unui timp liber prea scurt, voi intrerupe testele, dar daca prezinta interes, pot dezvolta proiectul.

18.10.2022
Am mai facut alte 2 filmulete:
si am facut o continuare, pentru reglaj din encoder si afisaj: