Ceasuri pe matrice. Ceasuri de casă pe matrice LED

Pe Internet, nu lipsesc diferite tipuri de ceasuri electronice. Ceasul arată solid pe indicatorii matrici, de exemplu, schema binecunoscută de la o pisică radio, dar am vrut să fie cu indicarea nu numai a orelor și minutelor, ci și a secundelor. Am decis să creez un astfel de ceas, adăugând și alte funcții.

Ceasul electronic prezentat aici, în plus, vă permite să măsurați temperatura din cameră. Există patru alarme independente, precum și un indicator de evenimente din calendar care semnalează debutul unor evenimente precum o aniversare, o zi de naștere etc. Vă permite să schimbați luminozitatea în modul manual și automat, ceea ce îmbunătățește dramatic confortul percepției în întuneric. , iar in final, acestea sunt controlate de orice telecomanda de la BRA sau de butoane locale.

Principalele caracteristici:

  • Tensiune de alimentare (V) ………… .…………………... 5
  • Consum de curent (mA) …………………………………. 100 - 200
  • Dimensiunea totală a matricei (pixeli) …………………… 8 x 40
  • Limitele temperaturii măsurate (grade) …….…. -40 - +99,5
  • Precizia măsurării temperaturii (grade) ……….. 0,5
  • Limitele corectării zilnice a cursului (secunde) …………. -9,9 - +9,9
  • Numărul de gradări de luminozitate se modifică …………… 31 + modul „auto”.
  • Numărul de alarme ……………………………. patru
  • Volumul textului fiecărei alarme (caractere) ……….. 11
  • Numărul de indicatori de eveniment …………………………….. 14
  • Volumul de text pentru fiecare eveniment (personaje) .......……. cincisprezece
  • Controlul modului …………………………………………. Butoane / orice telecomandă

Schema de circuit a ceasului este împărțită condiționat în părți indicator și „controler”, prezentate în figurile de mai jos. Numerotarea elementelor este aceeași și în continuare, în descriere, vom lua în considerare circuitul ca întreg.

Schema de afișare

Schema de control

Controlul propriu-zis al registrelor se realizează prin trei porturi ale microcontrolerului (MK) DD7, în întreruperi de la temporizatorul TMR0 cu un interval de 2 ms, care asigură o frecvență totală de schimbare a informațiilor de 63 Hz. De asemenea, un semnal PWM este furnizat de la MK la pinul 9 al DD6 (ieșiri on-off) pentru a modifica luminozitatea indicatorilor. MK DD7 a fost ales ca PIC16F88, care diferă de popularul PIC16F628A prin prezența unui ADC și de două ori capacitatea memoriei programului. MK funcționează de la un oscilator intern la o frecvență de 8 MHz (o altă diferență față de 628A).

Dispozitivul folosește un cip de ceas în timp real DS1307, care oferă numărarea și stocarea secundelor, minutelor, orelor, zilei săptămânii, dată (inclusiv anul de la 0 la 99). În timpul inițializării inițiale, DS1307 este configurat într-un mod în care o undă pătrată cu o frecvență de 1 Hz este prezentă la pinul 7, care este alimentată la intrarea RB0 a MK. O întrerupere este activată pe această intrare, unde un steag special este setat o dată pe secundă. În programul principal, folosind acest flag, principalele acțiuni sunt efectuate o dată pe secundă: citirea datelor de la DS1307, indicarea orei, verificarea unei potriviri între alarme și indicatorii de eveniment, setarea luminozității în modul automat. Bateria suplimentară BAT1 vă permite să stocați date în absența tensiunii de alimentare a dispozitivului pentru un timp aproape nelimitat. MK controlează DS1307 prin magistrala I2C cu porturile RB1, RB2. Senzorul de temperatură este controlat și de I2C - microcircuitul DS1621.

Dispozitivul este controlat cu ajutorul butoanelor S1 și S2, conectate respectiv la porturile MK RA4, RA2. Funcțiile butonului S1 pot fi efectuate folosind orice telecomandă de la ABR folosind circuitul de pe receptorul TSOP48 tip DA1 și un singur vibrator pe declanșatorul DD8.1 D și elementele C8, R47 și D1. Durata semnalului unui singur vibrator este selectată ca 0,2 s, ceea ce asigură conversia impulsurilor scurte de la ieșirea DA1 în impulsuri de această durată cu o apăsare scurtă și într-un semnal continuu în timp ce țineți apăsat orice buton de pe telecomandă. Semnalul de la ieșirea inversă a declanșatorului prin dioda D2 dublează butonul S1. Cu ajutorul elementelor R48, HL6 se organizează o indicație a acestui fapt.

Pe cel de-al doilea declanșator al cipului DD8.2 și al emițătorului piezoceramic LS1, un circuit de alarmă sonor este asamblat atunci când este declanșat un ceas alarmă sau un indicator de eveniment. Intrarea de numărare a declanșatorului primește un semnal PWM de la ieșirea MK cu o frecvență de 8 kHz. Cu un semnal logic 1 la intrările combinate R și S ale declanșatorului, există un log.1 pe ambele ieșiri și nu există sunet. Când apare un eveniment de indicație, MC modifică nivelul la aceste intrări cu o frecvență de 1 Hz, iar la ieșirile de declanșare cu această frecvență apar impulsuri antifază cu o frecvență de 4000 Hz. Deoarece această frecvență este rezonantă pentru acest radiator, este produs un semnal puternic intermitent. Au fost luate măsuri programatice pentru a salva impulsul PWM chiar și la valori extreme de luminozitate.

Un senzor de lumină este asamblat pe elementele FR1, R45 și C6. MK, folosind ADC-ul încorporat, citește tensiunea dependentă de iluminare de la acest divizor și setează ciclul de lucru corespunzător al semnalului PWM.

Dispozitivul este alimentat de o tensiune de + 5V furnizată la conectorul J1 și apoi prin circuitele de filtrare R41C3C4, R42C5, C7R46 la elementele circuitului. Circuitul R49 D3 protejează dispozitivul de conectarea accidentală a tensiunii excesive sau inverse. Este convenabil să utilizați un încărcător pentru smartphone de 5 volți ca IP.

Dispozitivul este asamblat pe o placă de circuit imprimat din fibră de sticlă cu metalizare unilaterală cu dimensiuni de 60 mm pe 170 mm

DD1-DD5 sunt utilizate în pachetul SO16, DD6 - în pachetul SOIC20. DD8 este utilizat în pachetul DIP. Poate fi înlocuit cu K561TM2 domestic. DD9, DD10 - în cazurile SO8. Aproape toate rezistențele și condensatorii SMD au dimensiunea 0805, C1,C7,C3,C5 - dimensiunea 1206. Este mai bine să lipiți un rezonator cu cuarț de la o placă de bază veche - de obicei sunt mai stabile. Fotorezistorul FR1, atunci când este înlocuit cu altul, ar trebui să aibă o rezistență la întuneric de aproximativ 1 - 2 MΩ. Bateria BAT1 tip CR2032 este montată pe un suport standard. Poate fi înlocuit cu orice tensiune de dimensiune adecvată de 3V. Când înlocuiți un emițător piezo cu altul, este foarte de dorit ca frecvența de rezonanță să fie aproape de 4000 Hz. Fotodetectorul poate fi lipit de la un televizor vechi. LED - orice strălucire strălucitoare, roșie. Diodele pot fi înlocuite cu KD521, KD522. Dioda Zener - tensiune 5,6V si de preferat cu o putere de minim 1 watt. Deoarece indicatorii de matrice aplicați s-au dovedit a fi cu un anod comun, a fost necesar să le instalați cu o rotație de 90 de grade în timpul dezvoltării plăcii și să folosiți rândurile ca coloane și invers. Când înlocuiți cu indicatoare cu un catod comun, de exemplu 1088AS, va trebui să schimbați complet schema de conexiuni. Butoane - orice ceas, unghiular. La inchiderea indicatoarelor in fata cu plexiglas colorat s-au observat raspunsuri eronateDA 1 semnal de luminozitate reflectat de la indicatoare. Acest efect este ușor eliminat prin lipirea unui ecran de hârtie neagră între indicator și fotodetector.

Un dispozitiv asamblat corespunzător, de obicei, nu trebuie ajustat. Cu toate acestea, dacă dependența existentă a iluminării și luminozitatea corespunzătoare a indicatorului în modul automat nu vă convine, ar trebui să alegeți valoarea rezistorului R45. În acest caz, o rezistență mai mică corespunde unei luminozități mai mici pentru o anumită iluminare.

Aspectul plăcii asamblate este prezentat în fotografii.

Motivul pentru rezistențele de limitare a curentului nu foarte frumos lipite este că, după fabricarea plăcii, s-a dovedit că valoarea nominală a acestora nu este 0805, ci 1206. A trebuit să lipim cumva ...

Programul de control al controlerului este scris în limbajul C și tradus în mediul MikroC pentru PIC. Cuvântul de configurare este conținut în firmware și este introdus automat. Orientarea autorului a ceasului - matricea este deasupra, ceea ce minimizează impactul posibil al detaliilor circuitului asupra temperaturii microcircuitelor DD9, DD10. Cu toate acestea, dacă cuiva îi place locația ceasului cu matrice în jos, ar trebui să modificați valoarea parametrului din prima linie de la 1 la 0 în fișierul „watch.c” înainte de a traduce programul, conform comentariului. Firmware-ul este atașat pentru ambele cazuri. De asemenea, este posibil să schimbați fontul numerelor în subțire (îngroșat în mod implicit), similar cu literele (acest lucru, apropo, va reduce ușor consumul de curent în modul inițial). Pentru a face acest lucru, în prima linie din fișierul „font.c”, trebuie să modificați valoarea parametrului „font_2” de la 1 la 0.

Acum să trecem la descrierea modurilor de ceas și să lucrăm cu ele.

Imediat când este pornit, ceasul intră în modul principal - indicarea orei. În același timp, cifra orelor și minutelor are o înălțime de 8 pixeli, iar secundele - 7 (în general, fiecare cifră sau literă este afișată într-un câmp de 5x8 pixeli, cifrele secundelor - 5x7). Când apăsați butonul S1 sau orice buton de pe telecomandă (aceste acțiuni sunt echivalente, iar în continuare vom ține cont că atunci când vine vorba de apăsarea butonului S1, la fel se întâmplă și cu un semnal de la telecomandă), curentul data completă și ziua săptămânii sunt afișate folosind o linie progresivă. Dacă nu se iau măsuri suplimentare, după 16 sec. dispozitivul revine la starea inițială - indicarea timpului. Dacă apăsați din nou butonul S1 în timpul afișajului datei, atunci afișarea temperaturii pornește și prin intermediul unei linii de rulare timp de 16 secunde. (apăsând din nou butonul - reveniți imediat la starea inițială).

