Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Orë bëjeni vetë në tregues LED. Ora në mikrokontrollues AVR me DS1307

Siç nënkupton edhe emri, qëllimi kryesor i kësaj pajisjeje është të zbulojë kohën dhe datën aktuale. Por ka shumë veçori të tjera të dobishme. Ideja e krijimit të saj u shfaq pasi hasa në një orë gjysmë të thyer me një kuti metalike relativisht të madhe (për dore). Mendova se aty mund të fusja një orë të bërë në shtëpi, mundësitë e së cilës janë të kufizuara vetëm nga imagjinata dhe aftësia ime. Si rezultat, u shfaq një pajisje me funksionet e mëposhtme:

1. Ora - kalendar:

    Numërimi mbrapsht dhe shfaqja në treguesin e orëve, minutave, sekondave, ditës së javës, ditës, muajit, vitit.

    Disponueshmëria e korrigjimit automatik të kohës aktuale, e cila kryhet çdo orë (vlerat maksimale +/- 9999 njësi, 1 njësi = 3,90625 ms.)

    Llogaritja e ditës së javës sipas datës (për shekullin aktual)

    Kalimi automatik në orën verore dhe dimërore (i ndërrueshëm)

  • Vitet e brishtë merren parasysh

2. Dy alarme të pavarura (tingëllon një melodi kur aktivizohet)
3. Kohëmatësi me diskretitet 1 sek. (Koha maksimale e numërimit mbrapsht 99h 59m 59s)
4. Një kronometër me dy kanale me shpejtësi numërimi 0,01 sek. (koha maksimale e numërimit 99h 59m 59s)
5. Kronometër me shpejtësi numërimi 1 sekondë. (Koha maksimale e numërimit 99 ditë)
6. Termometri në intervalin -5 ° С. deri në 55 ° С (i kufizuar nga diapazoni i temperaturës së funksionimit normal të pajisjes) në rritje prej 0,1 ° С.
7. Lexues dhe emulator i çelësave elektronikë - tableta të tipit DS1990 duke përdorur protokollin Dallas 1-Wire (memorie për 50 copë, në të cilat tashmë ka disa "çelësat e të gjithë terrenit") universal me aftësinë për të parë bajtin e kodit të çelësit .
8. Telekomanda IR (është zbatuar vetëm komanda "Bëni një foto") për kamerat dixhitale "Pentax", "Nikon", "Canon"
9. Elektrik dore LED
10.7 melodi
11. Sinjali zanor në fillim të çdo ore (i ndërrueshëm)
12. Konfirmimi i zërit i shtypjes së butonave (i ndërrueshëm)
13. Monitorimi i tensionit të baterisë me funksion kalibrimi
14. Rregullimi dixhital i ndriçimit të treguesit

Ndoshta ky funksionalitet është i tepërt, por mua më pëlqejnë gjërat universale, mirë, plus kënaqësinë morale që kjo orë do të bëhet me dorë.

Diagrami skematik i orës

Pajisja bazohet në mikrokontrolluesin ATmega168PA-AU. Ora po kalon sipas kohëmatësit T2, i cili funksionon në modalitetin asinkron nga kuarci i orës në 32768 Hz. Mikrokontrolluesi është pothuajse gjatë gjithë kohës në modalitetin e fjetjes (treguesi është i fikur), zgjohet një herë në sekondë për të shtuar këtë sekondë në kohën aktuale dhe bie sërish në gjumë. Në modalitetin aktiv, MC është akorduar nga oshilatori i brendshëm RC në 8 MHz, por parashkallëzuesi i brendshëm e ndan atë me 2, si rezultat, bërthama është e fiksuar nga 4 MHz. Për tregues, përdoren katër tregues LED dixhital me shtatë segmente njëshifrore me një anodë të përbashkët dhe një pikë dhjetore. Ekzistojnë gjithashtu 7 LED të statusit, qëllimi i të cilave është si më poshtë:
D1- Shenja e vlerës negative (minus)
D2- Shenja e një kronometër që funksionon (duke ndezur)
D3- Shenja e orës së parë të alarmit të përfshirë
D4- Shenja e orës së dytë të alarmit të përfshirë
D5- Shenja e sinjalizimit zanor në fillim të çdo ore
D6- Shenja e një kohëmatësi që funksionon (duke pulsuar)
D7- Shenja e tensionit të ulët të baterisë

