Realizacija digitalnog sata sa kalendarom i termomertrom je moguća korišćenjem Microchip PIC16F628 mikrokontrolera i DS18S20 i DS18B20 Maxim IC temperaturnog senzora. Hardver je prilično jednostavan pošto sadrži samo PIC mikrokontroler, DS18S20/DS18B20 senzor, 4×7 segmentni LED displej sa zajedničkom anodom, četiri 2N3906 tranzistora i nekoliko otpornika.
Princip rada
Kada se uređaj uključi prvi put, sat se održava 8 sekundi, zatim datum 2 sekunde i na kraju se temperatura pokazuje u trajanju od 3 sekunde. Sat ima četiri tastera, pri čemu se jednim određuje režim rada, drugim se uvećavaju vrednosti, treći služi za smanjivanje vrednosti i na kraju dolazi reset. Ako ne želite taster za resetovanje samo povežite pin na +5V. Ono što se može podešavati je:
- ho -> – čas, od 0 do 23,
- nn -> – minuti, od 00 do 59,
- dd -> – dan datuma, od 1 do dani/mesec, u zavisnosti od meseca i godine,
- dn -> – mesec datuma, (JA FE |¯|A AP |¯|Y JU JL AU SE oc i dE ili 01 02 03 04 05 06 07 08 09 10 11 12, u zavisnosti od dt podešavanja),
- dy -> – godina datuma, od 00 koje se odnosi na 2000. do 99 koja se odnosi na 2099,
- dt -> – tip podataka, može biti 1 ili 2, za 1 se za označavanje meseci koriste slova a za dt tip 2 se koriste brojevi,
- tt -> – vreme u sekundama, za prkazivanje vreme/sat, od 2 do 99,
- td -> – vreme u sekundama za prikazivanje datuma, od 0 do 99, pri čemu se za vrednost 0 datum ne prikazuje,
- tE -> – vreme u sekundama za prikazivanje temperature, od 0 do 99, pri čemu se za vrednost 0 temperatura ne prikazuje,
- Sh -> – kalibracija sata podešavanjem sekundi naviše (vidi ispod),
- Sl -> – kalibracija sata podešavanjem sekundi naniže (vidi ispod).
Prilikom podešavanja dana treba obratiti pažnju na dati mesec, pošto se npr. za februar ne može postaviti dan na 31.
Kalibracija sata
Kalibracija se može izvršiti korišćenjem softvera. To je korisno ukoliko tokom vremena sekunde kasne ili rastu, što se dešava iz više razloga. Zato je ideja da sekunde traju duže ili kraće. Međutim, jedna sekunda traje 1 000 000 mikro sekundi, što je dosta velik broj, a displej pokazuje samo 4 cifre. Zato se ovaj broj može predstaviti u heksadecimalnom obliku kao 0F4240. Kalibracija bi ovde značila podešavanje oko 1 000 000, tako da se 0F ispušta, to se ne može podesiti, ali podešavamo 42 (Sh) i 40 (SI) od 00 do FF. Stoga su mogućnosti podešavanja sekundi velike. Evo i primera:
-> Gubitak od 30 sekundi / 24 časa => 30/86400=0.000347
1000000-(1000000*0.000347)=999653(dekadno)=F40E5(heksadekadno)
=> Podesiti 40 za Sh i E5 za Sl.
-> Gubitak od 2 sekunde / 1 čas => 2/3600=0.000555
1000000 -(1000000*0.000555)=999445 (dekadno)=F4015(heksadekadno)
=> Podesiti 40 za Sh i 15 za Sl.
-> Povećanje od 15 sekundi / 60 dana => 15/5184000=0.000002
1000000+(1000000*0.000555)=1000002(dekadno)=F4242(ksadekadno)
=> Podesiti 42 za Sh i 42 za Sl.
Što se duži vremenski period testira, potiže se veća preciznost sata.
Kalibracija – druga varijanta
Drugi način kalibracije podrazumeva podešavanje Sh i Si kao kod prethodnog. Prvo moraju biti poznate dve vrednosti: prva, kada sat radi brže i druga kada radi sporije. Recimo da su dve vrednosti: 999840 (sat radi brže tj. FAST) i 999884 (sat kasni tj. SLOW). Podešavanje sekundi se ovde vrši sve dok ne bude FAST = SLOW(+/-1). Na ovaj način se potiže velika preciznost sata.
Sve detalje oko izgleda uređaja, ASM source koda, izgleda pločice i simulacije možete preuzeti ovde.
Kupio sam digitalni sat, ali neznam ppdestiti da uvijek svijetle 4 lampice sa strane.
Kako da postavim digitalni sat da uvijek svijetle 4 lampice sa strane