Prin apăsarea continuă a butonului S1 timp de 9 secunde, ceasul trece în modul „MENU”, așa cum este indicat de inscripția corespunzătoare. O apăsare atât de lungă a fost aleasă pentru aceasta pentru a reduce probabilitatea de a intra accidental în meniu în timpul utilizării normale a telecomenzii (de fapt, pentru controlul aparatelor de uz casnic).

Aceasta este urmată de o mică digresiune - vom explica lucrul cu butoanele în general. Ceasul este controlat în așa fel încât toate acțiunile cu ele să poată fi efectuate folosind doar butonul S1 (sau telecomandă). La urma urmei, ceasul poate atârna sus de perete, iar accesul se va face doar prin butonul S1 (prin telecomandă). Deci, sortarea elementelor de meniu, precum și sortarea listei de alarme sau evenimente, se face prin apăsarea scurtă (până la 3 secunde) S1, iar trecerea la elementul selectat se face printr-un interval lung (mai mult de 3 secunde). ) apăsare. Niciun impact timp de 15 - 30 de secunde. (în funcție de modul specific) – revenirea la starea inițială. În același loc în care se modifică valoarea unui parametru, o apăsare scurtă crește valoarea nu cu 1, ci ținând-o mai mult de 2 secunde. - valoarea crește automat de aproximativ 3 ori pe secundă. Aici, absența influenței pentru un timp reglabil (de la 5 la 8 secunde) duce la trecerea la următorul parametru menținând în același timp parametrul curent. Aici puteți folosi butonul S2 - pentru a salva parametrul cu trecerea la următorul fără a aștepta, imediat. Deci, ținerea ceasului în mâini poate accelera semnificativ astfel de manipulări.

Să revenim la elementul de meniu. Există cinci elemente aici: INSTALARE, CORECTARE, CEAS DESTETĂTOR, EVENIMENTE, SETĂRI. Să vorbim despre fiecare în ordine.

INSTALARE. Aici setați data și ora curente. Parametrul de modificat este evidențiat inițial prin inversare, care dispare odată cu apariția modificărilor. Valorile se schimbă doar în sus, cu trecerea de la valoarea maximă (când este atinsă) la minimă și apoi într-un cerc. La sfârșit, când sunt setate data și orele cu minute, vor fi zerouri inverse în loc de secunde. Aici, în momentul resetarii secundelor de referință, apăsați S1 și ceasul va trece la starea inițială cu data și ora modificate.

CORECŢIE. De-a lungul timpului, inevitabil apare o eroare în mersul ceasului. Acest paragraf servește la corectarea acestuia. Preliminar este necesar să se măsoare „plecarea” ceasului timp de 10 zile. Să presupunem că ceasul este cu 58 de secunde mai rapid. Intrăm apoi în acest mod, așa cum este indicat de linia „îngrijire timp de 10 zile”. Când apăsați S1, linia este înlocuită cu o inscripție statică „XX sec”, unde XX este valoarea curentă de corecție, să zicem 31. Deoarece ceasul se grăbește, scădem cele 58 de secunde din această valoare. (dacă rămân în urmă, adăugăm). Câștig primit (-27) sec. După ieșire, această valoare va fi salvată în EEPROM. Intervalul valorilor de intrare este de la -99 la 99, semnul se schimbă la trecerea prin 0. Corecția are loc în fiecare zi la 00:00:19, pentru care întreaga zecime din valoarea de corecție (în cazul nostru (-2)) se adaugă la ora curentă, iar restul (avem (-7)) este stocat în EEPROM și data viitoare se adaugă la coeficient înainte de procesare. Adică, într-o zi, 3 secunde vor fi scăzute din timp și (-4) (-27-7 \u003d -34) va rămâne.

ALARMA. Când introduceți acest articol, pe ecran apare o linie, constând din: număr (1-4), semn de includere („+” sau „-“), timpul de răspuns, numele ceasului cu alarmă (text de 11 caractere) . Implicit, de exemplu, în al doilea ceas cu alarmă, vor exista date: „2. - 12:00 CEAS DESTEPTATOR-2. Cu apăsări scurte, puteți trece de la o alarmă la alta, cu o apăsare lungă puteți merge la alarma curentă, unde puteți modifica datele, activați sau dezactivați, selectați activitatea pentru fiecare zi a săptămânii, setați timpul de răspuns, schimbați numele textului tastând caracterele fiecărei poziții. Toate informațiile despre patru ceasuri cu alarmă sunt stocate în memoria liberă a cipul DS1307 (56 de octeți). Dacă ora curentă coincide cu un ceas cu alarmă care este pornit și activ în această zi a săptămânii, este afișată o linie cu date despre acest ceas cu alarmă, cu un semnal sonor intermitent, timp de un minut. Semnalul de alarmă poate fi întrerupt „devreme” prin apăsarea butonului S1.

EVOLUȚIRI. Când introduceți acest articol, pe indicatorul cu apăsări scurte ale butonului, evenimentele active rulează alternativ plus elementul „ADD NEW”. În mod implicit, nu există evenimente active, prin urmare, va exista doar o invitație pentru a adăuga un nou eveniment. Format eveniment activ: "<дата> <текст из 16 знаков>". Când toate cele 14 evenimente sunt active, elementul „ADD NEW” nu este afișat și un eveniment nou poate fi adăugat doar în locul oricăruia dintre cele existente. Apăsați lung pentru a comuta la modul de editare a evenimentelor. Aici puteți activa sau dezactiva, schimba data, precum și scrie propriul text corespunzător acestui eveniment. Toate modificările sunt stocate în memoria nevolatilă a MK (EEPROM).

Data curentă este verificată pentru coincidența cu datele evenimentului în fiecare zi la 8:00, iar dacă se potrivește, este afișat un șir de la data curentă și textul evenimentului cu un semnal sonor intermitent timp de un minut. Un astfel de semnal va fi dat în fiecare oră până la ora 19:00, cu condiția să nu fi fost întrerupt de buton. Semnalul întrerupt de buton nu se mai repetă.

SETĂRI. La intrarea în acest mod, pe ecran este afișat un mesaj precum „BRIGHT.XX”, unde „XX” este luminozitatea curentă. Prin apăsarea butonului S1, această valoare poate fi modificată în intervalul de la 1 la 31 sau setată la „AB”, ceea ce înseamnă „automat”. Când modificați valoarea luminozității, luminozitatea reală a indicatorului se schimbă imediat vizual. Dacă salvați modul automat, luminozitatea afișajului ceasului se modifică ulterior fără intervenție, în funcție de nivelul de lumină din cameră. În acest caz, ajungem la elementul pentru setarea luminozității minime pentru modul automat (“este afișat MIN.XX”). Această valoare este setată cel mai bine în condiții de iluminare minimă așteptată. Dacă o anumită valoare numerică a luminozității a fost setată în paragraful anterior, acest paragraf este omis.

Următorul element de setare este ajustarea timpului de așteptare înainte de a salva valorile diferitelor tipuri de parametri variabili în intervalul de la 5 la 8 secunde. Cu valoarea minimă a acestui parametru există pericolul stocării unor valori eronate, la valoarea maximă, timpul total de introducere a datelor de la telecomandă crește. Utilizatorul alege o valoare care este confortabilă pentru el.

Toate setările sunt stocate în memoria EEPROM a MK și nu se pierd în cazul unei pene de curent.

În aplicație, pe lângă codul sursă și firmware, există un model Proteus și o placă în format Lay6.

Lista elementelor radio

Desemnare Tip de Denumire Cantitate NotăScorBlocnotesul meu
DD7 MK PIC pe 8 biți

PIC16F88

1 La blocnotes
DD1-DD5 Registrul de deplasare74HC5955 SOP-16 La blocnotes
DD8 Flip-flop dublu DCD40131 K561TM2 La blocnotes
DD9 Ceas în timp real (RTC)

DS1307

1 La blocnotes
DD10 senzor de temperatura

DS1821

1 La blocnotes
DA1 FotodetectorTSOP481 La blocnotes
DD6 Registrul de deplasare puternicTPIC6B5951 La blocnotes
LS1 Sonerie piezoXCFT-14A1 La blocnotes
HL1-HL5 Matrice LED1088BS5 La blocnotes
HL6 Dioda electro luminiscentaARL-35141 roșu La blocnotes
X1 Rezonator cu cuarț32768 Hz1 La blocnotes
BAT1 baterie cu litiuCR20321 3V La blocnotes
D1-D2 Dioda1N47482 La blocnotes
D3 diodă Zener

1N4734A

1 La blocnotes
S1, S2 Butonul ceasuluiunghiular2 La blocnotes
FR1 fotorezistorNCL-49521 La blocnotes
R1-R40 Rezistor

220 ohmi

40 0805

Pe tema ceasurilor de casă, și a promis că va continua, așa că, dacă vă rog. Ceasuri pe matrice LED de casă.
, și

Acest lucru a fost făcut pentru a încerca să facem un ceas segment, bazat pe trei LED-uri pe segment 7 * 4 * 3 = 84 + 2 = 86 bucăți

Cam cam asa:

Am vrut să încerc culori diferite și cu siguranță luminoase (dar cum altfel?)

Conform acesteia mi s-au potrivit destul de bine partidele de 100 de bucati, mai ales ca pretul este destul de acceptabil, si l-am comandat si in acelasi magazin - sa fac numere multicolore ca sa poti compara culorile pe un singur display - care va fii mai frumos, bine, și așa - distrează-te... :)

Articol comandat și plătit 20 august 2016, și a ajuns 15 septembrie 2016, după standardele noastre destul de repede. DAR! LED-uri roșii - nu au venit! La sfârșitul perioadei de protecție a cumpărătorului s-a deschis un litigiu și vânzătorul a returnat banii. A fost doar o pierdere de timp...

Produsul a venit într-un plic poștal standard galben și cu coșuri, LED-urile în sine au fost ambalate într-o pungă de plastic separată, numărul de bucăți în albastru, verde a fost puțin mai mult de 100 (nu îmi amintesc exact acum, dar am amintiți-vă că mai erau 4-5 bucăți)

Toți lucrătorii (adică strălucire)

În cele care sunt multicolore - era ambalată în pungi separate, pe care era marcată cu un marker culoarea R G B W Y - culoarea se potrivea peste tot, precum și 2-3 în plus - se părea că probabil că toată lumea, dar mai târziu am fost convins că nu întotdeauna se întâmplă așa și invers...

Dacă n-ar fi fost sticlă cu roșu, vânzătorul ar fi putut pune un cinci gras cu un plus pentru non-lacomie.

Pe de altă parte, banii au fost returnați - problema este timpul pierdut și a trimis și o scrisoare în care a scris că îmi returnează banii MEI, iar dacă mărfurile au ajuns, mi-a cerut să-i returnez această sumă.

Verbatim:

Bună, prietene, acum sunt o rambursare, când primiți un pachet, vă rog să-mi returnați banii, vă rog să-mi laudă de cinci stele.