R1-R8 - rezistorë kufizues të rrymës së segmenteve të treguesve dixhitalë HG1-HG4 dhe LED D1-D7. R12, R13 - ndarës për kontrollin e tensionit të baterisë. Meqenëse voltazhi i furnizimit të orës është 3 V, dhe LED i bardhë D9 ka nevojë për rreth 3.4-3.8 V në konsumin e vlerësuar të rrymës, ai nuk shkëlqen me fuqi të plotë (por mjafton të mos pengoheni në errësirë) dhe për këtë arsye lidhet pa rezistenca kufizuese e rrymës. Elementet R14, Q1, R10 janë krijuar për të kontrolluar LED infra të kuqe D8 (zbatimi i telekomandës për kamerat dixhitale). R19, Kontrolli kryhet nga tre butona, të cilët i kam quajtur me kusht: MODE (mode), LARTË (lart), DOWN (poshtë). E para prej tyre është krijuar gjithashtu për të zgjuar MC nga një ndërprerje e jashtme (ndërsa treguesi ndizet), kështu që lidhet veçmas me hyrjen PD3. Shtypja e pjesës tjetër të butonave përcaktohet duke përdorur ADC dhe rezistorët R16, R18. Nëse butonat nuk shtypen brenda 16 sekondave, atëherë MK bie në gjumë dhe treguesi fiket. Kur është në modalitet "Telekomanda për kamera" ky interval është 32 sekonda dhe me elektrik dore të ndezur 1 minutë. Gjithashtu MK mund të vihet në gjumë manualisht duke përdorur butonat e kontrollit. Kur kronometri funksionon me një shpejtësi numërimi prej 0,01 sek. pajisja nuk hyn në modalitetin e fjetjes.

Pllaka e qarkut të printuar

Pajisja është montuar në një tabelë qarku të printuar në formë të rrumbullakët të dyanshme për t'iu përshtatur diametrit të brendshëm të një kutie ore dore. Por në prodhim kam përdorur dy dërrasa të njëanshme me trashësi 0.35 mm. Kjo trashësi u përftua përsëri duke e qëruar nga një tekstil me fije qelqi të dyanshme me trashësi 1,5 mm. Pastaj ngjiti dërrasat. E gjithë kjo u bë sepse nuk kisha një tekstil me fije qelqi të hollë me dy anë, dhe çdo milimetër trashësie e kursyer në hapësirën e brendshme të kufizuar të kutisë së orës është shumë e vlefshme dhe nuk kishte nevojë ta kombinoja atë në prodhimin e përçuesve të printuar duke përdorur metodën LUT. Vizatimi i PCB-së dhe vendndodhja e pjesëve janë në skedarët e bashkangjitur. Në njërën anë ka tregues dhe rezistorë kufizues të rrymës R1-R8. Në anën e pasme - të gjitha detajet e tjera. Ka dy vrima për LED të bardha dhe infra të kuqe.

Kontaktet e butonave dhe mbajtësit të baterisë janë bërë prej fleksibël, fleksibël me elasticitet, me trashësi 0,2 ... 0,3 mm. dhe të konservuara. Më poshtë janë fotot e bordit nga të dyja anët:

Ndërtimi, pjesët dhe zëvendësimi i mundshëm i tyre

Mikrokontrolluesi ATmega168PA-AU mund të zëvendësohet me ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Treguesit dixhitalë - 4 copë KPSA02-105 ngjyrë e kuqe super e ndezur me lartësi 5.08 mm. Mund të furnizohet nga e njëjta seri KPSA02-xxx ose KCSA02-xxx. (thjesht jo jeshile - ato do të shkëlqejnë dobët) Unë nuk di për analoge të tjera të madhësive të ngjashme me shkëlqim të mirë. Në HG1, HG3, lidhja e katodës së segmenteve ndryshon nga HG2, HG4, sepse ishte më i përshtatshëm për mua të shtroja bordin e qarkut të printuar. Në këtë drejtim, një tabelë e ndryshme gjeneruese të karaktereve përdoret për ta në program. Rezistenca dhe kondensatorë të përdorur SMD për montim në sipërfaqe të madhësive standarde 0805 dhe 1206, LED D1-D7 të madhësisë standarde 0805. LED të bardha dhe infra të kuqe me diametër 3mm. Pllaka ka 13 vrima ku duhet të instaloni kërcyesit. Një DS18B20 me një ndërfaqe 1-Wire u përdor si sensor i temperaturës. LS1 është një tingull piezoelektrik konvencional që përshtatet në kapak. Me njërin kontakt lidhet me pllakën me ndihmën e një suste të instaluar në të, me tjetrin lidhet me kutinë e orës nga vetë kapaku. Rezonator kuarci nga një orë dore.

