duminică, 5 ianuarie 2020

Ceas cu reglaj pe afisaj P10 de 32x16 leduri

 
   Am adaugat ceasului prezentat anterior (1 si 2) reglaj pentru ora si data. Reglajul se face din 2 butoane: MENIU/URMATORUL si CRESTE/PLUS.
    Schema difera de cea anterioara prin adaugarea celor 2 butoane la pinii D2 si D3, catre masa.
   Programul ce face toate "minunatiile" astea este DMD-P10-clock3.ino.
   La apasarea scurta a butonului MENIU se intra la reglajul orelor, iar prin apasarea repetata sau tinerea apasata a butonului PLUS se mareste valoarea pana la 23, in cazul orelor, dupa care revine la 0.
  La urmatoarea apasare a butonului MENIU se pot modifica minutele din butonul PLUS (maxim 59)
   Se trece la reglarea anilor prin apasarea scurta a butonului MENIU si se modifica din butonul PLUS (maxim 2039)
   La apasarea butonului MENIU se trece la reglajul lunii, schimaband valoarea prin apasarea repetata sau tinerea apasata a butonului PLUS (maxim 12)
   Ultimul reglaj este cel al zilelor, intrandu-se prin apasarea butonulu MENIU si se schimba valoarea din butonul PLUS (valoarea maxima difera de la luna la luna, sistemul de alegere este preluat de la Andy Doz).
    Am facut si 2 filme, pentru a se intelege mai usor cum apar informatiile si cum se schimba ora si data:
ceas cu reglaj pe afisaj P10 32x16 leduri
manual adjust clock on P10 32x16 led display
   Mentionez ca am incerc si fontul mai mare, din exemplul librariei, dar cifrele sunt lipite si ora e greu de citit.
   Singura problema ce nu am reusit s-o rezolv din soft este aceea a reglajului intensitatii, Rezolvarea momentana este acea a alimentarii cu tensiune reglabila, 5V pentru maxim si 3,1-3,2V pentru minim.

07.01.2020
    Am reluat testele cu un caracterul mai mare,
programul devine DMD-P10-clock3a.ino si in filmuletele urmatoare se vede cum se prezinta informatiile:
ceas cu reglaj pe afisaj P10 32x16 leduri (2)
manual adjust clock on P10 32x16 led display (2)

08.01.2020
    Am pus secundele mai mici, programul devenind DMD-P10-clock3a2.ino



sâmbătă, 4 ianuarie 2020

Ceas si data pe afisaj P10 cu 32x16 leduri

   Am modificat putin ceasul prezentat anterior si am adaugat si data, ce e afisata timp de 5 secunde.
   Schema de conectare ramane nemodificata, doar programul are imbunatatiri, acesta fiind acum  DMD-P10-clock2.ino.
   Am facut 2 filmulete, pentru a se intelege mai usor modul de afisare:
ceas pe afisaj P10 32x16 leduri (4)
clock on big display (P10) - part 3
   Urmeaza s aimplementez si reglajul manual al ceasului, din 2 butoane fara retinere.

Ceas pe afisaj P10 cu 32x16 leduri

   In mica pauza de sarba(u)tori, am reusit sa ma relaxez cu Arduino. Afisajul cu interfata P10 si realizat din 32x16 leduri l-am mai folosit cand am realizat cantarul pentru 200kg.
   Initial, am vrut sa fac un ceas cu ESP8266 cu obtinere ora de pe un server NTP, dar nu am fost multumit de rezultat, asa ca am renuntat la acel proiect.
   Am gasit pe net articolul Project I - 19 Digital Clock using LED Matrix P10 Module (Arduino Based) si de acolo am folosit doar schema de conectare, care este cea pentru libraria DMD, completata cu partea de conectare pe i2c a modului de ceas RTC cu DS1307 (DS3231).
   In prima faza, am realizat ceasul se regleaza doar de la calculator, dacae conectat la PC prin cablu USB si ceasul nu functioneaza preia data de la calculaor automat, dar daca ora este diferita, este necesar sa se activeze ultima linie din setup prin indepartarea // din fata:
incarcarea programuluui, apoi repunerea semnelor // pentru a "comenta" linia, adica e doar un comentariu, nu e o linie activa:
si se reincarca programul.
    In afara librariei DMD pentru controlul afisajului, care se descarca de la https://github.com/freetronics/DMD si TimeOne, ce se descarca de la https://code.google.com/archive/p/arduino-timerone/downloads, am mai folosit libraria RTClib, a carei versiune o gasiti salvata in https://github.com/tehniq3/used_library sau se preia versiunea actualizata de la https://github.com/adafruit/RTClib.
    Am folosit, pentru inceput, doar afisarea orei si am pus punctele de secunda sa fie animate (sa "bata" secunda), sketch-ul este DMD-P10-clock.ino
    Mentionez ca afisajul trebuie alimentat separat dintr-o sursa capabila de 5A si minim 2A, eu folosind surse reglabile, una liniara cu control digital si apoi una in comutatie deoarece puterea disipata pe cea liniara pornea des ventilatoarele de racire si ma deranja. Cu aceasta ocazie am constatat ca pot regla intensitatea luminoasa prin alimentarea la o tensiune de cca 3,1V (si Arduino este alimentat impreuna cu afisajul, pentru a fi ceva independent).
   Cateva poze:

   Am facut mai multe filmulele, pentru a observa mai bine cum apare ora si nivelul luminos:




   Deoarece am primit multe comentarii dupa postarea filmuletelor pentru a afisa si data si sa existe si posibilitate de reglaj din butoane sau tastatura, o sa continui, in limitata timpului disponibil, acest proiect.