La care a trebuit să rostogolească o scrisoare că nu era A LUI bani, dar mă returnează doar ca urmare a unei dispute ALE MELE bani, pentru că Nu i-am primit niciodată bunurile și, în același timp, am pierdut mult timp așteptând bunurile lui

Apropo, când au sosit toate celelalte comenzi de la el, 10 zile mai târziu, i-am scris că spun că sunt îngrijorat, pentru că. e ciudat – toți au venit, dar unul dintre comenzi nu a venit

La care el, fără niciun „bună prietene”, a răspuns sec „încă nu au trecut 60 de zile”

Și apoi deodată a devenit un „prieten” și se pare că banii LUI și au violat...

Dar, în general - vânzătorul își îndeplinește obligațiile, răspunde la scrisori, din marfa trimisă - doar emoții pozitive, bani pentru netrimis returnați - totul este conform REGULUI

Ei bine, acum despre ce a fost achiziționat

Ceasuri de casă pe matrice LED de casă

Ceas + radio + vreme + telecomandă

Îmi doream de mult să fac un ceas pe matrice RGB. Matricele GMT2088 au fost găsite și ordonate. Dar, după cum se spune, apetitul vine odată cu mâncatul. Deoarece chiar și doar un ceas colorat este plictisitor, s-a decis să se pună în ele un tuner FM, un egalizator, senzori de umiditate, temperatură și presiune. De asemenea, este posibil să funcționeze cu baterii în caz de pierdere a tensiunii principale de alimentare.

Rezultatul este acest ceas:




În LED-urile roșii se pot observa 4 puncte luminoase, nu se cvadruplează în ochi și nu este o eroare a camerei, doar două filme sunt introduse în fața matricelor care se află în fața matricei LCD a monitorului și strălucirea diodei este împărțită. în 4 părți. Dacă vă jucați cu locația filmelor unul față de celălalt, puteți obține multe afișaje diferite. Calitatea fotografiei este slabă, dar elementele de bază sunt vizibile.

Opțiuni pentru setările ceasului:

1. Culoarea afișajului postului de radio recepționat. Pentru valoarea totală și fracțională a stației, vă puteți seta propria culoare.

2. Personalizați culoarea tickerului.

3. Schimbați viteza liniei de rulare.

4. Setarea culorii afișajului ceasului. Puteți seta propria culoare pentru fiecare personaj.

5. Interval radio de la 65MHz la 108MHz. Stochează până la 20 de posturi de radio în memorie.

6. Sunetul pentru fiecare post este salvat separat, precum și setările egalizatorului.

7. Alarme 7 . Ora de pornire configurabilă, ora de oprire, volumul sunetului, zilele de pornire, creșterea sau nu a sunetului și pornirea stației de radio sau a soneriei.

8. Reglarea frecvențelor LF și HF.

9. Selecția de fonturi de afișare a ceasului până la 8 fonturi, puteți încărca propriile fonturi.

10. Reglarea automată sau manuală a luminozității matricei.

A) Complet automat în funcție de iluminare

B) Taste manuale ale telecomenzii sau ceasului propriu-zis

C) La ora stabilită. Setează timpul minim și maxim de pornire a luminozității.

11. Controlul unei încărcări a unei baterii de rezervă de ore.

12. Control ceas cu telecomandă. A făcut posibilă învățarea telecomenzii (formatele NEC, RC5, SAMSUNG)

13. Am făcut 6 opțiuni pentru înlocuirea caracterului la schimbarea orei. (Mai multe opțiuni vor fi adăugate mai târziu)

14. Controlul tensiunii principale de alimentare. Când eșuează, trece la o baterie de rezervă, când apare, oprește bateria.

15. Temporizator de oprire cu un interval maxim de 99 de minute. Oprește sunetul radioului.

16. Setarea limitei minime și maxime de luminozitate.

17. Afișarea forțată a unei linii târâtoare cu informații despre temperatura din cameră și de pe stradă

Software-ul este complet scris în assembler și AVR Studio. Poate că undeva programul nu este scris foarte competent, pentru că m-am ocupat de assembler pentru puțin mai mult de un an și apoi numai în timpul meu liber, dar principalul lucru este că funcționează stabil și rapid.

Inima dispozitivului este AVR Atmega32 la o frecvență de 16 MHz. Ceasul este realizat pe două scânduri. Pe o matrice cu curele. Pe a doua totul altceva.

Controlul matricei coloanelor este dat registrelor STP16CP05 din pachetul TSSOP-24. Aceste registre au 16 ieșiri și încarcă fiecare ieșire până la 80mA. Decodor de control șiruri 74HC138. Tranzistoarele cu efect de câmp IRF7314 sunt instalate la ieșirea decodorului.Modulele RGB nu au fost lipite pe placă, ci au fost instalate în conectori.

Acest ceas folosește un cip de ceas în timp real DS3231. Alegerea a căzut asupra ei datorită faptului că nu are nevoie de un cuarț extern, deoarece în el este încorporat un rezonator de cuarț destul de precis, cu compensare a temperaturii, și este încorporat și un senzor de temperatură.

Radioul FM este implementat pe cipul RDA5807. Acest cip are o sensibilitate destul de bună.

Un modul AM2321 gata făcut este folosit ca senzor de umiditate. Modul gata BMP180 ca senzor de presiune. Acești senzori au și un senzor de temperatură.

Senzor BMP180:

Modul AM2321:


Cipul TEA6330T este folosit ca egalizator. Ea este responsabilă pentru reglarea volumului și setarea frecvențelor bas și înalte.

Amplificatorul de putere este realizat pe PAM8403. Cip mic, dar oferă suficientă putere. Difuzoarele de 8 ohmi 2W sunt conectate la ieșire. De asemenea, puteți conecta difuzoare de 4 ohmi. La 8 ohmi, puterea de ieșire este de aproximativ 1,6 wați. La 4 ohmi difuzor 3 wați.

Ceasul este proiectat să funcționeze pe baterie. A fost instalată o baterie marca L12T1P31 3.7V 3700 mAh.

Când tensiunea de rețea scade, luminozitatea matricelor este ajustată automat la minim. Dacă a existat un mod automat de control al luminozității, atunci acesta este înlocuit cu manual. Capacitatea de a regla luminozitatea în absența tensiunii de rețea rămâne. De asemenea, puteți activa modul automat. Când tensiunea de rețea este restabilită, luminozitatea va reveni la nivelul setat înainte de întreruperea alimentării.

Durata de viață a bateriei în modul ceas cu luminozitate redusă este de aproximativ 15 ore. Timpul de funcționare cu luminozitate maximă, font larg, volum mediu radio este de aproximativ 5 ore.

Implementat controlul tensiunii bateriei. Deoarece controlerul intern al bateriei o oprește atunci când tensiunea este sub 2,5 V și când tensiunea scade sub 3,2 V, convertorul începe să funcționeze incorect și ieșirea sa este de numai 5V. Ceasul intră într-o resetare nesfârșită. Prin urmare, s-a ales un prag de tensiune de 3,2V pentru a nu fi coborât la tensiunea minimă pentru convertor. Dacă tensiunea scade sub 3,2 V, ceasul va fi dezactivat.

Placa prevede posibilitatea instalării unui microcircuit specializat de control al tensiunii de tip BU48xx. În acest circuit, BU4832 controlează 3,2 V.

Controlul încărcării bateriei este asamblat pe ms TP4056. Convertorul de tensiune de la 3.7v la 12v este asamblat pe LM3488.

Este posibil să instalați atât baterii cu 3 pini, cât și cu 2 pini. Dacă nu aveți nevoie de controlul temperaturii bateriei, atunci nu instalăm unele dintre elemente (pentru detalii, consultați diagrama).Toate plăcile de circuite și firmware-ul sunt la sfârșitul articolului.

Pe elementele R13 R14 este asamblat un divizor pentru a controla tensiunea bateriei de rezervă.

Pe elementele R1 R10 R11 R12 este asamblat un separator pentru a controla iluminarea în modul automat.

Un nivel de potrivire este asamblat pe elementele Q1 Q2 R19-R22, deoarece unele ms sunt alimentate la 3V, iar altele la 5V.

Pentru a porni circuitul modulului principal, modulul matricei RGB și modulul senzorului de temperatură exterioară

Mai multe fotografii ale plăcii matrice RGB finite. Plăci din fibră de sticlă cu două fețe. Au fost aduse unele îmbunătățiri în timpul procesului de depanare. Prin urmare, unele fotografii sunt ușor diferite de plăcile care se află în arhivă.În arhivă se iau în considerare toate modificările.

Partea de jos a tablei:


Pe partea inferioară, rezistențele de 2,4 kΩ sunt pur și simplu lipite pe pini.

Partea superioară fără matrici instalate:


Vedere laterală:


Vedere de sus:


Efectele schimbării numerelor (nu toate efectele sunt afișate în videoclip)

Gestionarea ceasului


Când porniți ceasul pentru prima dată, îl puteți controla doar cu butoanele. Pentru a putea controla telecomanda, trebuie să predați semnalele ceasului de la telecomandă. Pentru a face acest lucru, țineți apăsat oricare dintre butoanele de control și apăsați butonul „Resetare”.Se va rula linia de defilare „Setarea telecomenzii” și vom vedea afișarea primului format al telecomenzii - NEC. În mod implicit, primul protocol NEC este afișat pe matrice. Răsfoiți prin protocoale apăsând oricare dintre butoanele din spatele ceasului. Protocoalele se schimbă într-un cerc NEC - Samsung - RC5.




După cum am scris mai sus, protocolul NEC este setat implicit. Luăm telecomanda și apăsăm orice buton de pe ea. Dacă protocolul selectat și protocolul telecomenzii se potrivesc, inscripția va deveni verde și apoi dispozitivul va intra în modul de învățare al telecomenzii. Dacă protocoalele nu se potrivesc, atunci nu vor exista modificări pe matrice și inscripția va rămâne albastră. Rearanjam la următorul protocol și apăsăm din nou orice buton de pe telecomandă.
Definiția protocolului ar trebui să funcționeze de la prima apăsare a butonului telecomenzii. Dacă funcționează de la a doua apăsare a butonului telecomenzii sau mai mult, atunci protocoalele nu se potrivesc și trebuie să selectați alt protocol.
Deoarece protocoalele NEC și Samsung sunt puțin similare, telecomanda în format NEC poate fi antrenată în modul de protocol Samsung, dar va trebui să apăsați același buton de două ori. Pe viitor voi încerca să corectez intervalele de măsurare a impulsurilor și poate că acest lucru va fi eliminat.

Protocolul RC5 este cel mai simplu. În acest mod, puteți antrena orice telecomandă, dar nu va funcționa normal. În acest mod, doar telecomanda protocolului RC5 va funcționa normal.
S-au scris o mulțime de articole despre diferența dintre protocoalele de telecomandă și nu voi descrie toate acestea aici.