Programim, firmware, siguresa

Për programimin në qark, bordi ka vetëm 6 kunja kontakti të rrumbullakëta (J1), pasi një lidhës i plotë nuk përshtatet në lartësi. I lidha me programuesin duke përdorur një pajisje kontakti të bërë nga një prizë pin PLD2x3 dhe i bashkova me susta, duke i shtypur me njërën dorë tek pikat. Më poshtë është një foto e pajisjes.

E përdora sepse gjatë procesit të korrigjimit më duhej të rifreskoja MK-në shumë herë. Me një firmware një herë, është më e lehtë të lidhni telat e hollë të lidhur me programuesin në arna dhe më pas t'i çlidhni përsëri. Është më i përshtatshëm për të ndezur MK pa bateri, por në mënyrë që fuqia të vijë ose nga një burim i jashtëm + 3V, ose nga një programues me të njëjtin tension furnizimi. Programi është shkruar në asembler në mjedisin VMLAB 3.15. Kodet burimore, firmware për FLASH dhe EEPROM në aplikacion.

Bitët FUSE të mikrokontrolluesit DD1 duhet të programohen si më poshtë:
CKSEL3 ... 0 = 0010 - klikimi nga oshilatori i brendshëm RC 8 MHz;
SUT1 ... 0 = 10 - Koha e fillimit: 6 CK + 64 ms;
CKDIV8 = 1 - pjesëtuesi i frekuencës me 8 është i çaktivizuar;
CKOUT = 1 - Ora e daljes në CKOUT është çaktivizuar;
BODLEVEL2… 0 = 111 - kontrolli i tensionit të furnizimit është i çaktivizuar;
EESAVE = 0 - fshirja e EEPROM-it gjatë programimit të çipit është e ndaluar;
WDTON = 1 - Nuk ka aktivizim të vazhdueshëm të Watchdog Timer;
Është më mirë të mos prekni pjesën tjetër të pjesëve FUSE. FUSE – biti programohet nëse vendoset në “0”.

Kërkohet pulsimi i EEPROM me deponinë e mbyllur në arkiv.

Qelizat e para EEPROM përmbajnë parametrat fillestarë të pajisjes. Tabela e mëposhtme përshkruan qëllimin e disa prej tyre, të cilat mund të ndryshohen brenda kufijve të arsyeshëm.

Adresa e celularit

Emërimi

Parametri

shënim

Sasia e tensionit të baterisë në të cilën shfaqet një sinjal i ulët i baterisë

260 (104 dollarë) (2,6 V)

koeficienti për korrigjimin e vlerës së tensionit të matur të baterisë

intervali kohor për kalimin në modalitetin e gjumit

1 njësi = 1 sek

intervali kohor për kalimin në modalitetin e fjetjes kur elektrik dore është i ndezur

1 njësi = 1 sek

intervali kohor për kalimin në modalitetin e fjetjes kur është në modalitetin e telekomandës për kamerat

1 njësi = 1 sek

Këtu ruhen numrat kryesorë IButton.

Shpjegime të vogla për pikat:

1 pikë. Këtu tregohet vlera e tensionit në bateri, në të cilën LED do të ndizet, duke sinjalizuar vlerën e saj të ulët. E vendosa në 2.6 V (parametri - 260). Nëse keni nevojë për diçka tjetër, për shembull 2.4V, atëherë duhet të shkruani 240 (00F0 dollarë). Bajt i ulët futet në qelizë me 0000 dollarë, dhe bajt i lartë, përkatësisht, në 0001 dollarë.

2 pikë. Meqenëse nuk instalova një rezistencë të ndryshueshme në tabelë për të rregulluar saktësinë e matjes së tensionit të baterisë për shkak të mungesës së hapësirës, ​​futa kalibrimin e softuerit. Procedura e kalibrimit për matjen e saktë është si më poshtë: fillimisht, një faktor prej 1024 (400 dollarë) është shkruar në këtë qelizë EEPROM, duhet ta vendosni pajisjen në modalitetin aktiv dhe të shikoni tensionin në tregues dhe menjëherë të matni realin tension në bateri me një voltmetër. Faktori i korrigjimit (K), i cili duhet të vendoset, llogaritet me formulën: K = Uр / Ui * 1024 ku Uр është voltazhi real i matur me një voltmetër, Ui është voltazhi i matur nga vetë pajisja. Pas llogaritjes së faktorit "K", ai futet në pajisje (siç përshkruhet në udhëzimet e funksionimit). Pas kalibrimit, gabimi im nuk kaloi 3%.

