Dvokanalni termometar, sat na ATmega8, DS18B20, DS1307, LCD1602. Sat na Atmega8 i sedmosegmentni indikator Uradi sam sat na atmega8

Ovaj članak opisuje dizajn digitalnog sati na Attmega8 mikrokontroleru, koji su opremljeni štopericom, budilnikom i tajmerom. Sat ima funkciju prikaza dana i datuma sa mogućnošću kombinovanog prikaza datuma i vremena. Postoji automatsko prebacivanje između ljetnog i zimskog računanja vremena, kao i računanje prijestupne godine.

Zaslon je izgrađen na šest 7-segmentnih LED indikatora sa podešavanjem svjetline. Sat je takođe opremljen rezervnom baterijom.

Opis dizajna sata mikrokontrolera

Kao što je već spomenuto, sat ima šestocifreni displej, koji se sastoji od dva trocifrena T-5631BUY-11 displeja, koji rade u multipleks modu. Indikatorske anode su grupisane po kategorijama i prebacuju se pomoću tranzistora T1...T6.

Katode su grupisane u segmente i napajaju se direktno iz mikrokontrolera IO1 Attmega8. Frekvencija multipleksiranja je 100Hz.

Satom upravlja niskofrekventni kvarcni kristal X1 sa frekvencijom od 32768 Hz. Aktiviranjem CKOPT bita, koji omogućava upotrebu unutrašnjih kondenzatora od 36pF za kvarc, nema potrebe za korištenjem eksternih kondenzatora.

Ako imate problema s pokretanjem generatora, možete pokušati spojiti 2 kondenzatora od 22pf. Za još veću tačnost sata možete potpuno isključiti unutrašnje kondenzatore (resetovati CKOPT bit) i ostaviti samo eksterne.

Piezo emiter REP1 emituje zvuk alarma i signalizira kraj tajmera. Tokom zvučnog signala, na pinu 16 (port PB2) pojavljuje se logika 1. Ovaj signal se može koristiti za kontrolu bilo kojeg opterećenja.

Satom se upravlja pomoću tri dugmeta - minuta, sati i mod. Tasteri su povezani preko otpornika koji štite portove Attmega8 mikrokontrolera. Kolo se napaja iz izvora od 5 volti (7805). Trenutna potrošnja uglavnom zavisi od broja aktivnih indikatora, kao i od stepena podešavanja osvetljenosti.

Pri maksimalnoj svjetlini, potrošnja struje dostiže 60 mA. Sat je opremljen rezervnom baterijom. Dok radi na bateriju, sat ulazi u ekonomičan način rada u kojem je ekran isključen. Takođe u ovom režimu, tasteri nisu aktivni, osim kada je potrebno isključiti zvučni signal.

Rezervni napon je od 3 do 4,5 V. To može biti jedna baterija od 3 V, tri NiMH ili NiCd baterije od 1,2 V ili jedna Li-Pol ili Li-Ion baterija (3,6 do 3,7 V). Potrošnja struje iz 3V baterije je samo 5...12mA. Vijek trajanja baterije sata u ekonomičnom načinu rada sa 3V CR2032 baterijom standardnog kapaciteta 200mAh bi teoretski trebao biti dovoljan za oko 2,5 - 3 godine.

Softver za mikrokontroler nalazi se na kraju članka. Konfiguracijski bitovi moraju biti postavljeni na sljedeći način:

Upravljanje satom

Satom se upravlja pomoću TL1-minuta, sata-TL2 i TL3-režima. Dugmad sata i minuta se koriste u režimu sata za dodeljivanje sati i minuta. U drugim režimima imaju različite funkcije. Dugme za mod se prebacuje između različitih načina rada, kojih ima ukupno 8:

Režim 1 - Sat

U ovom režimu, displej prikazuje trenutno vreme u formatu “HH.MM.SS”. Dugme sata se koristi za podešavanje sata. Dugme za minute za postavljanje minuta. Kada se pritisne, sekunde se resetuju.