După definirea protocolului, programul va trece la modul de învățare al butoanelor telecomenzii. Se vor afișa matricele ce buton să apăsați. În modul de așteptare, culoarea simbolului va fi albastră.


Apăsăm butonul de pe telecomandă. Dacă datele sunt primite cu succes, culoarea simbolului va deveni verde:


Dacă datele sunt primite cu o eroare, culoarea va deveni roșie pentru câteva secunde, iar apoi dispozitivul va trece la așteptarea ca butonul să fie apăsat din nou.


După ce ultimul buton solicitat este apăsat. Ceasul va intra în modul principal de funcționare. Dacă nu este instalat niciun senzor sau cip în timp real, linia de rulare „Niciun senzor găsit” va fi afișată în mod constant. Dacă nu instalați DS3231 și instalați niciunul dintre senzori, atunci pe matrice vor fi afișate doar puncte intermitente.

Descrierea suplimentară va fi pentru telecomandă. Va exista o descriere separată pentru controlul butoanelor, deoarece folosind telecomanda puteți merge direct la meniul dorit, iar folosind butoanele doar o tranziție secvențială de la început la un meniu, apoi la altul și așa mai departe într-un cerc .

După configurarea telecomenzii, vom vedea ora afișată. Din acest mod, puteți accesa diferite meniuri. Programul oferă controlul cipurilor TEA6330 și RDA5807 instalate. Dacă nu este instalat un microcircuit, atunci nu va fi posibil să accesați meniul de setări și linia de rulare corespunzătoare va fi introdusă fie „Egalizator nu a fost găsit”, fie „Radio nu a fost găsit”.

Descrierea funcționării butoanelor telecomenzii:

Buton Pornire / Oprire - pornire - oprire matricea

Butoanele săgeată sus și săgeată în jos - reglați luminozitatea matricei sau modificați datele în modul de setare. Luminozitatea acestor butoane este reglată în toate meniurile.

Butonul săgeată la stânga sau la dreapta - schimbați fontul în modul de afișare a orei, iar în modul de setare a alarmei, deplasați-vă prin submeniul alarmei

Butonul „1” - meniul „Ceas”

Butonul „2” - meniul „Radio”

Butonul „3” - meniul „Alarme”

Butonul „4” - meniul „Egalizator”

Butonul „5” - afișarea liniei de alergare

A) afișarea cu un clic a informațiilor de la toți senzorii

B) două apăsări în decurs de 3 secunde afișează doar temperatura exterioară.

Butonul „6” - meniul „Oprire cronometru”

Butonul „8” - setarea/resetarea luminozității minime și maxime

Butonul „9” - resetarea secundelor și corecția timpului prin Internet

Butonul „0” - control automat sau manual al luminozității

Butoanele CH + și CH - parcurgeți posturile de radio în modul FM

Buton de control sunet + și sunet - volum

Buton On / Off sunet - porniți dezactivați sunetul

Butonul „MENU” - accesați setările principale în modul oră, accesați setările radio în modul radio și setările alarmei în modul alarmă

Butonul „ESC” - ieșiți din submeniu

Tranziție în funcție de modul în care se află dispozitivul. Dacă se află în modul „Timp”, atunci tranziția va fi în setările principale. Dacă vă aflați în modul „Radio”, atunci accesați setările radio. Dacă în modul „Ceasuri cu alarmă”, atunci în setările alarmei

Butonul „OK” - confirmarea modificărilor în modurile de setare

Ceasul are 8 fonturi pentru afișarea orei. Comutarea între fonturi folosind butoanele „Stânga” sau „Dreapta” de pe telecomandă sau S6 de pe placa ceasului.

Exemplu de font larg:


Exemplu de font îngust:


Adăugarea propriilor fonturi

Fonturile sunt stocate în EEprom. Pot fi încărcate maximum 8 fonturi.

Fontul a fost creat folosind PixelFontEdit-2.7
Fontul în sine și sursa Eprom pentru Atmel studuo6.2 se află în arhiva de la sfârșitul paginii.
Fonturile sunt adăugate din etichetă eeFront1:
Numărul de fonturi nu mai mult de 8, nu se va mai potrivi. Programul în sine va determina numărul de fonturi descărcate.
Fonturile trebuie să se termine cu linia .db "E","N","D" semnificând sfârșitul fonturilor.
Scrisori Sfârşit poate fi mare sau mic, dar latină.
Compilați fișierul EEprom și flash-l. Puteți completa imediat toate valorile dvs. în EEprom cu comentarii detaliate pentru fiecare rând.
Tot in font se seteaza care vor fi punctele care separa orele si minutele.Se seteaza doar in primul caracter al fiecarui font.
În primul caracter, dacă bit0 al primului octet este setat, atunci acesta va fi dublu, dacă este resetat, va fi simplu.

Setări în modul de afișare a timpului

În acest meniu, modificați parametrii cu butoanele „Sus” și „Jos”, confirmați modificările cu butonul „OK”. Puteți ieși din configurație în orice moment apăsând butonul „ESC”.

Apăsăm butonul „Meniu”, va rula linia de rulare „Setări de bază”, apoi linia „Culoare radio”. Toată parte a gamei FM va clipi, utilizați butoanele „Sus” sau „Jos” pentru a seta culoarea dorită și apăsați butonul „OK”. Partea fracțională a benzii FM va clipi. Setați, de asemenea, culoarea dorită și faceți clic pe „OK”.



Dacă este instalat opțiune de culoare pentru linia de rulare ca în fotografie:


Apoi, când linia de defilare este afișată, culoarea acesteia va fi nouă de fiecare dată.

În continuare, va rula linia „Setarea ceasului”. Valoarea oră va începe să clipească. Utilizați butoanele „Sus” sau „Jos” pentru a seta ora curentă și apăsați „OK”. Minutele vor începe să clipească. Utilizați butoanele „Sus” sau „Jos” pentru a seta minutele curente și apăsați „OK”.


Apoi, linia „Clock color” va rula. În acest meniu, puteți seta o culoare diferită pentru fiecare simbol al ceasului. Selectați o culoare folosind butoanele Sus sau Jos. Există 7 opțiuni de culoare în total. A opta opțiune este un simbol multicolor cu culori alternative. După ce ați ales culoarea dorită, apăsați butonul „OK”. Apoi, setați culoarea pentru următoarele caractere și faceți clic pe „OK”.


Utilizați butoanele „Sus” sau „Jos” pentru a seta data curentă și apăsați „OK”.




În continuare, va rula linia „Setarea zilei săptămânii”. Zilele săptămânii sunt afișate sub abrevierea Duminică-Duminică, Sâmbătă-Sâmbătă, Vineri-Vineri etc. Utilizați butoanele „Sus” sau „Jos” pentru a seta ziua curentă a săptămânii și apăsați „OK”. Aceasta completează configurarea de bază.


În continuare, va rula o linie de defilare cu ziua curentă a săptămânii, data, anul, presiunea, temperatura și umiditatea. Dispozitivul va intra în modul de afișare a orei. În acest mod, după aproximativ 4 minute va fi afișat un ticker care afișează informații despre temperatură, presiune și umiditate din cameră. Ieșirea informațiilor de la toți senzorii butonul „5” RC. O linie despre temperatura și umiditatea de pe stradă este afișată o dată la 15 minute (puteți seta singur intervalul dorit, mai multe despre asta mai jos.) Dacă dintr-un motiv oarecare nu este instalat un senzor, atunci informațiile de la acest senzor nu vor fi afișate. în linia de alergare. Deoarece există un senzor de temperatură în toți cei trei senzori, datele vor fi citite de la senzorul care este instalat. În mod implicit, temperatura este citită de pe DS3221.

Modul radio.

Trecerea la acest mod se realizează prin apăsarea butonului „2” de pe telecomandă. Gama radio 65MHz - 108MHz.

În acest mod, tickerul rulează și după aproximativ 4 minute.

Este afișat următorul meniu:


Primele patru cifre sunt frecvența postului recepționat. Litera „M” sau „C” este semnalul mono sau stereo primit. Sub litera roșie se află nivelul semnalului primit. Volumul este afișat în partea de jos. Derulați prin posturile acordate cu butoanele „CH +” și „CH-” și reglați volumul cu butoanele „GR+” și „GR-”. Valoarea volumului este salvată individual pentru fiecare post. De asemenea, pentru fiecare post, setările egalizatorului de înalte și bass sunt salvate separat. Pentru a comuta la modul egalizator, apăsați butonul „4” de pe telecomandă (descrierea setării este chiar mai jos).

Pentru a comuta la modul setări radio, apăsați butonul „Meniu” de pe telecomandă. Va fi afișată linia de rulare „Setări radio”.

Litera care indică stereo sau mono va deveni roșie. În modul de redare, este albastru. Dacă nu este apăsat niciun buton în decurs de 15 secunde, dispozitivul va comuta în modul de redare radio.


Schimbarea frecvenței postului se realizează folosind butoanele „CH +” și „CH-” și butoanele „Stânga” „Dreapta” de pe telecomandă.

În intervalul 76-108 MHz, tastele „Stânga” și „Dreapta” modifică intervalul cu 1 MHz, iar tastele „CH-” și „CH +” ale telecomenzii se modifică cu 0,1 MHz.
În intervalul 65-76 MHz, tastele „Stânga” și „Dreapta” modifică intervalul cu 0,1 MHz, iar tastele „CH-” și „CH +” ale telecomenzii se modifică cu 0,01 MHz.

Reglați volumul cu butoanele „Gr+” și „Gr-”. După selectarea frecvenței și a volumului dorite, apăsați butonul „OK”. Va fi afișată caseta pentru intrarea stației curente. Dacă există deja o stație înregistrată în celulă, atunci numărul acesteia va fi în roșu.



Dacă celula este liberă, va fi verde.


Selectați celula dorită cu butoanele „CH+” și „CH-”. Un total de 20 de celule sunt disponibile pentru înregistrare. După selectarea celulei dorite, apăsați butonul „OK”. Celula va înregistra frecvența postului și nivelul volumului. Dispozitivul va reveni la modul de configurare. Pentru a ieși din modul de configurare, apăsați butonul „ESC” sau nu apăsați nimic timp de 15 secunde. Dispozitivul va intra în modul de redare radio.

Setarea alarmelor

Trecerea la modul de setare a alarmelor cu butonul „3” al telecomenzii. Linia de rulare „Ceasuri cu alarmă” va fi afișată. Dacă nu este apăsat niciun buton în decurs de 15 secunde, dispozitivul va intra în modul de afișare a timpului.

După ce mergem la meniul de alarmă, vom vedea următoarele:


B1 înseamnă numărul de alarmă. Sunt șapte în total. liniuțele după număr înseamnă că alarma nu este activată. Utilizați butoanele "Stânga" și "Dreapta" pentru a schimba numărul alarmei. Dacă alarma este oprită, nu va fi posibilă vizualizarea setărilor acesteia. Pentru a porni alarma, apăsați butonul "OK". LED-ul se va porni indicând că există alarme activate și va apărea un clopoțel.