3 pips Këtu mund të vendosni kohën pas së cilës pajisja kalon në modalitetin e gjumit nëse nuk shtypet asnjë buton. Më kushton 16 sekonda. Nëse duhet të bini në gjumë pas 30 sekondash, atëherë duhet të shkruani 30 (26 dollarë).

Pikat 4 dhe 5 janë të njëjta.

6 pips Adresa 0030 dollarë ruan kodin e familjes zero të çelësit (dallas 1-Wire), më pas numrin e tij 48-bit dhe CRC. Dhe kështu 50 çelësa në seri.

Cilësimi, veçoritë e punës

Vendosja e pajisjes zbret në kalibrimin e matjes së tensionit të baterisë siç përshkruhet më sipër. Është gjithashtu e nevojshme të zbulohet devijimi i orës në 1 orë, të llogaritet dhe të futet vlera korrigjuese përkatëse (procedura përshkruhet në udhëzimet e funksionimit).

Pajisja mundësohet nga një bateri litiumi CR2032 (3V) dhe konsumon rreth 4 μA në modalitetin e fjetjes dhe 5 ... 20 mA në modalitetin aktiv, në varësi të ndriçimit të treguesit. Me një përdorim ditor prej pesë minutash të modalitetit aktiv, bateria duhet të zgjasë rreth 2 ... .8 muaj, në varësi të ndriçimit. Kutia e orës është e lidhur me minusin e baterisë.

Leximi i çelësit u kontrollua në DS1990. Emulimi është testuar në interfonet METAKOM. Numrat serialë nga 46 në 49 (4 të fundit) janë të qepur (të gjithë çelësat ruhen në EEPROM, ato mund të ndryshohen përpara se të ndizen) çelësa universalë për intercom. Çelësi i regjistruar në numrin 49 hapi të gjitha interfonet METAKOM që hasa, pjesa tjetër e çelësave universalë nuk mund të testoheshin, i mora kodet e tyre nga rrjeti.

Telekomanda për kamerat e testuar në Pentax optio L20, Nikon D3000. Canon nuk mundi ta kontrollonte.

Manuali i përdorimit është 13 faqe, kështu që nuk e përfshiva në artikull, por e vendosa në bashkëngjitje në formatin PDF.

Arkivi përmban:
Skema në dhe GIF;
Vizatimi i tabelës së qarkut të printuar dhe renditja e elementeve në format;
Firmware dhe burimet në asembler;

Lista e radioelementeve

Emërtimi Një lloj Emërtimi sasi shënimRezultatiFletorja ime
DD1 MK AVR 8-bit

ATmega168PA

1 PA-AU Në bllokun e shënimeve
U2 sensor temperature

DS18B20

1 Në bllokun e shënimeve
Q1 Transistor MOSFET

2N7002

1 Në bllokun e shënimeve
C1, C2 Kondensator30 pF2 Në bllokun e shënimeve
C3, C4 Kondensator0,1 uF2 Në bllokun e shënimeve
C5 Kondensator elektrolitik47 uF1 Në bllokun e shënimeve
R1-R8, R17 Rezistencë

100 ohm

9 Në bllokun e shënimeve
R9 Rezistencë

10 kΩ

1 Në bllokun e shënimeve
R10 Rezistencë

8.2 Ohm

1 Në bllokun e shënimeve
R11 Rezistencë

300 Ohm

1 Në bllokun e shënimeve
R12 Rezistencë

2 MOhm

1 Në bllokun e shënimeve
R13 Rezistencë

220 kΩ

1 Në bllokun e shënimeve
R14 Rezistencë

30 kΩ

1 Në bllokun e shënimeve
R15, R19 Rezistencë

4,7 k Ohm

2 Në bllokun e shënimeve
R16 Rezistencë

20 kΩ

1

Orë dore e bërë vetë në një tregues vakum, e bërë në stilin steampunk. Materiali është marrë nga www.johngineer.com. Kjo orë dore bazohet në ekranin IVL-2. Fillimisht bleva disa nga këta tregues për të krijuar një orë tavoline standarde, por pas reflektimit kuptova se mund të ndërtoni edhe një orë dore me stil. Treguesi ka një numër karakteristikash që e bëjnë atë më të përshtatshëm për këtë qëllim sesa shumica e ekraneve të tjera sovjetike. Këtu janë parametrat:

  • Rryma nominale e filamentit është 60mA 2.4V, por punon me 35mA 1.2V.
  • Madhësia e vogël - vetëm 1,25 x 2,25 "
  • Mund të punojë me tension relativisht të ulët të rrjetit 12V (deri në 24)
  • Konsumon vetëm 2,5 mA / segment në 12,5 V