Režim 2 - Omogućavanje ljetnog računanja vremena i podešavanje godine

Ovdje možete uključiti ili isključiti automatsko prebacivanje između ljetnog i zimskog računanja vremena i postaviti godinu. Podaci su u sljedećem formatu “AC ‘RR” (AC – automatsko vrijeme, prostor, posljednje dvije cifre godine).

Režim 3 - Tajmer za odbrojavanje

Ovaj način vam omogućava da organizirate odbrojavanje od zadane vrijednosti do nule. Nakon što ovo vrijeme protekne, oglasit će se zvučni signal i LED1 će zasvijetliti. Zvučni signal se može zaustaviti pritiskom na tipku Mode. Podaci su u sljedećem formatu: "HH.MM.SS". Maksimalna moguća vrijednost je 99.59.59 (skoro 100 sati).

Režim 4 – Kombinovani izlaz informacija

U ovom načinu rada naizmjenično se prikazuje sljedeće:

  1. trenutno vrijeme u formatu "HH.MM.SS"
  2. datum u formatu “AA.DD.MM.”

Svaki format se prikazuje 1 sekundu. U ovom režimu, dugmad Sati i Minute se koriste za podešavanje svetline ekrana (Sati-, Minute+). Svjetlina se mijenja logaritamski u 6 koraka: 1/1, 1/2, 1/4, 1/8, 1/16 i 1/32. Zadana vrijednost je 1/2

Režim 5 - Podešavanje dana u nedelji i režima alarma

U ovom modu možete podesiti dan u sedmici - od ponedjeljka do nedjelje (prikazuje se kao pon, uto, sri, čet, pet, sub, ned), uključiti alarm i odabrati način rada. Podaci su u sljedećem formatu: “AA AL._” (dan u sedmici, razmak, AL., postavka alarma).

Dugme sata postavlja dan u sedmici. Dugme minuta se koristi za uključivanje/isključivanje zvuka alarma i odabir njegovog načina rada: “AL._” = alarm nije aktivan, “AL.1” = alarm se oglasi 1 put (onda se automatski prebacuje na “AL._” pozicija), “ AL.5" = alarm se oglašava samo radnim danima (pon-pet, osim subote-ned), "AL.7" = alarm zvoni svaki dan

Režim 6 – Podešavanje dana u nedelji i datuma

Dugme sata vam omogućava da podesite dan u mjesecu. Dugme minuta vam omogućava da podesite mjesec.

Mod 7 - Štoperica

Štoperica vam omogućava da merite vreme sa tačnošću od 0,1 sekunde. Maksimalno vrijeme mjerenja je 9.59.59.9 (skoro 10 sati). Podaci su u sljedećem formatu "H.MM.SS.X". Dugme minuta se koristi za pokretanje i zaustavljanje štoperice. Dugme sata se koristi za resetovanje.

Režim 8 - Budilnik

Ovaj režim se koristi za prikaz i podešavanje vremena alarma (ALARM). Podaci su u sljedećem formatu "HH.MM.AL". Dugme Minute postavlja minute alarma, dugme Sat postavlja sat alarma.

Ispod je dijagram sličnog sata koji ima indikator sa zajedničkom katodom

(preuzimanja: 811)

Ovaj elektronski sat, izgrađen na Atmega8 mikrokontroleru, opremljen je LED ekranom koji se lako čita, budilnikom sa funkcijom odgode i funkcijom oporavka napajanja.

Specifikacije sata

  • format prikaza vremena: sati, minute;
  • budilnik sa funkcijom odgode;
  • jednostavna kontrola pomoću 2 dugmeta;
  • Podrška za rad baterije;
  • napon napajanja: 7…12V / 0,2 A;
  • dimenzije dve štampane ploče: 60×21 mm, 58×44 mm.