Acum, dacă puteți vizualiza setările alarmei. Meniul fiecărei alarme este împărțit în patru părți. În prima parte, timpul de pornire și volumul sunt reglate. În a doua parte, timpul de oprire este setat, iar modul de sunet este liniar sau în creștere. În a treia parte, se setează stația de pornire sau se selectează soneria. În a patra parte, sunt selectate zilele alarmei. Apăsați butonul „Dreapta” din fața noastră va fi prima parte.


Ora alarmei este afișată aici. În colțul din dreapta jos este volumul de pornire. Pentru a modifica setările, apăsați butonul „OK”. Ceasul de pornire începe să clipească. Utilizați butoanele „Stânga” și „Dreapta” pentru a modifica valoarea și apăsați butonul „OK”. Așa că am configurat toți cei patru parametri.

După reglarea nivelului volumului, faceți clic pe „OK”. Aceasta finalizează setarea din prima parte a ceasului cu alarmă.

În această parte, puteți seta ora de oprire și creșterea volumului atunci când alarma se stinge sau liniar.

Volumul liniar este afișat în dreapta ca dreptunghi:


Rising groCapacitatea este afișată ca triunghi:


Toți pașii de configurare sunt la fel ca în prima parte.

Câteva despre setările de volum. În primul meniu, am reglat nivelul volumului. Dacă volumul liniar este setat în a doua parte, atunci când alarma se stinge, volumul maxim va fi cel care a fost setat în prima parte. Dacă volumul a fost setat să crească, atunci când alarma se stinge, volumul de la valoarea minimă va crește treptat până la valoarea setată în prima parte.

După ce setați a doua parte, apăsați butonul „Dreapta” și intrați în a treia parte a setărilor alarmei.


În această parte, se configurează postul de radio care urmează să fie pornit sau se selectează buzzer-ul prin defilarea la inscripția BEEP.


Setarea acelorași butoane ca în părțile anterioare. Posturile sunt selectate numai dintre cele care au fost reglate în modul „Radio”.

După ce setați a treia parte, apăsați butonul „Dreapta” și intrați în a patra parte a setărilor alarmei.

Aici setăm zilele alarmei.


Desemnarea zilelor săptămânii se face în cifre. 1-luni, 2-marți, 3-miercuri etc.

Apăsați „OK” Telecomanda va începe să clipească primul caracter. Utilizați butoanele „Stânga” sau „Dreapta” de pe telecomandă pentru a porni ziua săptămânii sau pentru a o opri. Culoarea verde este ziua activă, roșul nu este activ. Se aprinde un LED sub ziua activă. Creat pentru cei care au adunat ceasuri pe LED-uri obișnuite pentru a vedea ce zi a săptămânii este activă.

După setare, apăsați butonul „Dreapta” de pe telecomandă și treceți la următoarea alarmă sau apăsați „ESC” și ieșiți din modul de afișare a orei.

Când alarma se stinge, LED-ul va clipi. Dacă apăsați butonul „Oprit” în timp ce alarma rulează, LED-ul telecomenzii va înceta să clipească și alarma nu se va stinge când se ajunge la ora de oprire, adică alarma este anulată.

Setarea egalizatorului

Treceți la meniul de setări a egalizatorului apăsând butonul „4” de pe telecomandă. Linia de rulare „Egalizator” va rula. În acest mod, frecvențele joase și înalte sunt ajustate. Setările egalizatorului sunt stocate separat pentru fiecare canal radio. Dacă niciun buton nu este apăsat în decurs de 15 secunde, se va comuta în modul de afișare a orei.

Pentru a regla frecvențele dorite, apăsați butonul „Stânga” sau „Dreapta” de pe telecomandă.

Acordare maximă LF și HF:



Pentru a schimba filtrul trece jos sau trece înalt, apăsați butonul „OK”. Bara din stânga va începe să clipească. Utilizați butoanele „Stânga” și „Dreapta” pentru a modifica valoarea. Pentru a salva valoarea setată, apăsați „OK” de pe telecomandă. În funcție de mărimea valorii, se schimbă și culoarea indicatoarelor și numerele care indică nivelul. Mai aproape de valoarea maximă va fi roșu. Mai aproape de valoarea minimă în albastru, iar în intervalul de mijloc în verde.

Setarea basului minim:


Valoarea medie a setării basului:


Setarea-eliminarea pragului minim de luminozitate

În mod implicit, luminozitatea este reglată de la maxim până la golirea completă a indicatorilor. Dar acest lucru nu este foarte convenabil în modul automat. În întuneric complet, indicatoarele se vor stinge și nimic nu va fi vizibil. Pentru aceasta, acest mod a fost realizat astfel încât luminozitatea minimă să nu scadă sub sau deasupra setului

Apăsăm butonul 8 de pe telecomandă pentru a intra în meniul de setare a limitelor de luminozitate.

Prima setează limita minimă de luminozitate.


Utilizați butoanele „Sus” „Jos” de pe telecomandă pentru a seta luminozitatea dorită și apăsați „OK” de pe telecomandă. Va fi un semnal lung sonerie și a înregistrat pragul minim de luminozitate.


Utilizați butoanele „Sus” „Jos” de pe telecomandă pentru a seta luminozitatea dorită și apăsați „OK” de pe telecomandă.

Va fi un semnal sonor lung și va fi înregistrat pragul minim de luminozitate.

Următoarea secțiune setează timpul minim de pornire a luminozității și apoi timpul maxim de pornire a luminozității.

Ieșiți din meniul de configurare „ESC” din telecomandă. Acum, la reglarea luminozității, nu va fi posibil să o faceți mai întunecată sau mai deschisă decât pragul setat, iar în modul automat, luminozitatea nu va fi mai mică sau mai mare decât cea setată.

Pentru a activa modul de control automat al luminozității pe telecomandă, apăsați „0” pentru a comuta în modul automat. LED-ul din partea din față a ceasului se va aprinde.

Pentru ca ajustarea luminozității în timp real să funcționeze, în funcție de timpul de iluminare, luminozitatea minimă și maximă trebuie să fie egale. În caz contrar, luminozitatea va fi setată în funcție de ora selectată. Schimbarea luminozității de la nivelul minim la nivelul maxim și invers este lină.

Pentru a reseta pragul de luminozitate, pur și simplu intrați din nou în meniul de setare a pragului de luminozitate și toate limitele vor fi resetate.

Pentru a seta pragul din butoane, citiți paragraful 8 de mai jos.

Control prin buton

Butoanele S4-S9 sunt situate pe spatele ceasului. În funcție de meniul în care ne aflăm, funcția butoanelor se schimbă.

Butonul S8 comută la diferite meniuri. Pentru a accesa meniul dorit, apăsați S8 și mențineți apăsat. După numărul necesar de semnale sonore, eliberați și intrați în meniul selectat. Numărul de semnale sonore va corespunde cu numărul butonului telecomenzii. Dacă sunt 4 semnale, atunci vom intra în meniul „Egalizator”, dacă există 1 semnal, atunci meniul de afișare a timpului etc.

1. Funcțiile butoanelor din meniul ceasului:

Schimbarea fontului S6

S7 resetează secunde și actualizează timpul prin internet

S9 accesați setările de bază.

Apăsând S9 mergem la meniul de configurare. În acest meniu, butoanele S4 și S5 modifică parametrul, butonul S6 trece la următorul parametru de setare. Ieșirea din meniu nu este posibilă; va trebui să parcurgeți toți parametrii reglabili.

După setarea ultimului parametru, va rula o linie de defilare și dispozitivul va reveni la modul de afișare a timpului.

2. Funcțiile butoanelor din meniul radio:

Reglarea sunetului S4 și S5 „+” și „-”

Tranziția S6 și S7 pe canalele configurate „+” și „-”

S9 intră în modul de acordare radio

În meniul de setări, acțiunea butoanelor:

Reglarea sunetului S4 și S5 „+” și „-”

Frecvența radio S6 și S7 schimbă „+” și „-”

S9 accesați meniul pentru stocarea unei stații în memorie. Cu butoanele S6 și S7 schimbăm numărul celulei de memorie, iar butonul S9 confirmă introducerea.

Ieșiți din meniul de setări - nu apăsați niciun buton și ieșirea va fi automată după 15-20 de secunde.

3. Funcțiile butoanelor din meniul de setări de alarmă:

Alarme de defilare S4 și S5 „+” și „-”

S6 și S7 nu sunt implicați

S9 Porniți și opriți alarma

Dacă alarma este activată, apăsați S4 pentru a intra în setările principale ale alarmei activate. Navigați prin submeniurile de alarmă S4 și S5. Pentru a seta parametrul, apăsați S9 și S4 și S5 modifică parametrul. Următoarea apăsare a S9 trece la următorul parametru de setare. Dispozitivul va ieși automat din setările alarmei în decurs de 15 secunde. niciunul dintre butoane nu va fi apăsat.

4. Funcțiile butoanelor din meniul egalizatorului:

S4 și S5 parcurg parametrii reglabili.

S6 intră în modul de modificare a parametrului selectat. În acest mod, S4 și S5 modifică parametrul, iar S6 confirmă modificarea.

S7 nu este implicat.

Ieșirea din mod este automată după 15 secunde dacă niciun buton nu este apăsat.

6. Funcțiile butoanelor din meniul temporizatorului de oprire:

Setarea S4 și S5 a intervalului de timp de oprire în pași de 5 minute. Un interval de 0 minute înseamnă că temporizatorul este oprit

S6 ieși în meniul de afișare a timpului.

7. Gratuit. Poate fi folosit în viitor.

8. Funcțiile butoanelor din meniul de setare a limitei de luminozitate:

S4 și S5 se schimbă luminozitatea.

Confirmarea S6 a luminozității selectate.

Setare de ieșire S7.

9. Gratuit. Poate fi folosit în viitor.

Câteva despre piesele folosite și înlocuirea și reglarea acestora.

Toate elementele SMD sunt de dimensiunea 0805. Stabilizatorul U1 LM317ADJ poate fi înlocuit cu orice stabilizator cu o tensiune de stabilizare de 3 Volți, de exemplu ASM1117-30. În acest caz, înlocuiți R18 cu un jumper și nu instalați R17. Stabilizatorul de 5V U8 LM2576-5 poate fi înlocuit cu LM2596-5. LED-uri D6 D7 D11 D12 D13 dimensiunea 2835. Rezistorul R24 setează volumul soneriei. Nu uitați să setați curentul de încărcare pentru bateria utilizată cu rezistențele R44 R45 (vezi tabelul din diagramă). Cu un curent de încărcare mare, recomand instalarea unui radiator pe TP4056. Rezistoarele R38 și R49 pot limita volumul maxim sau le pot înlocui cu jumperi. Condensatoarele C28 C29 C42 C43 din conducta TEA6330T trebuie instalate, care sunt indicate în diagramă. Abaterea de la capacitate într-o direcție sau alta pentru a schimba domeniul de reglare a frecvenței. C28 și C43 sunt responsabili pentru frecvențele joase, iar C29 și C42 pentru frecvențele înalte. Am încercat să setez 6.8nF C29 și C42 HF frecvențele practic nu se schimbă. Rezistoarele R28 R33 R31 pot modifica tensiunea la ieșirea convertizorului. Cu valorile indicate în diagramă, tensiunea este de 11,86 V.