Të gjitha fotot mund të bëhen më të mëdha duke klikuar mbi to. Pengesa më e madhe për përfundimin me sukses të projektit ishte ushqimi. Duke qenë se kjo orë është konceptuar si pjesë e një kostumi, nuk ka rëndësi që bateria të zgjasë vetëm 10 orë. Ndaluar për AA dhe AAA.

Qarku është mjaft i thjeshtë. Mikrokontrollues Atmel AVR ATMega88 dhe orë në kohë reale - DS3231. Por ka IC të tjera, shumë më të lira, që do të funksionojnë po aq mirë në një gjenerator.

VFD drejtohet nga MAX6920 - regjistri i zhvendosjes 12-bit me dalje të tensionit të lartë (deri në 70 V). Është i lehtë për t'u përdorur, shumë i besueshëm dhe kompakt. Është gjithashtu e mundur që një drejtues ekrani të bashkojë së bashku një grup përbërësish diskrete, por kjo ishte jopraktike për shkak të kufizimeve të hapësirës.

Tensioni i baterisë fuqizon gjithashtu konvertuesin përforcues 5V (MCP1640 SOT23-6), i cili kërkohet që AVR, DS3231 dhe MAX6920 të funksionojnë siç duhet, dhe gjithashtu vepron si një tension i hyrjes për konvertuesin e dytë përforcues (NCP1403 SOT23-5), e cila prodhon 13V për tensionin e rrjetit të treguesit të vakumit.

Ora ka tre sensorë: një analog dhe dy dixhital. Sensori analog është një fototransistor dhe përdoret për të zbuluar nivelin e dritës (Q2). Sensorë dixhitalë: BMP180 - presion dhe temperaturë, dhe MMA8653 - përshpejtues për zbulimin e lëvizjes. Të dy sensorët dixhitalë janë të lidhur nëpërmjet autobusit I2C me DS3231.

Gypat prej tunxhi janë ngjitur për bukurinë dhe mbrojnë ekranin e xhamit të orës së dorës, dhe tela bakri 2 mm të trasha përdoren për të lidhur rripin prej lëkure. Diagrami i plotë skematik nuk është dhënë në artikullin origjinal - shihni lidhjen përmes fletëve të të dhënave me mikroqarqet e treguara.

Unë sjell në vëmendjen tuaj elektronike ora e mikrokontrolluesit... Qarku i orës është shumë i thjeshtë, përmban një minimum detajesh dhe është i disponueshëm për përsëritje për amatorët e radios fillestare.

Dizajni është montuar në një mikrokontrollues dhe një orë në kohë reale DS1307... Si tregues i kohës aktuale, përdoret një tregues LED me shtatë segmente me katër shifra (ngjyrë me shkëlqim ultra të ndritshme, blu, e cila duket mirë në errësirë ​​dhe, në të njëjtën kohë, ora luan rolin e një nate dritë). Ora kontrollohet nga dy butona. Falë përdorimit të mikroqarkut të orës DS1307 në kohë reale, algoritmi i programit është mjaft i thjeshtë. Komunikimi ndërmjet mikrokontrolluesit dhe orës në kohë reale ndodh nëpërmjet autobusit I2C dhe organizohet nga softueri.

Skema e orës:

Fatkeqësisht, ka një gabim në skemë:
- përfundimet e MK me bazat e transistorëve duhet të lidhen:
PB0 në T4, PB1 në T3, PB2 në T2, PB3 në T1
ose ndryshoni lidhjen e kolektorëve të transistorëve me shkarkimet e treguesit:
T1 në DP1 ... .. T4 në DP4

Detajet e përdorura në diagramin e orës:

♦ Mikrokontrollues ATTiny26:

♦ Ora në kohë reale DS1307:

♦ Treguesi LED me shtatë segmente me 4 shifra - FYQ-5641UB -21 me një katodë të përbashkët (ngjyrë të lehta të kaltër, ultra të ndritshme):

♦ kuarc 32,768 kHz, me një kapacitet hyrës prej 12,5 pF (mund të merret nga pllaka amë e kompjuterit), saktësia e orës varet nga ky kuarc:

♦ të gjithë transistorët - struktura NPN, mund të përdorni cilindo (KT3102, KT315 dhe homologët e tyre të huaj), kam përdorur BC547S
♦ stabilizues i tensionit në mikroqark tip 7805
♦ të gjitha rezistorët me fuqi 0,125 vat
♦ kondensatorë polare për tension pune jo më të ulët se tensioni i furnizimit
♦ furnizim rezervë me energji elektrike për DS1307 - qelizë litium 3 volt CR2032

Për të fuqizuar orën, mund të përdorni çdo karikues të panevojshëm të telefonit celular (në këtë rast, nëse voltazhi në daljen e karikuesit është brenda 5 volt ± 0,5 volt, një pjesë e qarkut është një rregullator tensioni në një mikroqark 7805, mund ta përjashtoni)
Konsumi aktual i pajisjes është - 30 mA.
Bateria rezervë për orën DS1307 mund të mos instalohet, por më pas, në rast të ndërprerjes së energjisë, koha aktuale do të duhet të caktohet përsëri.
Pllaka e qarkut të printuar të pajisjes nuk tregohet, struktura është mbledhur në një rast nga një orë mekanike e gabuar. LED (me një frekuencë vezullimi prej 1 Hz, nga dalja SQW DS1307) shërben për të ndarë orët dhe minutat në tregues.

Cilësimet e fabrikës së mikrokontrolluesit: frekuenca e orës - 1 MHz, bitet FUSE nuk kanë nevojë të preken.

Algoritmi i orës(në Ndërtuesin e Algoritmit):

1. Vendosja e treguesit të stivës
2. Vendosja e kohëmatësit T0:
- frekuenca SK / 8
- ndërprerjet e tejmbushjes (në këtë frekuencë të paracaktuar, një ndërprerje quhet çdo 2 milisekonda)
3. Inicializimi i portave (kunjat PA0-6 dhe PB0-3 janë konfiguruar për dalje, PA7 dhe PB6 për hyrje)
4. Inicializimi i autobusit I2C (kunjat PB4 dhe PB5)
5. Kontrollimi i bitit të 7-të (CH) të regjistrit zero DS1307
6. Ndërprerja e aktivizimit global
7. Hyrja në ciklin duke kontrolluar shtypjen e butonit

Herën e parë që ndizet, ose kur ndizet përsëri pa energji rezervë për DS307, ai kthehet në cilësimin fillestar të kohës aktuale. Në këtë rast: butoni S1 - për të vendosur kohën, butoni S2 - shkoni te shifra tjetër. Vendosja e kohës - Orët dhe minutat shkruhen në DS1307 (sekondat janë vendosur në zero), dhe kunja SQW / OUT (pina e 7-të) është vendosur të gjenerojë pulse me valë katrore 1 Hz.
Duke shtypur butonin S2 (S4 - në program), ndërprerjet janë të ndaluara globalisht, programi shkon në nënprogramin e korrigjimit të kohës. Në të njëjtën kohë, dhjetëra dhe njësi minutash vendosen duke përdorur butonat S1 dhe S2, më pas, nga 0 sekonda, shtypja e butonit S2 regjistron kohën e përditësuar në DS1307, lejon ndërprerjen globale dhe kthehet në programin kryesor.

Ora tregoi saktësi të mirë, zhvendosja e kohës në muaj ishte 3 sekonda.
Për të përmirësuar saktësinë, rekomandohet të lidhni kuarcin me DS1307, siç tregohet në fletën e të dhënave:

Programi është shkruar në mjedisin "Algorithm Builder".
Duke përdorur programin e orës si shembull, mund të njiheni me algoritmin për komunikimin midis mikrokontrolluesit dhe pajisjeve të tjera përmes autobusit I2C (çdo rresht komentohet në detaje në algoritëm).

Foto e pajisjes së montuar dhe bordit të qarkut të printuar në formatin .lay nga lexuesi i faqes Anatoly Pilguk, për të cilin shumë faleminderit!

Pajisja përdor: Transistorë - SMD VS847 dhe rezistorë CHIP

Shtojcat e artikullit:

(42,9 KiB, 3038 goditje)

(6.3 KiB, 4058 goditje)

(3,1 KiB, 2500 goditje)

(312,1 KiB, 5,833 vizita)


Versioni i dytë i programit të orës në AB (për ata që nuk e kanë të sipërmin)

(11,4 KiB, 1,842 goditje)