Šematski dijagram sata prikazan je na donjoj slici. Kolo sata mora biti napajano konstantnim naponom u rasponu od 7...12V. To može biti bilo koji sa strujnim opterećenjem od najmanje 200 mA.

Na CON5 konektor ploče može se spojiti zujalica sa generatorom, koja će djelovati kao alarmni signal. Tasteri su povezani sa terminalima SA1 i SA2 štampane ploče, koji služe za unos podešavanja i upravljanje satom.

Podešavanje vremena i alarma

Kada pritisnete dugme SA1, dolazimo do menija sata “Set1” gde imamo mogućnost podešavanja trenutnog vremena, a još jedan kratak pritisak na dugme SA1 vodi nas u meni za podešavanje vremena alarma “Set2”.

Za odabir i promjenu postavki koristite dugme SA2. Nakon odabira i u modu podešavanja vremena iu modu podešavanja alarma, prva cifra će početi da treperi na displeju, nakon čega možete podesiti desetine sati pomoću dugmeta SA2.

Ponovnim pritiskom na SA1 druga cifra će treperiti, a pomoću SA2 možete podesiti jedinice sata. Sljedeća dva pritiska na SA1 će vam omogućiti da postavite desetine minuta i jedinice minuta. Prilikom postavljanja sati i minuta uvijek se postavlja samo jedna cifra. Pritiskom na SA1 peti put se sat vraća u normalan rad. Također, dug vremenski period bez pritiskanja bilo kojeg gumba će prekinuti instalacijske procedure.

Dok sat radi, dugim pritiskom na dugme SA2 se alarm uključuje/isključuje. Kada je alarm aktiviran, vrijeme početka se prikazuje na nekoliko sekundi. Status alarma je označen tačkom koja se nalazi u četvrtoj cifri. Kada je alarm aktivan, ovaj indikator svijetli.

Nakon uključivanja alarma, možete pritisnuti bilo koje dugme da ga isključite na oko 5 minuta, a funkcija odgode će se aktivirati. Na ovu činjenicu ukazuje trepćuća tačka na četvrtoj cifri indikatora. Nakon 5 minuta, alarm će se ponovo oglasiti. Ponovnim pritiskom na bilo koje dugme može se odgoditi za još 5 minuta, itd.

Alarmni signal se potpuno isključuje nakon dugog pritiska na tipku SA2, odnosno oko minut i pol izostanka reakcije korisnika.

Rad sata je testiran u Proteusu:

Ako se tijekom rada sata ispostavi da sat značajno zaostaje ili u žurbi, možete pokušati smanjiti ili povećati vrijednost kondenzatora C1.

(34,7 Kb, preuzimanja: 1.923)

  • 10 alarma za svaki dan u sedmici.
  • Kašnjenje signala, ako se alarm ne isključi, gasi se nakon otprilike 5 minuta.
  • 8 budilnika na zasebnoj MK nozi, uključeno/isključeno opterećenje.
  • Dva temperaturna senzora DS18B20 (kod kuće i na otvorenom).
  • Tajmer 99 sati.
  • Svjetlina indikatora je podesiva za dan i noć.
  • Varijabilni parametar glatko mijenja svjetlinu, kao u Caller ID-u.
  • Kada se izgubi 220 volti, potrošnja baterije je 40 mikroampera.
  • Alarm se isključuje u bilo kojem režimu napajanja.
  • Sat može prikazati do 4 moda uzastopno.

Sat ima mogućnost uzastopnog prikaza 4 moda, za koje možete odabrati jedan od deset formata prikaza i vrijeme njegovog prikaza.

Formati prikaza.
0
1

Sati-minuti-sekunde.

2

Sati i minute.

3

Sati-minuti, dan u nedelji.

4

Dan_u_mjesecu_dan u sedmici.

5
6
7
8
9
A

b

Senzor temperature 1, senzor temperature 2.