Tensiunea se calculează cu formula:

Uout=1,26*(1+((R33+R28)/R31))

Diodele Schottky D4 D5 D1 D8 D10 pot fi înlocuite cu oricare pentru un curent de 2A. Dioda Zener D3 poate fi oprită de orice tensiune de stabilizare de 4,3V 4,7V sau 5V.

Instalarea este mai bine să începeți cu instalarea tuturor stabilizatorilor de tensiune și să le verificați funcționalitatea, astfel încât să nu fie rușine pentru controlerele și senzorii arse. Apoi, este mai bine să montați convertorul și să-l verificați aplicând tensiune la al 8-lea picior al LM3488 în intervalul 3,2-5V. Ieșirea ar trebui să fie de aproximativ 12V.

În continuare, montam elementele pentru încărcarea bateriei și monitorizarea tensiunii bateriei și verificăm funcționarea. Pentru o baterie cu 2 fire, nu instalăm R39, ci înlocuim R43 cu un jumper. Acționăm și pentru 3 fire dacă nu este necesar controlul temperaturii bateriei. Borna din mijloc a bateriei rămâne să se întindă. Dacă este nevoie de controlul temperaturii, atunci instalăm toate elementele, deși R43 nu poate fi instalat deoarece va fi conectat în paralel cu termistorul bateriei și nu va afecta foarte mult funcționarea.

Controlerul de tensiune al bateriei este asamblat pe TL431 și LM358. Pe TL431 este asamblată o sursă de tensiune de referință de 2,5 V. Această tensiune este furnizată pinului 2 al LM358, iar tensiunea este furnizată pinului 3 al LM358 de la baterie prin divizorul R58 R62 de îndată ce tensiunea bateriei este sub 3,2 la pinul 3, tensiunea va deveni, de asemenea, mai mică de 2,5 volți și la 1 ieșire va fi 0 Q9 se va închide. Tensiunea pozitivă prin R56 R51 va merge la baza lui Q8. Q8 se va închide astfel și închide tranzistorul Q7.1 dezactivând întreaga placă. După oprire, pornirea ceasului va fi posibilă numai atunci când este conectată o sursă de alimentare externă, deoarece LM358 este alimentat de o sursă de alimentare externă.

Dacă există un cip BU4832, atunci TL431 LM358 nu instalează conductele lor și R56. Dacă asamblam pe TL431 și LM358, atunci nu instalăm R53 și poate fi necesară ajustarea pragului de răspuns cu divizorul R58 R62. Dacă există o sursă de alimentare principală, bateria trebuie încărcată și nu ar trebui să existe tensiune la ieșirea convertorului. Dacă tensiunea bateriei este mai mare de 3,2 volți, atunci la baza tranzistorului Q9 ar trebui să fie de aproximativ 0,7-0,8V.

Acum verificăm funcționarea sursei de alimentare de rezervă. În primul rând, alimentam circuitul de la sursa principală. Apoi îl scoatem din rețea și 12V ar trebui să apară la ieșirea convertorului. Dacă convertorul nu pornește, atunci ne uităm la ce se bazează pe Q9. Dacă tensiunea de acolo este mai mică de 0,7 V și bateria este încărcată, atunci măsuram tensiunea la pinul 2 al LM358-ului ar trebui să fie de 2,5 V și la pinul 3 mai mult de 2,5 V. Dacă totul este normal, atunci LM358 este defect sau alimentarea nu este conectată la el. Pragul de oprire poate fi ajustat R62. Odată cu creșterea valorii sale, pragul de oprire crește, adică dispozitivul va fi complet dezactivat cu o descărcare mai profundă a bateriei. Pe măsură ce valoarea scade, pragul scade.

Condensatorii C6 C11 C21 C20 C37 sunt recomandați pentru ESR scăzut.

Dacă totul funcționează, atunci montăm procesorul, îl fulgerăm și montăm toate celelalte elemente.. Pentru confortul intermitentului, pe placă sunt prevăzute contacte pentru conectorul ISP. Lipim pinul GND pentru ISP în orice loc convenabil.

Indicatie LED

LED-ul D11 este aprins, ceea ce înseamnă că este setat modul automat de control al luminozității. Reglarea manuală nu funcționează. Modul este comutat de butonul „0” al telecomenzii.

LED-ul D12 este aprins, ceea ce înseamnă că există alarme activate. Dacă clipește, alarma a fost declanșată.

LED-ul D13 este aprins, ceea ce înseamnă că bateria de rezervă a ceasului trebuie înlocuită. Chiar dacă scoateți bateria, ora nu va fi resetată, deoarece datorită încărcării condensatoarelor, DS3231 va fi alimentat o perioadă de timp. Deci sunt 5 minute pentru a schimba bateria.

LED-ul D6 este aprins, ceea ce înseamnă că bateria se încarcă

LED-ul D7 este aprins, ceea ce înseamnă că bateria este încărcată.

Dacă ambele LED-uri D6 și D7 nu sunt aprinse, ceasul este alimentat de bateria internă.

Producem placi de circuite imprimate (PP)

Au fost mici greșeli de calcul la prinderea difuzoarelor, decupările au fost făcute mai mult decât era necesar și a trebuit să fiu deștept cu prinderea lor. Arhiva ține cont de toate modificările care au fost purtate în tablă.

Versiune placa cu WI-FI.



Fac plăci de circuite imprimate folosind un fotorezistent negativ. Imprimez un șablon pe o peliculă cu o imprimantă cu jet de cerneală Epson L800într-un mod negativ. Curățesc piesa de prelucrat cu pulbere Pemolux. Aplic un film fotorezistent pe piesa de prelucrat umedă. Pe lipsa de Calc laminatorul cu un fier de calcat setat la diviziunea 1. Aplic un sablon si il iluminez cu trei lampi UV de 20W fiecare timp de 1 min 10 sec. Apoi din nou sub fierul de călcat, apoi spăl zonele nebronzite și otravă. Perforez mai multe găuri în tampoanele extreme și fac perforații în aceleași locuri din șablon. Tabla și șablonul sunt combinate cu ace. A doua față este gravată. Primul este sigilat cu bandă adezivă.

Facem găuri. De obicei, găurim prin găuri cu un diametru de 0,4 mm și lipim firele în ele. Lipim elementele.

Poza plăcii finite cu WI-FI



Suntem mai atenți la instalare pentru ca ulterior să nu căutăm de ce nu funcționează. Unele elemente de ieșire trebuie lipite pe ambele părți. Știfturile acestor elemente sunt ca vias. Sub cuarțul de pe placă, trebuie să lipiți bandă adezivă sau bandă electrică, astfel încât să nu existe contact cu șenile sau să o lipiți pe partea Atmega32.

Carcasa a fost realizată din plastic moale de 4 mm. Taie bine cu un cuțit utilitar. Deoarece LED-urile sunt adânci, atunci sunt necesare ghiduri de lumină. Capacul unei lămpi de mașină a fost folosit ca ghidaj de lumină. Carcasa a fost desenată în CorelDRAW, tipărită pe hârtie simplă și fixată pe plastic cu bandă adezivă față-verso și decupată. Ascundem totul în carcasă, fixăm antena:


Senzorii ies de sus:


Pentru a avea un aspect normal și nu doar senzorii să iasă din carcasă, un set pentru fixarea numărului a fost cumpărat dintr-un magazin auto și capacele reflectorizante sunt lipite deasupra carcasei.

A ieșit așa:


Asta e ca toate. Intenționăm să adăugăm posibilitatea de a afișa informații din RDS. Doar faceți o altă opțiune pentru codificatori.

A fost scris un program pentru modulul ESP8266. Firmware-ul pentru Atmega32 a fost și el schimbat în arhivă, totul este actualizat. Au fost aduse și modificări ale schemei. Semnalele TX RX de la Atmega la ESP8266 au fost conectate incorect. Toate modificările descrise aici sunt luate în considerare în schema din arhivă.

S-au făcut modificări minore diagramei. Resetare combinată a semnalelor Atmega și ESP8266. Dar pentru aceasta trebuie să potriviți semnalele de tensiune. S-a adăugat un rezistor de 9,1 kΩ între Reset Atmega și GND. Rezistorul de 10k între Resetare ESP8266 și șina de 3V a fost îndepărtat. Tensiunea la pinul de resetare ar trebui să fie între 3V-3.3V.

S-a adăugat potrivirea nivelului TX RX. Deși puteți face fără ea, dar a făcut-o așa cum ar trebui să fie conform regulilor.

Pentru a flashi modulul ESP8266, aveți nevoie de:

1. Descărcați (dacă nu este instalat) Arduino IDE din afara site-ului (https://www.arduino.cc/en/Main/Software), instalare.

2. Porniți Arduino IDE, apoiFișier - Setări- în câmp Adrese URL suplimentare ale Managerului de forumuriinserați linkul către versiunea stabilăhttp://arduino.esp8266.com/package_esp8266com_index.json

4.B Director de consiliuintroduceți esp8266 în câmpul de filtru sau derulați manual lista și faceți clic pe ESP8266 de către ESP8266 Forumul comunității
Faceți clic pe Instalare și așteptați finalizarea descărcării (aproximativ 130 MB).
Dacă descărcarea este prea rapidă, este posibil să fi instalat deja Arduino IDE pentru ESP8266 și va trebui să ștergeți memoria cache a Boards Manager, altfel veți ajunge cu vechea versiune instalată. Mai întâi trebuie să dezinstalați versiunea veche, apoi trebuie să ștergeți fișierele cache. Pentru Win7 x64, ștergeți fișierele din folderul C:UsersUserAppDataRoamingArduino15 și repetați totul de la pasul 2
Închideți Boards Manager și din meniul Tools selectați Board - Generic ESP8266

Selectați portul serial la care este conectată placa. Deschideți fișierul firmware.

Am folosit PL2303 pentru a flash modulul. Driverul pentru acesta de mai jos în arhivă funcționează pe Win 8.1. Driverul este instalat manual.

Puteți utiliza orice adaptor USB-COM.

Lipim modulul ESP 8266 pe placă. Conectăm modulul cu un adaptor USB-COMconexiuni semnal TX RXcruce adică de la TX ESP8266 la RX USB-COM și RX ESP8266 la TX USB-COM. Instalați jumper-ul pe XP10 și scoateți jumper-urile XP11 și XP12. Faceți clic pe Resetare.

În firmware-ul pentru modulul care trebuie schimbat în ceas.

În firmware, introduceți numele rețelei dvs. WI-FI și parola pentru aceasta.

Apăsați pictograma „Săgeată dreapta” pentru a începe să clipească modulul.

După finalizarea firmware-ului, scoateți jumperul XP10 și instalați XP11 și XP12 înapoi.

Vă recomand să verificați dacă aveți porturile 123 deschise pe computer și în router.
Este mai ușor să faci asta pe un PC, în setările de oră, fila Ora de Internet - Modificare setări. Conducem în câmptime.nist.govși faceți clic pe „Actualizați acum”. Dacă scrie că ora a fost actualizată cu succes, atunci porturile dvs. sunt deschise. Dacă apare o eroare, deschideți porturile din router.
Acasă, pe un router ASUS RT16 cu firmware Tomato, totul a funcționat bine implicit.
La locul de muncă, a trebuit să deschid porturi pe un router Zuxel Keenetic Giga II cu firmware nativ, deși ora a fost actualizată de pe Internet în ruterul propriu-zis.

Ora este actualizată prin apăsarea butonului „9” de pe telecomandă. Singurul lucru de luat în considerare atunci când actualizați ora, dacă nu există acces la Internet, atunci toate secundele vor fi resetate exact la zero.
După pornirea ceasului sau apăsarea butonului Reset, pentru a actualiza ora prin Internet, trebuie să așteptați 30 de secunde.Acest timp este necesar pentru ca modulul să se conecteze la rețea sau să returneze o eroare dacă nu există conexiune. Dacă apăsați mai devreme butonul „9” de pe telecomandă, nu se va întâmpla nimic. În timpul sincronizării timpului, matricele pentru 1-2 secunde se vor stinge.
Dacă nu există acces la Internet, atunci linia va fi afișată„Hopa, fără rețea”.
Dacă există acces la rețea, dar nu există acces la serverul de timp exact, atunci linia va fi afișată„Nu se poate accesa serverul de timp”

De asemenea, va apărea o nouă rețea cu numele „Datchik”. De asemenea, puteți schimba numele în oricare din Arduino și schimbați parola pentru aceasta. Al doilea modul cu senzori de exterior va fi conectat la această rețea.

PS. Am decis să refuz sincronizarea automată, deoarece DS3231 are o deviere de timp foarte mică și sincronizarea este necesară nu mai mult de o dată pe lună, iar apoi deviația este de câteva secunde. Deci este mai ușor să o faci manual.

Programul de testare matrice a fost scris. Siguranță ca pentru firmware-ul principal.
Totul este controlat vizual.

LED-urile pentru starea bateriei de rezervă, alarmă activată și luminozitate automată ar trebui să fie aprinse. Soneria ar trebui să fie silențioasă.

1. Primul test aprinde toate LED-urile matricei. Testul rulează pe toate culorile. Vizual, puteți determina ce LED-uri nu luminează sau culoarea lor diferă de altele, așa că nu ratați undeva. Testul începe cu matrici complet anulate.

2. A doua parte a testului aprinde doar un LED și îl rulează prin toate rândurile din fiecare dintre cele trei culori R G și B . Un singur LED ar trebui să se aprindă. Dacă două LED-uri sunt aprinse, atunci undeva există un scurtcircuit la ieșirile registrelor matriceale.

Sursa de alimentare trebuie să furnizeze un curent de minim 2A în modul test, deoarece nu există control al luminozității și consumul este destul de mare (mai ales când culoarea este albă). Dacă blocul nu poate furniza un astfel de curent, atunci testul nu va începe, adică vor exista încercări de pornire și resetare imediată.

Modul senzor de temperatură exterioară.

Modulul senzorului de temperatură exterioară este realizat și pe ESP8266 și AM2321 este folosit ca senzor. În acest modul este instalat și un senzor de temperatură a camerei. Acest lucru se face în ordinea în care sunt colectate mai multe ceasuri identice și apoi pot primi date de la un singur modul. Modulul extern are încărcare USB încorporată pentru baterie, precum și controlul tensiunii bateriei. Când tensiunea bateriei scade sub 3,2 volți, LED-ul se va aprinde.

De asemenea, a adăugat control vizual al erorilor.

1. Niciun senzor AM2321 LED verde aprins

2. Niciun senzor BME280 LED roșu aprins

3. Conexiune nereușită la rețeaua WI-FI, LED-ul albastru este aprins



Firmware-ul se face în același mod ca și pentru modulul din ceas. Singurul lucru este că unele linii trebuie schimbate în program.

Setați timpul de sondare pentru senzorul de temperatură. Implicit este 900 sec = 15 min
Modificați valorile din linie:

ESP.deepSleep(900*1000000,WAKE_RFCAL);// timp 900 secunde = 15 minute
Schimbați-vă valoarea. Salvați și flash.

Modulul meu este alimentat de o baterie de 1000mA.

Mulți radioamatori începători, și nu numai, le place să „reinventeze roata” - toată lumea vrea să-și construiască propriul ceas electronic. Nici această soartă nu a trecut pe lângă mine. Există o mulțime de modele de ceasuri pe Internet, dar există doar câteva ceasuri pe matrice LED. În internetul vorbitor de limbă rusă, am găsit un singur design complet finisat, cu o descriere.
În același timp, rețelele LED au scăzut recent din preț, iar costul lor poate fi chiar mai mic decât afișajele cu șapte segmente de aceeași dimensiune. De exemplu, GNM23881AD folosit cu o dimensiune de 60x60mm a fost cumpărat de mine cu un dolar și jumătate (trei indicatori costă patru dolari și jumătate), pentru astfel de bani cu greu puteți cumpăra patru indicatori cu șapte segmente de aceeași dimensiune. Dar pentru a plasa informații pe un indicator de matrice, se va dovedi mult mai mult. Pe lângă indicația digitală, pe matricea LED pot fi afișate diverse litere, semne și text. După ce am analizat toate acestea, s-a decis construirea unui ceas multifuncțional pe matrice LED, în timp ce a existat dorința de a nu complica circuitul mai mult decât pe afișaje cu șapte segmente. De asemenea, am vrut ca schema să fie multifuncțională și să nu fie ca celelalte. Și așa s-a născut această schemă.

Funcționalitatea ceasului:
Ora, calendarul, zilele săptămânii. (se ia în considerare anul bisect, dar nu se modifică ora de vară/iarnă). Menținerea ceasului în funcțiune când sursa externă de alimentare este oprită (consumul de curent este de numai 15 μA). Corecția frecvenței ceasului + - 59,9 sec \ zi, pas 0,1 sec. 9 alarme. Trei dintre ele sunt „de unică folosință”, iar 6 sunt „permanente”, personalizabile individual în funcție de ziua săptămânii. Durata semnalului sonor pentru fiecare alarmă este reglabilă individual (1-15min).

Confirmare sonoră la apăsarea butoanelor (poate fi dezactivată). Bip la fiecare oră (poate fi dezactivat). De la 00-00 la 08-00 modul de repaus, nu este dat niciun semnal. 1 sau 2 senzori de temperatura (strada si casa). O linie târâtoare personalizabilă, cu care puteți afișa toate informațiile (cu excepția timpului) Corectarea cursului și setările „liniei târâtoare” - sunt stocate în memorie chiar și atunci când sursa de alimentare de rezervă este oprită.

AtMega16A a fost ales drept „inima” ceasului, criteriul a fost ieftinitatea și accesibilitatea. Cele 40 de picioare vă vor permite să vă realizați toate ideile. A existat dorința de a simplifica circuitul cât mai mult posibil și, prin urmare, toate funcționalitățile au fost atribuite controlerului. Ca rezultat, am obținut un circuit cu doar două microcircuite, un controler și un registru TPIC6B595. Dacă nu este posibil să obțineți TPIC6B595, atunci este foarte posibil să îl înlocuiți cu 74HC595 + ULN2803. Toate opțiunile au fost testate. Puteți încerca, de asemenea, să-l înlocuiți cu TPIC6С595, dar este destul de slab și s-a încălzit puțin, dar a funcționat destul de stabil.

Numărătoarea inversă se efectuează folosind un temporizator asincron - T2. Când alimentarea principală este pierdută, ceasul este salvat.În acest caz, aproape întregul circuit este dezactivat, iar controlerul este alimentat de o baterie, baterie sau supercondensator. A existat o dorință de „jucat” cu ionistorul, de aceea l-am aplicat. Ceasul consumă aproximativ 15 μA în modul de așteptare. Cu putere de rezervă de la un ionistor la 1F, capacitatea a fost suficientă pentru patru zile, ceea ce este suficient pentru a menține ceasul în timpul întreruperilor de curent. Dacă utilizați o baterie CR2032, atunci încărcarea va dura un an și jumătate.

Controlerul ascultă prezența rețelei prin pin. PB3 (intrare comparator inversor). Tensiunea de alimentare este furnizată prin divizorul R2-R3 la pin. РВ3 și este aproximativ egal cu 1,5 V. Dacă tensiunea de alimentare scade la 4,1 volți, atunci tensiunea la pin. РВ3 va deveni mai mic de 1,2 V, în timp ce va fi generată o întrerupere de la comparator, iar în gestionarea acestei întreruperi, toate nodurile controlerului „extra” sunt oprite și controlerul însuși este pus în stare de adormire. În acest mod, numai cronometrul T2 continuă să funcționeze. Când apare o sursă de alimentare externă, tensiunea de pe PB3 va crește din nou peste 1,23 V, controlerul „văzând” acest lucru va pune toate nodurile în stare de funcționare. Dacă în loc de ionistor se folosește o baterie CR2032, atunci aceasta trebuie conectată printr-o diodă (de preferință o diodă Schottky). Anodul diodei este conectat la + baterii, iar catodul la catodul VD1.

În modul normal, ecranul afișează ora în format oră-minut. Cu un interval de un minut se lansează linia de alergare. Linia de rulare afișează ziua săptămânii, data, anul, temperatura. acasă, și temp. pe strada. Linia de rulare este personalizabilă, adică Puteți activa/dezactiva afișarea oricăruia dintre elemente. (De exemplu, opresc întotdeauna afișajul anului). Când toate elementele sunt dezactivate, linia târâtoare nu pornește, iar ceasul afișează în mod constant ora curentă.

Cele 9 alarme sunt împărțite în 3 de unică folosință și 6 reutilizabile. Când activați alarmele 1-3, acestea funcționează o singură dată. Pentru ca acestea să funcționeze din nou, trebuie să fie reactivate manual. Și ceasurile deșteptătoare 4-9 sunt reutilizabile, adică. vor lucra zilnic, la ora stabilită. În plus, aceste alarme pot fi setate să sune doar în anumite zile ale săptămânii. Acest lucru este convenabil, de exemplu, dacă nu doriți ca ceasul deșteptător să vă trezească în weekend. Sau, de exemplu, trebuie să te trezești în zilele lucrătoare la 7-00, iar joi la 8-00, iar în weekend nu ai nevoie de ceas cu alarmă. Apoi setăm unul reutilizabil la 7-00 luni-miercuri și vineri, iar al doilea la 8-00 joi... .. În plus, toate ceasurile deșteptătoare au o setare a duratei semnalului, iar dacă nu aveți suficient semnal pentru 1 minut pentru a se trezi, apoi îl puteți crește pentru un timp de la 1 la 15 minute.

Corectarea cursului se face o dată pe zi, la 00-00. Dacă ceasul este mai rapid, de exemplu, cu 5 secunde pe zi, atunci la 00-00-00 ora va fi setată la 23-59-55, dacă ceasul este în urmă, atunci la 00-00-00 ora va fi fi setat la 00-00-05. Pas de corectare - 0,1 sec. Corecția maximă este de 59,9 sec/zi. Cu cuarț util, este puțin probabil să fie nevoie de mai mult. Corectarea se efectuează și în modul de așteptare atunci când este alimentat de o baterie.

Puteți aplica orice matrice LED 8 * 8 LED cu un catod comun. După cum am menționat deja, am folosit GNM23881AD. Dar puteți „apela” matricea de la LED-uri individuale. Microcontrolerul AtMega16a poate fi înlocuit cu „vechiul” AtMega16 cu litera L. În acest caz, teoretic, consumul de curent de la baterie ar trebui să crească ușor. Probabil că va funcționa doar AtMega16, dar pot apărea probleme când rulează pe baterii. Dioda D1 - de preferință orice diodă Schottky. Funcționează și cu un redresor convențional, dar pentru a vă proteja de diverse erori asociate cu faptul că o parte a circuitului este alimentată de tensiune „înainte de diodă”, iar partea „după diodă” este mai bine să căutați Schottky . Tranzistorul VT1 - orice n-p-n.

Ceasul este controlat de două butoane. Numărul lor putea fi mărit la 8 bucăți, fără a mai adăuga deloc componente, cu excepția butoanelor în sine, dar am vrut să încerc să „ieși” doar cu două. Butoanele sunt denumite în mod convențional „OK” și „PAS”. Butonul „STEP” comută de obicei la următorul articol de meniu, iar butonul „OK” modifică parametrii meniului curent. Semnalul alarmei declanșate este oprit și de butoanele „OK” sau „STEP”. Apăsarea oricărui buton în timpul alarmei va dezactiva alarma. Schema de control s-a dovedit așa.

Ceas simplu pe matrice LED. Mulți radioamatori, începători și nu numai că le place să „reinventeze roata” – să-și construiască ceasul electronic. Nici această soartă nu m-a cruțat. Desigur, există o mulțime de modele de ceasuri pe internet astăzi, dar din anumite motive există doar câteva ceasuri pe matrice LED. În internetul vorbitor de limbă rusă, am găsit doar un design complet completat și descris. În același timp, matricele LED sunt acum mult mai ieftine, iar costul lor nu este mai mare, dacă nu mai mic decât cel al indicatoarelor cu șapte segmente de aceeași dimensiune. De exemplu, GNM23881AD pe care l-am folosit cu o dimensiune de 60x60mm au fost cumpărate cu 1,5u (3 indicatoare costă 4,5u), la acești bani cu greu puteți cumpăra patru unități cu șapte segmente de aceeași dimensiune. Dar informațiile care pot fi plasate pe un indicator matrice pot fi mult mai multe. Pe lângă numere, pot afișa orice litere, semne și, cu ajutorul unei linii de rulare, poate fi afișat și text.

Pe baza acestui fapt, a existat dorința de a construi un ceas pe matrice LED, dar astfel încât circuitul să nu fie mai complicat decât pe cele cu șapte segmente. De asemenea, mi-am dorit să fie suficient de funcțional și să nu fie ca celelalte. Astfel, s-a născut următoarea schemă.

Funcționalitatea ceasului este următoarea:

  • Numărătoare inversă, calendar, zi a săptămânii. (se ia în considerare anul bisect, nu se realizează trecerea la ora de vară/iarnă).
  • Păstrarea ceasului în caz de pierdere a sursei externe de alimentare (consumul este de 15mA).
  • Corectarea călătoriei + - 59,9 sec \ zi, în trepte de 0,1 sec. 9 alarme. Dintre care 3 sunt „de unică folosință”, iar 6 sunt „permanente”, reglabile individual în funcție de ziua săptămânii.
  • Durată reglabilă individual a semnalului sonor pentru fiecare alarmă (1-15 min).
  • Confirmare sonoră a apăsărilor butoanelor (este posibil să fie dezactivată).
  • Bip orar (poate fi dezactivat).
  • De la 00-00 la 08-00 semnalul nu este dat.
  • 1 sau 2 senzori de temperatura (strada si casa).
  • Ticker personalizabil care afișează toate informațiile (cu excepția orei)
  • Valoarea corecției cursei și setările „liniei glisante” sunt salvate chiar dacă energia de rezervă este pierdută.

AtMega16A a fost ales drept „inima” ceasului, datorită disponibilității, ieftinității și „picioarelor”. Am vrut să simplific circuitul cât mai mult posibil, astfel încât tot ce era posibil a fost atribuit controlerului. Drept urmare, am reușit să ne descurcăm cu doar două microcircuite, un controler și un registru TPIC6B595. Dacă TPIC6B595 nu este disponibil pentru cineva, atunci îl puteți înlocui cu 74HC595 + ULN2803. Ambele variante au fost testate. De asemenea, puteți încerca să utilizați TPIC6C595, este puțin slab, și ușor încălzit, dar în general a funcționat stabil. Timpul este numărat folosind un timp asincron - T2. Ceasul este păstrat chiar și în cazul unei pene de curent. În acest moment, cea mai mare parte a circuitului este dezactivată, iar controlerul este alimentat de o baterie, acumulator sau de la un ionistor. A fost interesant pentru mine să mă „joc” cu ionistorul, așa că l-am aplicat. Consumul de curent al ceasului în modul standby este de 15mA. Când este alimentat de un ionistor la 1F, ceasul a „durat” patru zile. Acest lucru este suficient pentru a menține cursul în timpul întreruperilor de curent. Dacă utilizați o baterie CR2032, atunci teoretic, conform calculelor, încărcarea ar trebui să fie suficientă pentru 1,5 ani. Prezența controlerului de tensiune de rețea „ascultă” prin pinul PB.3 Acest pin este intrarea inversoare a comparatorului. Tensiunea de alimentare, prin divizorul R2-R3, este alimentată la ieșirea PB.3, iar în stare normală este de aproximativ 1,5V. Dacă tensiunea externă scade sub 4,1 volți, atunci tensiunea la pinul PB.3 va deveni mai mică de 1,23 volți și va fi generată o întrerupere de la comparator și toate nodurile controlerului „inutil” sunt oprite în gestionarea întreruperilor și controlerul în sine este pus în stare de adormire. În acest mod, numai cronometrul T2 continuă să funcționeze. Când apare o sursă de alimentare externă, tensiunea de pe PB.3 va crește din nou peste 1,23 V, controlerul „văzând” acest lucru va pune toate nodurile în stare de funcționare. Dacă în loc de ionistor se folosește o baterie CR2032, atunci aceasta trebuie conectată printr-o diodă (de preferință o diodă Schottky). Anodul diodei este conectat la + baterii, iar catodul la catodul VD1. În modul normal, ecranul afișează ora în format oră-minut. Cu un interval de un minut se lansează linia de alergare. Linia de rulare afișează ziua săptămânii, data, anul, temperatura. acasă, și temp. pe strada. Linia de rulare este personalizabilă, adică Puteți activa/dezactiva afișarea oricăruia dintre elemente. (De exemplu, opresc întotdeauna afișajul anului). Când toate elementele sunt dezactivate, linia târâtoare nu pornește, iar ceasul afișează în mod constant ora curentă. Cele 9 alarme sunt împărțite în 3 de unică folosință și 6 reutilizabile. Când activați alarmele 1-3, acestea funcționează o singură dată. Pentru ca acestea să funcționeze din nou, trebuie să fie reactivate manual. Și ceasurile deșteptătoare 4-9 sunt reutilizabile, adică. vor lucra zilnic, la ora stabilită. În plus, aceste alarme pot fi setate să sune doar în anumite zile ale săptămânii. Acest lucru este convenabil, de exemplu, dacă nu doriți ca ceasul deșteptător să vă trezească în weekend. Sau, de exemplu, trebuie să te trezești în zilele lucrătoare la 7-00, iar joi la 8-00, iar în weekend nu ai nevoie de ceas cu alarmă. Apoi setăm unul reutilizabil la 7-00 luni-miercuri și vineri, iar al doilea la 8-00 joi... .. În plus, toate ceasurile deșteptătoare au o setare a duratei semnalului, iar dacă nu aveți suficient semnal pentru 1 minut pentru a se trezi, apoi îl puteți crește pentru un timp de la 1 la 15 minute. Corectarea cursului se face o dată pe zi, la 00-00. Dacă ceasul este mai rapid, de exemplu, cu 5 secunde pe zi, atunci la 00-00-00 ora va fi setată la 23-59-55, dacă ceasul este în urmă, atunci la 00-00-00 ora va fi fi setat la 00-00-05. Pas de corectare - 0,1 sec. Corecția maximă este de 59,9 sec/zi. Cu cuarț util, este puțin probabil să fie nevoie de mai mult. Corectarea se efectuează și în modul de așteptare atunci când este alimentat de o baterie. Matricele de LED-uri pot folosi orice LED-uri cu catod comun 8*8. După cum sa indicat deja, am folosit GNM23881AD. În principiu, puteți „apela” o matrice din LED-uri individuale. Microcontrolerul AtMega16a poate fi înlocuit cu „vechiul” AtMega16 cu litera L. În acest caz, teoretic, consumul de curent de la baterie ar trebui să crească ușor. Probabil că va funcționa doar AtMega16, dar pot apărea probleme când rulează pe baterii. Dioda D1 - de preferință orice diodă Schottky. Funcționează și cu un redresor convențional, dar pentru a vă proteja de diverse erori asociate cu faptul că o parte a circuitului este alimentată de tensiune „înainte de diodă”, iar partea „după diodă” este mai bine să căutați Schottky . Tranzistorul VT1 - orice n-p-n. Ceasul este controlat de două butoane. Numărul lor putea fi mărit la 8 bucăți, fără a mai adăuga deloc componente, cu excepția butoanelor în sine, dar am vrut să încerc să „ieși” doar cu două. Butoanele sunt denumite în mod convențional „OK” și „PAS”. Butonul „STEP” comută de obicei la următorul articol de meniu, iar butonul „OK” modifică parametrii meniului curent. Semnalul alarmei declanșate este oprit și de butoanele „OK” sau „STEP”. Apăsarea oricărui buton în timpul alarmei va dezactiva alarma. Schema de control s-a dovedit astfel:

Video cum funcționează!