Orë të thjeshta LED mund të bëhen me një kontrollues të lirë PIC16F628A. Natyrisht, dyqanet janë plot me orë të ndryshme elektronike, por sipas funksioneve të tyre, mund t'u mungojë termometri ose ora me zile, ose nuk shkëlqejnë në errësirë. Dhe në përgjithësi, ndonjëherë prototi dëshiron të bashkojë diçka vetë, dhe të mos blejë të gatshme. Për të zmadhuar diagramin e diagramit - klikoni.

Orët e ofruara kanë një kalendar. Ka dy opsione për shfaqjen e datës - muaji në shifra ose rrokje, e gjithë kjo konfigurohet pasi të keni futur datën duke kaluar më tej me butonin S1 ndërsa shfaqet parametri i dëshiruar, termometri. ka firmware për sensorë të ndryshëm. Shikoni pajisjen brenda kutisë:


Të gjithë e dinë se rezonatorët e kuarcit nuk janë të përsosur për sa i përket saktësisë dhe brenda pak javësh, grumbullohet një gabim. Për të luftuar këtë rast, ora parashikon një korrigjim të goditjes, i cili përcaktohet nga parametrat SH dhe SL... Më shumë detaje:

SH = 42 dhe SL = 40 - kjo është përpara 5 minuta në ditë;
SH = 46 dhe SL = 40 - kjo është 3 minuta në ditë prapa;
SH = 40 dhe SL = 40 - kjo përcillet me 2 minuta në ditë;
SH = 45 dhe SL = 40 - kjo kthehet 1 minutë në ditë;
SH = 44 dhe SL = С0 - kjo përcillet me 1 minutë në ditë;
SH = 45 dhe SL = 00 - ky korrigjim është i çaktivizuar.

Në këtë mënyrë, mund të arrihet saktësi perfekte. Edhe pse do t'ju duhet të drejtoni korrigjimin disa herë derisa ta vendosni në mënyrë të përsosur. Dhe tani puna e orës elektronike tregohet qartë:

temperatura 29 gradë Celsius

Si tregues, mund të vendosni ose asambletë dixhitale LED, të cilat tregohen në vetë diagramin, ose t'i zëvendësoni me LED të zakonshme të rrumbullakëta super të ndritshme - atëherë kjo orë do të jetë e dukshme nga larg dhe mund të varet edhe në rrugë.

Orë me dritë prapa LED dhe akrep pulsues të minutave në një mikrokontrollues Arduino
Kjo orë unike me dritë të pasme LED dhe akrep pulsues të minutave është bërë duke përdorur çipin e kontrolluesit TLC5940 PWM. Detyra e tij kryesore është të zgjerojë numrin e kontakteve me modulimin PWM. Një veçori tjetër e kësaj ore është voltmetri analog i konvertuar në një pajisje që mat minutat. Për këtë, një shkallë e re u shtyp në një printer standard dhe u ngjit mbi atë të vjetër. Si e tillë, minuta e 5-të nuk llogaritet, vetëm se gjatë minutës së pestë, numëruesi i kohës tregon një shigjetë, e cila qëndron në fundin e peshores (largohet nga shkalla). Kontrolli kryesor zbatohet në mikrokontrolluesin Arduino Uno.

Në mënyrë që ndriçimi i orës të mos shkëlqejë shumë në një dhomë të errët, u zbatua një skemë për të rregulluar automatikisht ndriçimin në varësi të ndriçimit (u përdor një fotorezistencë).

Hapi 1: Komponentët e kërkuar



Ja çfarë ju nevojitet:

  • Moduli i voltmetrit analog për 5V DC;
  • Mikrokontrollues Arduino UNO ose Arduino tjetër i përshtatshëm;
  • Pllakë qarku Arduino (proto bord);
  • DS1307 Ora në kohë reale (RTC);
  • Modul me kontrollues PWM TLC5940;
  • LED petale për ndriçim - 12 copë;
  • Komponentët për montimin e një qarku të kontrollit automatik të ndriçimit (LDR).

Gjithashtu, për prodhimin e disa komponentëve të tjerë të projektit, është e dëshirueshme të keni akses në një printer 3D dhe një makinë prerëse lazer. Supozohet se ju e keni këtë akses, prandaj, vizatimet për prodhim do të bashkëngjiten në udhëzimet në fazat e duhura.

Hapi 2: thirrni