Dugme F - izlaz iz moda. Izbor od 3 glavna načina rada.
Dugme SET - ulazi u odabrani način rada. Zatim prijeđite na sljedeći parametar (treperi polje).
Dugme PLUS - plus/uključeno. U režimu SETUP, skrolujte kroz glavne menije.
Dugme MINUS - minus/__(isključeno). U režimu SETUP, skrolujte kroz glavne menije.

Svi režimi, osim nulte i tajmer režima, imaju vremenski prekid. Ako nema pritiska duže od 30 sekundi, režim se postavlja na nulu.

Način rada POZIVI

on/__-alarm on/off.
Dani u sedmici kada će se alarm oglasiti (ovdje je 6. i 7. dana alarm isključen).
Alarmi A B C D E F G H uključeno/isključeno zaključak pozovi a_h mk. Budilnik je koristan za upravljanje opterećenjem. Koristeći ga, izlaz pozovi a_h može se podesiti na bilo koji broj minuta.
___-off, SET-noga pupoljak. A-H usta na 1, CLS usta na 0.
n-radiće jednom, o-on. Uvijek.

SETUP mod.
Da biste upisali vrijednosti u EEPROM, potrebno je da potvrdite sve vrijednosti u podmodu pritiskom na SET.
primjer: SVJETLO ->SET-> L.ooooo ->SET-> NO4ʹ L.2 ->SET-> SVJETLO.

PORT mod.

Način rada sata.

Postavite način rada SEE.

Formati prikaza.
0

Datum, Dan u sedmici, Sati-minuti.

1

Sati-minuti-sekunde.

2

Sati i minute.

3

Sati-minuti, dan u nedelji.

4

Dan_u_mjesecu_dan u sedmici.

5

Senzor temperature 1, senzor temperature 2.

6

Senzor temperature 1 (kućni senzor).

7

Senzor temperature 2 (spoljni senzor).

8

Senzor temperature 1, sati-minute.

9

Senzor temperature 2, sati-minute.

A

Senzor temperature 1, senzor temperature 2.

b

Senzor temperature 1, senzor temperature 2.

U režimima u kojima desetine stepeni nisu naznačene, tačka određuje više od 0,5 stepeni.


Mode USt Bud. Postavke alarma.

Bip alarmni signal - PWM.
Pin alarmni signal - usta u 1 izlazni pupoljak.
Oba Podmetač i izlaz.
Kašnjenje signala.
Kada je isključeno Prilikom odlaganja, budilnik se isključuje pritiskom na bilo koji taster.
Kada je uključen alarm se ugasi dugme F, kada pritisnete tastere SET PLUS MINUS, signal se isključuje, ali će ponovo raditi nakon oko 5 minuta, ako se budilnik ne isključi, onda se nakon 8 puta gasi. automatski.
Kada je odgoda signala aktivna, u nultom modu, tačka zadnje cifre treperi.
Isključite kašnjenje (ako nema signala). U modu 0, pritiskom na SET. ovaj način rada. Prisustvo aktivnog kašnjenja izaziva simbol O na 4. mjestu poznanstva. Pritiskom na PLUS MINUS isključuje se odgoda.

DS18B20 način rada.

DEFAULT mod.

Drugi načini rada (SETUP).
LIGHTL ooooo - dnevna svjetlina indikatora.
NOĆ L2 - osvjetljenje od 23-00 do 6-00.
SIGNAL Nakon ulaska u način rada, koristite dugmad plus/minus za odabir:
probudi se S ili dugme. S
odnosno PWM frekvenciju za budilnik i dugmad.
Prilikom ulaska u ove podmode na indikatoru:
H004.L000.
Frekvencija se generiše u brzom PWM režimu (CTC režim). Gornji prag je postavljen registrom OCR1A1. H004-visoki bajt L000 niži bajt.
Da biste isključili signal pritiskom na dugmad, postavite H000 L000.
Ako je PIN opcija odabrana u režimu alarma, neće biti izlaz PWM signala za budilnik.

Radnje u nultom modu.