Zgjedhja përbëhet nga tre pjesë (shtresa) të prera në një makinë prerëse lazer nga fletë MDF 3 mm, të cilat janë të lidhura së bashku me bulona. Një pllakë pa çarje (poshtë djathtas në figurë) vendoset nën një pllakë tjetër pozicionimi LED (poshtë majtas). Më pas, LED-et individuale vendosen në brazdat përkatëse, dhe paneli i përparmë vendoset në krye (sipër në figurë). Ka katër vrima të shpuara rreth skajit të numrit përmes të cilave të tre pjesët janë bashkuar me bulona.

  • Për të testuar performancën e LED-ve në këtë fazë, u përdor një bateri me qelizë monedhë CR2032;
  • Për rregullimin e LED-ve, u përdorën shirita të vegjël ngjitës, të cilët ishin ngjitur në pjesën e pasme të LED-ve;
  • Të gjitha këmbët LED janë përkulur paraprakisht;
  • Vrimat u ri-shpuan në skajet dhe u futën me bulona. Doli të ishte shumë më i përshtatshëm.

Vizatimi teknik i pjesëve për numrin është në dispozicion në:

Hapi 3: Dizajnoni qarkun



Në këtë fazë u zhvillua qarku elektrik. Për këtë, u përdorën mësime dhe udhëzues të ndryshëm. Ne nuk do të hyjmë thellë në këtë proces, dy skedarët më poshtë tregojnë qarkun e përfunduar elektrik që është përdorur në këtë projekt.

Hapi 4: Lidhja e tabelës së qarkut Arduino





  1. Hapi i parë është që të shkrihen të gjitha kontaktet e gjilpërës në bordet e qarkut dhe bordet e daljes;
  2. Më tej, për shkak të faktit se shumë borde dhe pajisje periferike përdorin fuqi 5V dhe GND, për besueshmëri, dy tela për 5V dhe GND u ngjitën në tabelën e qarkut;
  3. Më pas, një kontrollues TLC5940 PWM u instalua pranë kunjave të përdorura;
  4. Pas kësaj, kontrolluesi TLC5940 është i lidhur, sipas diagramit të lidhjes;
  5. Për të qenë në gjendje të përdorni baterinë, një modul RTC u instalua në skajin e tabelës së qarkut. Nëse e lidhni atë në mes të tabelës, atëherë përcaktimi i kontakteve nuk do të jetë i dukshëm;
  6. Moduli RTC është i lidhur sipas diagramit të lidhjes;
  7. Qarku automatik i kontrollit të ndriçimit (LDR) është mbledhur, mund ta gjeni në lidhje
  8. Telat për voltmetrin lidhen duke i lidhur telat me pinin 6 dhe GND.
  9. Në fund, 13 tela për LED u bashkuan (Në praktikë doli që ishte më mirë ta bënim këtë përpara se të vazhdoni me hapin 3).

Hapi 5: kodi i programit

Kodi më poshtë është mbledhur nga pjesë të ndryshme të komponentëve të orës që gjenden në internet. Ai është korrigjuar plotësisht dhe tani është plotësisht funksional, plus disa komente mjaft të detajuara janë shtuar. Por përpara se të ngarkoni në mikrokontrollues, merrni parasysh pikat e mëposhtme:

  • Përpara se të ndezni Arduino, duhet të hiqni komentin e linjës që përcakton kohën:
    rtc.adjust (DateTime (__ DATE__, __TIME__))
    Pasi të ndizni kontrolluesin me këtë rresht (koha është caktuar), duhet ta komentoni përsëri dhe ta ndezni përsëri kontrolluesin. Kjo lejon që RTC të përdorë baterinë për të mbajtur gjurmët e kohës nëse rryma kryesore dështon.
  • Sa herë që përdorni "Tlc.set ()" duhet të përdorni "Tlc.update"

Hapi 6: unaza e jashtme

Unaza e jashtme e orës ishte printuar 3D në një Replicator Z18. Është ngjitur në orën me vida në faqen e orës. Më poshtë është një skedar me një model 3D të unazës për printim në një printer 3D.

Hapi 7: Montimi i orës


Mikrokontrolluesi Arduino me të gjithë pjesën tjetër të elektronikës ishte ngjitur në pjesën e pasme të orës me vida dhe arra si ndarës. Pastaj të gjitha LED, voltmetri analog dhe LDR lidhen me telat që ishin ngjitur më parë në bordin e qarkut. Të gjitha LED janë të ndërlidhura nga një këmbë dhe lidhen me kutinë VCC në kontrolluesin TLC5940 (vetëm një copë teli është ngjitur në një rreth).

Deri më tani, e gjithë kjo nuk është shumë e izoluar nga qarqet e shkurtra, por puna për këtë do të vazhdojë në versionet e ardhshme.

Artikujt kryesorë të lidhur