F - izbor načina rada.
SET - način otkazivanja odgode signala
PLUS - Postavite način rada SEE.
MINUS - postavljanje alarma.

Ako podesite budilnik da uključuje izlaz, možete koristiti čip sa muzičke kartice.

Program je napisan u C u WinAvru.
Preuzmite izvorne, HEX i EEP datoteke. clock_t.rar (18 Kb)

Kada flešujete mikrokontroler, postavite bite CKSEL3..0 na 0011 (interni RC generator 4 Meg). Programirajte CKOPT bit (veza internih kondenzatora). Zatim flešujte EEPROM, ili resetujte glavne varijable u programu na ovaj način - SETUP -> DEFAULT -> SET.

Šema električnog kola

Jedan uređaj kombinuje dve funkcije: stvarno merenje temperature i vremena (sat). Prikaz se izvodi naizmjenično, mijenjajući se svakih deset sekundi. Za podešavanje sata koriste se dva gumba, slično jednostavnom kineskom elektronskom satu: jedan je odgovoran za odabir parametra, drugi za njegovu promjenu. Uređaj se napaja iz mreže pomoću konstantnog stabilizovanog izvora struje od pet volti (ploča sa punjača telefona).

Senzor temperature je DS18B20 čip. Budući da uređaj sa satom-termometar nema vlastitu bateriju, ako se izgubi napajanje, očitanja će se prirodno izgubiti. A kako to ne bi uzrokovalo da osoba kasni za vitalne stvari, postoji zanimljiv "trik" - kada se uključi napajanje, na displeju će se prikazivati ​​crtice umjesto vremena dok ne pritisnete jedno od dva dugmeta za podešavanje.

Tijelo domaćeg mjerača temperature bilo je prikladna kutija za manžete. U nju je postavljena sama ploča sa satom-termometrom i ploča izvađena iz punjača telefona. Senzor DS18B20 je napravljen daljinski i povezuje se preko konektora.

Spisak potrebnih delova

  • Atmega8 mikrokontroler - 1 kom.
  • Kvarc 32768 Hz - 1 kom.
  • Senzor temperature DS18B20 - 1 kom.
  • Indikator sa sedam segmenata (4 cifre) - 1 kom.
  • SMD otpornici veličine 0805:
  • 620 Ohm - 8 kom.
  • 0 Ohm (džamper) - 1 kom.
  • 4,7 kOhm - 1 kom.
  • Dugmad za takt - 2 kom.

Video snimak uređaja na YouTube kanalu


- alarm.
– termometar.

1. Funkcije.

– indikacija. Alternativni.

PLUSODUZETI

2. Podešavanje.

2.2. Pritiskom na dugmeMENISET

Grupa CLOC:

– minuta;

- sat;

PLUS ili ODUZETI);

With".

Grupa ALAr:

OnISKLJUČENO" ako je onemogućen;

Grupa diSP:

tc

tt

EF, Ar

P

Grupa LiGH:

A", kod mlađih" OnOF

L_ ".

L¯ ".

L".

2.4. Držanjem dugmadiPLUS/ ODUZETI

3. Bilješke.

predmet .

Video o radu programa t korisnikwolf2000.

– sat sa digitalnom korekcijom tačnosti.
- alarm.
– termometar.
– indikacija na indikatoru od sedam segmenata.
– automatsko podešavanje svjetline indikatora.

1. Funkcije.

– sat, format prikaza vremena 24 sata, sati:minuti.

– digitalna korekcija tačnosti. Dnevna korekcija je moguća ±25 sec. Postavljena vrijednost od 1 sat 0 minuta 30 sekundi će se dodati/oduzeti od trenutnog vremena.

- alarm. U određeno vrijeme čuju se kratki dvostruki signali u trajanju od jedne minute. Zvuk možete isključiti prije planiranog vremena pritiskom na bilo koji od gumba. Kada je budilnik uključen, tačka se prikazuje u najmanje značajnoj cifri kada je prikazano vreme.

– termometar. Opseg mjerene temperature je -55,0 ÷ 125,0 o C. Ako je temperatura iznad 99,9 ili ispod -9,9 o C, desetinke stepena se ne prikazuju.

– indikacija. Alternativni.

– prilagodljiva animacija mijenjanja očitanja.

– korištenje nepromjenjive memorije mikrokontrolera za čuvanje postavki kada je napajanje isključeno.

– ako u glavnom režimu pritisnete dugmePLUS, tada se vrijeme prikazuje na indikatorima ako kliknete naODUZETI- temperatura. Kada se otpuste dugmad, nastavlja se automatska promena očitavanja.

– automatsko podešavanje svjetline indikatora ovisno o osvjetljenju.

2. Podešavanje.

2.1. Kada je napajanje uključeno, sat je u glavnom načinu rada.

2.2. Pritiskom na dugmeMENIulazi u režim podešavanja i bira grupu parametara za instalaciju. Unutar grupe odabire se parametar koji se postavlja pomoću tipkeSET. Dostupni za ugradnju redom:

Grupa CLOC:

– minuta;

- sat;

– sekundi (resetujte na nulu kada pritisnete dugmadPLUS ili ODUZETI);

– vrijednost korekcije. U najznačajnijoj cifri simbol " With".

Grupa ALAr:

– aktiviranje budilnika. Na indikatoru "On"ako je budilnik uključen,"ISKLJUČENO" ako je onemogućen;

– minuta kada se alarm oglasi;

– vrijeme budilnika.

Grupa diSP:

– vrijeme indikacije trenutnog vremena. U najvišim ciframa simboli "tc". Raspon podešavanja 0÷99 sek. Ako je postavljeno na 0, vrijeme neće biti prikazano;

– vrijeme indikacije temperature. U najvišim ciframa simboli "tt". Raspon podešavanja 0÷99 sek. Ako je postavljeno na 0, temperatura se neće prikazati;

– izbor efekta animacije. U najvišim ciframa simboli "EF". Ako je postavljeno na 0, promjene informacija će se izvršiti bez efekata, ako je odabran automatski način rada (simbol " A"), tada će se efekti mijenjati jedan po jedan. Ako je odabran način radar, onda će se efekti nasumično mijenjati.

– odaberite brzinu animacije. U najznačajnijoj cifri simbol "P". Opseg podešavanja je 0÷99. Jedna jedinica odgovara približno 2 ms, što je veća vrijednost, to je animacija sporija.

Grupa LiGH:

– omogućiti automatsku kontrolu svjetline indikatora. U najznačajnijoj cifri simbol "A", kod mlađih" On"ako je automatska regulacija omogućena,"OF" ako je svjetlina podešena ručno;

– minimalni prag svjetline za automatski način rada. U najvišim ciframa simboli "L_ ".

– prag maksimalne svjetline za automatski način rada. U najvišim ciframa simboli "L¯ ".

– nivo osvetljenosti u ručnom režimu. U najvišim ciframa simboli "L".

2.3. Parametar koji se postavlja treperi.

2.4. Držanjem dugmadiPLUS/ ODUZETIparametar se brzo postavlja.

3. Bilješke.

1. Za minimalni i maksimalni prag svjetline, raspon podešavanja je 0 ÷ 99, ali program uvodi ograničenja: minimum ne može biti veći ili jednak maksimumu i obrnuto.

2. Prilikom postavljanja parametara svjetline, informacije na indikatoru se prikazuju sa odabranom vrijednošću svjetline.

3. Potrebno je uporediti brzinu animacije i vrijeme prikazivanja informacija. Ako se izabere spora animacija i kratko vrijeme prikaza, može se ispostaviti da informacije nemaju vremena da se potpuno ažuriraju prije sljedeće smjene.

Stvorena je tema za diskusiju o materijalima u ovom članku.

Video o radu programa t korisnikwolf2000.

mob_info