Kombinēta slēdzene uz atmega8 mikrokontrollera. Kombinēta slēdzene uz mikrokontrollera PIC16F628A

Digitālās kombinācijas slēdzenes shēma un programma ar infrasarkano atslēgu uz mikrokontrollera

Labdien, dārgie radio amatieri!
Laipni lūdzam vietnē ""

Labdien, dārgie radio amatieri! Šodien sadaļā "Amatieru radio shēmas uz mikrokontrolleriem" Mēs apskatīsim vienkāršu shēmu - digitālā kombinētā atslēga ar IR atslēgu.

Šo kombinēto slēdzeni uzstāda uz jebkurām ierobežotas piekļuves telpas ieejas durvīm. Durvju atvēršanai tiek izmantota IR atslēga. Pateicoties tam, koda ievadīšanai nav nepieciešama ārēja tastatūra, turklāt ir ļoti grūti pārtvert signālu IS diapazonā. Kombinētās bloķēšanas shēma:

Kombinētā slēdzene atrodas gaidīšanas režīmā, līdz fotodiode VD1 saņem IR signālu, kas tiek pārveidots elektriskos impulsos. Atslēga ir IR signāla raidītājs, un to darbina viens galvaniskais elements. Mikroshēmā ir sprieguma pārveidotājs no 1,5 voltiem līdz 5 voltiem. Šo atslēgas ķēdes daļu ar sprieguma pārveidotāju var ignorēt, taču, lai to izdarītu, jums būs jāizvēlas piemērots 5 voltu atslēgas barošanas avots. Taustiņš tiek aktivizēts, pieslēdzot barošanas spriegumu slēdzim SA1. Aizstājot “slepenos” vārdus, jāmaina to kodi gan slēdzenes, gan atslēgas programmas tekstos. Slēdzene tiek darbināta no 12 voltu barošanas avota. Ieteicams to papildināt ar akumulatoru, lai darbinātu solenoīdu, ja nav tīkla sprieguma.

Tas bija vakarā, kad uz biroja sliekšņa parādījās neatlaidīga, liela izmēra sieviete, kas piedāvāja iegādāties slavena zīmola traukus. Jau nākamajā dienā no sava priekšnieka (aka) saņēmu uzdevumu aizsargāt viņa radošo dabu no tirdzniecības pārstāvju uzbrukumiem. Tā radās ideja izveidot projektu ar koda nosaukumu Hungry_Wall. Protams, tagad ir daudzi dienesti, kas ir iesaistīti telpu piekļuves kontrolē. Bet daudz interesantāk ir izgatavot elektronisku slēdzeni ar savām rokām, it īpaši man, iesācēju programmētājam un elektronikas inženierim.

Kā saka, galvenais ir pareizi sastādīt tehniskās specifikācijas, t.i., ko mēs vēlamies iegūt rezultātā.

  1. Izveidojiet atslēgu atpazīšanas sistēmu.
  2. Salīdziniet atslēgu ar datu bāzi un, ja uzrādītās atslēgas kods atbilst kādam no datu bāzē ierakstītajiem, atveriet slēdzeni.
  3. Paņemiet magnētiskā sensora rādījumus, lai noteiktu durvju stāvokli, un, ja durvis ir atvērtas, aizveriet slēdzeni.
  4. Izmantojiet taimeri, pēc kura slēdzene aizveras, ja mainām savas domas par ieiešanu/izkāpšanu. Tas ir paredzēts, lai neļautu "ienaidniekiem" iekļūt slepenajā midzenī, izmantojot mūsu garastāvokļa izmaiņas.
  5. Pārliecinieties, vai durvis tiek atvērtas, izmantojot pogu, kas atrodas telpā.
  6. Jaunas atslēgas ierakstīšana datu bāzē pēc galvenās atslēgas uzrādīšanas un, protams, paša meistara ierakstīšana.
  7. Atslēgas noņemšana no datu bāzes (funkcija).
  8. Displeja sistēma lielākai pievilcībai.

Puse darba ir paveikta, atliek tikai īstenot plānu aparatūrā un programmatūrā. Lai to izdarītu, jums ir nepieciešams:

  1. Elektriskā slēdzene
  2. Proxy (em-Marin) karšu lasītājs "CP-Z" no IronLogic
  3. Atslēgas vai kartes ierakstīšanai datu bāzē
  4. Poga
  5. Barošanas avots 12 V
  6. Ķermenis (lai viss būtu glīts un skaists)
  7. Elektronika – mikrokontrolleris ATmega 8, “cribX28”, stabilizators KR1158EN5V, tranzistors IRLU 024 N, 6 KLEM 2 savienotāji, 1 WF 3 savienotājs (COM-port), kondensators, gaismas diodes un rezistori pēc garšas.

Tāfeles izkārtojums ir parādīts 1. diagrammā.

Plātnes iekšējie elementi ir parādīti 1. attēlā.

Lai atrisinātu piešķirtās problēmas, visas izmantotās ierīces ir sadalītas loģiskajos blokos, kas parādīti 2. diagrammā.

Slēdzenes blokā ietilpst pati elektriskā slēdzene, taimeris TimeOpen, kas ļauj iestatīt maksimālo slēdzenes atvēršanas laiku, un magnētiskais sensors, kas norāda uz durvju atvēršanu un aizvēršanu. Slēdzenes bloka ievade ir slēdzenes atvēršanas komanda (Open), kas nāk no aira slēdzenes un pogu blokiem. Oarlock bloks sastāv no nolasīšanas ierīces, datu bāzes un TimeMaster taimera, kas nosaka maksimālo laiku jaunas atslēgas iesniegšanai rakstīšanai datu bāzē. Ieeja blokā notiek, uzrādot atslēgu vai meistaru. Pogu bloks sastāv no pogas, kurai var būt 2 stāvokļi (nospiests/nav nospiests).

Bezkontakta karšu lasīšanai tiek izmantots IronLogic “CP-Z starpniekservera karšu lasītājs (em-Marin)”; tā īpatnība ir tāda, ka tas emulē iButton (1 vadu), ja pievienojat starpniekserveri. Tas ļauj jums lai vienkāršotu slēdzenes programmēšanu.Tomēr tam vajadzētu Lūdzu, ņemiet vērā, ka šai lasītāja versijai ir savs zemūdens grābeklis.

Darbības princips ir ārkārtīgi vienkāršs. Uzrādot atslēgu, tās kods tiek nolasīts un salīdzināts ar bāzi. Ja atslēga tiek atrasta datu bāzē, slēdzene saņem komandu Atvērt. Šeit ir jāņem vērā slēdzenes īpatnība: atvēršana jāveic ar klikšķiem (atvērt-aizvērt-atvērt). Tas nodrošina aizsardzību pret slēdzenes iesprūšanu. Kad tiek prezentēts meistars, mainās programmas loģika. Tās klātbūtne nekādā veidā neietekmē pils “noskaņojumu”. Viņu uzskata par sava veida turku sultānu, kurš ir gatavs reģistrēt (rakstīt uz EEPROM) savu nākamo sievu (atslēgu). Tie. uzrādot atslēgu (ja tā nav iepriekš ierakstīta), tās kods tiek ierakstīts EEPROM. Šeit jāņem vērā, ka mikruha atmiņa ir bez gumijas, un, piemēram, ATmega 8 tā ir 512 baiti, kas ļauj ierakstīt ne vairāk kā 255 atslēgas (ja saglabāšanai izmantojat 2 baitus 1 atslēga, tāpat kā mūsu gadījumā). Pati pirmā parādītā atslēga tiek ierakstīta kā galvenā atslēga. Nospiežot pogu, uz slēdzeni tiek nosūtīta arī komanda Atvērt. Displeja sistēma padara mūsu projektu krāsaināku un informatīvāku. Ja ir ieslēgta sarkanā diode, eja ir bloķēta; ja tā ir zaļa, varat doties! Kad meistars tiek pacelts, iedegas abas gaismas diodes.

Ir svarīgi atzīmēt, ka slēdzene tiek atvērta, kad tai tiek pieslēgta loģiskā vienība (t.i., spriegums), un tā ir slēgtā stāvoklī, ja netiek pielietots spriegums. Tas ļauj bloķēt eju, ja aizmirstat samaksāt komunālos pakalpojumus un tiek izslēgta elektrība.

Visas ierīces izskats ir parādīts 2. attēlā. Viss ir diezgan veikls un skaists.

Jūs varat lejupielādēt avotus

Izpildmehānisms elektroniskajā slēdzenē, kura diagramma parādīta att. 1, kalpo kā elektromehāniskā slēdzene ZNEM-1-2, kas atveras, kad iebūvētajam elektromagnētam Y1 tiek piegādāts pastāvīgs spriegums 12 V. Elektroniskās slēdzenes loģiskā daļa ir uzbūvēta uz PIC16F630-I/R mikrokontrollera. Pogas SB1 un SB2 ir paredzētas koda ievadīšanai, kas to atver. Dažādu krāsu gaismas diodes HL1-HL3 norāda statusu un darbības režīmu. Lauka tranzistors VT1, kura pamatā ir signāls, ko rada mikrokontrolleris RSZ izejā, kontrolē elektromagnētu Y1.

Rīsi. 1

Ierīci darbina galvanisks vai uzlādējams akumulators ar spriegumu 12 V. Šis spriegums ir nepieciešams elektromagnēta Y1 drošai darbībai. To var piegādāt vai nu no galvaniskā vai uzlādējamā akumulatora, vai no maiņstrāvas avota. Akumulators garantē iespēju atvērt slēdzeni, ja nav sprieguma, taču jums būs pastāvīgi jāuzrauga tā uzlāde.

5 V spriegums (nepieciešams mikrokontrollera darbināšanai) tiek iegūts no 12 V, izmantojot integrēto regulatoru DA1. Ja izmantojat izpildmehānismu citam spriegumam vai atsevišķam strāvas avotam, stabilizatora ieejai piegādāto spriegumu var samazināt līdz 7 V vai palielināt līdz 15 V.

Strāva, ko patērē slēdzene, kad tā ir aizvērta, ir ļoti maza un nepārsniedz dažus miliampērus. Koda ievadīšanas laikā tas palielinās līdz desmitiem miliampēru atkarībā no ieslēgto gaismas diožu skaita, un, iedarbinot elektromagnētu, tas palielinās līdz aptuveni 1 A.

Rīsi. 2a. Skats no komponentiem

Rīsi. 2b. Skats no takām

Slēdzene ir samontēta uz iespiedshēmas plates. Elementu izvietojums un uz tā uzdrukāto vadītāju rasējums parādīts att. 2. Gaismas diodes HL1—HL3 un pogas SB1, SB2 tiek uzstādītas atsevišķi uz aizslēgtu durvju rāmja. Gaismas diodēm jābūt redzamām personai, kas atver slēdzeni, un pogām jābūt pieejamām nospiešanai. LED, kuru veidi ir norādīti diagrammā, korpusa diametrs ir 10 mm un palielināts spilgtums. Tomēr varat izmantot citas piemērotas spīduma krāsas.

Mikrokontrollera programma izveidota "PIC Simulator IDE v6.91" vidē. Atvēršanas kods ir astoņu klikšķu kombinācija noteiktā secībā uz pogām SB1 un SB2. Programmā pogas SB1 nospiešana tiek attēlota ar loģisku nulli atmiņas šūnas ciparā, kas atbilst preses sērijas numuram, un SB2 pogas nospiešana tiek attēlota ar loģisku šādā ciparā. Kopējais iespējamo kombināciju skaits ir 256.
Jebkuras pogas nospiešanu apstiprina HL1 LED iedegšanās, kas ļauj tās vizuāli kontrolēt. Ievadot kodu, jūs nevarat nospiest abas pogas vienlaikus. Tas atcels numura sastādīšanas mēģinājumu un bloķēs bloķēšanu uz 4 sekundēm. Ja pauze starp pogas nospiešanu ir pārāk ilga vai poga tiek turēta nospiesta pārāk ilgi (vairāk nekā 3 s), programma ieslēdz HL3 LED un arī atceļ ievades mēģinājumu, bloķējot bloķēšanu uz 4 sekundēm.

Ja kods ir ierakstīts līdz galam, bet neatbilst mikrokontrollera atmiņā saglabātajam paraugam, bloķēšana tiek bloķēta uz 4 sekundēm, bet mirgo HL3 LED. Trīs nepareiza koda ievadīšana bloķēs slēdzeni uz minūti, ko pavada visu trīs gaismas diožu iedegšanās. Kamēr bloķēšana nenotiek kāda iemesla dēļ, pogu nospiešana nedod nekādu efektu.

Parauga koda kombinācija tiek saglabāta mikrokontrollera EEPROM adresē 1. Savas darbības sākumā programma nolasa šīs šūnas saturu un piešķir to koda mainīgajam. Sākotnēji kods tiek ievadīts EEPROM mikrokontrollera programmēšanas stadijā. Rīki šim nolūkam ir pieejami jebkura programmētāja programmatūrā. Piemēram, programmēšanas vides "PIC Simulator IDE v6.91" galvenajā logā pirms programmas ielādēšanas mikrokontrollerī pietiek atvērt izvēlnes vienumu "Tools-* EEPROM Memory Editor" un logā ar EEPROM attēls ierakstiet vajadzīgo kodu šūnā iepriekš norādītajā adresē. Atmiņas saturs šeit ir attēlots heksadecimālā formātā, tāpēc, piemēram, kods 00110011 izskatās kā 33.

Slēdzenes darbības laikā jūs varat mainīt kodu, nepārprogrammējot mikrokontrolleri. Lai to izdarītu, ieslēdziet slēdzeni un pareizi ievadiet pašlaik derīgo kodu. HL2 gaismas diodei jāieslēdzas un slēdzenei jāatveras. Kamēr tas ir atvērts, nospiediet abas pogas vienlaikus.

LED HL2 sāks mirgot un HL3 ieslēgsies. Atlaidiet pogas un pēc HL3 gaismas diodes nodzišanas sāciet ievadīt jaunu kombināciju - Ja netiek pārkāptas prasības par pogu nospiešanas ilgumu un pauzēm starp tām ievadīšanas laikā, HL2 gaismas diode turpinās mirgot, un HL3 gaismas diode tiks ieslēgta. atkal ieslēgts - pēc tam, kad HL3 gaismas diode atkal iedegas, nodziest (lai to izdarītu, abas pogas ir jāatlaiž), vēlreiz sastādiet to pašu kombināciju. Ja tas ir identisks pirmajam, programma to pieņems un ierakstīs EEPROM.

Rakstam pievienotajā programmas avota kodā BASIC ir visu izmantoto mainīgo apraksti un komentāri par svarīgākajām rindām. Mikrokontrollera TMR0 taimeris ir konfigurēts tā, lai tas pārplūst ar aptuveni 65,5 ms periodu, katru reizi ģenerējot pārtraukuma pieprasījumu. Apstrādājot šos pieprasījumus, mikrokontrolleris nosaka pogu stāvokli un saskaita nepieciešamos laika intervālus. Piemēram, bloķēšanas aptuveni vienas minūtes bloķēšanas laiks ir balstīts uz 1000 pārtraukumiem. Šajā gadījumā tie tiek skaitīti mainīgajā den_p. Tā kā tas ir garš un aizņem četrus baitus atmiņas, tas var ņemt vērtības no 0 līdz 232-1 (4294967295). Ja, piemēram, iestatāt skaitīšanas rezultāta robežvērtību uz 3600/0,0655^56000, bloķēšanas ilgums palielināsies līdz stundai.

The kombinētā slēdzene uz mikrokontrollera samontēts uz diezgan vienkārša AVR ATtiny13 mikrokontrollera. To var izmantot, lai ierobežotu piekļuvi dažādām uzglabāšanas vietām, aizslēgtu garāžas durvis un mājas durvis, kā arī ieslēgtu dažādas ierīces, kuras nepieciešams ierobežot.

Darbības princips

Mikrokontrollera slēdzenes darbība ir balstīta uz alternatīvu trīs ciparu ievadīšanu. Katra cipara izmērs var būt diapazonā no 0 līdz 255. Tas savukārt palielina kombinētās slēdzenes slepenības līmeni salīdzinājumā ar citām slēdzenēm, kurās katra slepenā numura izmērs ir no 0 līdz 9.

Ja ievadītā šo trīs skaitļu secība sakrīt ar trim cipariem, kas tiek ievadīti kombinētās slēdzenes mikrokontrollera atmiņā, tad izejā (3. taps) parādīsies vadības signāls (log.1), iedegsies HL4 gaismas diode. iedegas uz 15 sekundēm, signalizējot par ievades pareizību un darbosies relejs K1 kontrolē slēdzenes izpildmehānismu. Pēc 15 sekundēm mikrokontrollera 4. tapā parādīsies žurnāls. 0 un slēdzene atgriezīsies sākotnējā gaidstāves stāvoklī.

Kombinētās slēdzenes darbību kontrolē tikai divas pogas, ko vada tikai LED indikators. Turklāt slepenā koda ievadīšana tiek veikta tikai ar vienu pogu SB2, kas atrodas uz slēdzenes ārējā paneļa. Otrā poga SB1 ir paredzēta programmēšanai, un tā atrodas uz pašas plates.

Koda bloķēšanas vadības soļi

  • Trīs koda numuru ievadīšana mikrokontrollera nemainīgajā atmiņā.

Apskatīsim to ar konkrētu piemēru. Pieņemsim, ka mums ir jāiestata šāds slepenais kods: pirmais cipars ir 8, otrais cipars ir 12, trešais cipars ir 9. Lai to izdarītu, mēs piegādājam ierīci strāvas padevei, pēc tam nospiediet un turiet abas pogas (SB1 un SB2). ). Pēc tam atlaidiet pogu SB1 un, tiklīdz sāk mirgot HL1 gaismas diode, atlaidiet pogu SB2. Pēc šīm manipulācijām LED HL1 degs pastāvīgi, un gaismas diodes HL2 un HL3 nedegs. Šis LED stāvoklis norāda, ka ierīce ir pārgājusi programmēšanas režīmā.

Tagad, lai pierakstītu pirmo numuru, mums ir jānospiež un jātur poga SB2, un visas trīs gaismas diodes sāks mirgot. Jums jāsaskaita nepieciešamais mirgoņu skaits (mūsu gadījumā tas ir 8) un jāatlaiž poga. Pēc tam, lai apstiprinātu ievadītā skaitļa pareizību, gaismas diodes mirgos tikpat reižu (8 reizes). Tas arī viss, pirmais cipars ir pierakstīts. Tālāk iedegas HL2 LED, atgādinot, ka mums ir jāpieraksta otrais cipars.

Mēs rīkojamies tieši tāpat kā ar pirmā cipara ierakstīšanu: nospiediet un turiet pogu SB2 un saskaitiet nepieciešamo LED mirgoņu skaitu (mūsu piemērā tas ir 12), atlaidiet pogu un pārbaudiet ieraksta pareizību, izmantojot atkārtotus mirgoņus. Tad HL3 LED iedegas trešajam numuram, un mēs atkārtojam to pašu procedūru ar trešo numuru (numurs 9).

Pēc tam visus trīs ciparus ierakstījām mikrokontrollera atmiņā un, lai izietu no programmēšanas režīma, jānospiež poga SB1.

  • Sastādiet slepeno kodu

Apskatīsim arī to ar piemēru. Pirms tam mēs pierakstījām slepeno kodu 8-12-9. Lai ievadītu, vispirms nospiediet pogu SB1 un nekavējoties atlaidiet to pēc HL1 LED iedegšanās, tādējādi pārslēdzot mūsu slēdzeni uz koda ievades režīmu. HL1 gaismas diodes spīdums norāda, ka jāievada pirmais cipars. Ciparu ievadīšanas procedūra ir līdzīga tam, kā skaitļi tika ievadīti programmēšanas laikā. Tas ir, nospiežot pogu SB1, mēs saskaitām nepieciešamo summu, pēc tam atlaižam pogu un novērojam izsauktā cipara apstiprinājumu, mirgojot gaismas diodes. Tad mēs pārejam uz otro un trešo ciparu.

Ja visi trīs slepenā koda cipari ir ievadīti pareizi, relejs darbosies un HL4 LED ieslēgsies uz 15 sekundēm, gaismas diodes HL1, HL2, HL3 mirgos gaitas lukturu režīmā.

Ir atļauti trīs mēģinājumi ievadīt slepeno kodu. Ja trešo reizi kods tiek ievadīts nepareizi, iespēja ievadīt tiek bloķēta uz 2,5 minūtēm. Pēc šī laika slēdzene atkal būs gatava koda ievadīšanai.

Programmējot mikrokontrolleri, jāiestata šādi drošinātāji:

  • CKDIV8=0
  • BODLEVEL0 = 0
  • SPMEN = 0

(1,3 Mb, lejupielādēts: 1566)

Kombinētā atslēga palīdzēs ierobežot nesankcionētu piekļuvi telpām ar vērtslietām. Šajā rakstā ir sniegta viena no kombinētās slēdzenes ieviešanas iespējām PIC16F628A mikrokontrollerā.

Zemāk esošajā attēlā parādīta kombinācijas slēdzenes shēma. Ķēdes kodols ir PIC16F628A mikrokontrolleris. Pamatkomandu izpildes algoritms ir parādīts 2. attēlā. Programmas kods ir uzrakstīts montāžas valodā, skatīt sarakstu projekta arhīva mapē CL\16F628ATEMP.ASM. Ierīci vada ar vienu pogu. Nospiežot pogu, tiek panākta ierīces darbības režīmu secīga maiņa. Pogas nospiešanas skaņu nodrošina pjezo skaņas izstarotājs. Informācijas vizuālai attēlošanai tiek izmantots displejs ar iebūvētu kontrolleri.

Pilns PIC16F628A mikrokontrollera iekšējās programmēšanas un atkļūdošanas cikls tika veikts, izmantojot MPLAB IDE v8.15 (integrētā izstrādes vide), MPASM v5.22 kompilatoru (iekļauts MPLAB IDE v8.15) un MPLAB ICD 2 (in-- ķēdes atkļūdotājs). Tiem, kuriem nav iepriekš uzskaitīto rīku, bet ir sava programma darbam ar HEX failiem un cits programmētājs, attiecīgajā projektā varat atrast failu 16F628ATEMP.HEX.

Mikrokontrolleram DD1 ir funkcionālas tapas RA0, RB0 – RB7, CCP1, kuras izmanto informācijas ievadei un izvadīšanai. Mikrokontrollerim DD1 nav piespiedu atiestatīšanas funkcijas; atiestatīšanas tapa caur rezistoru R1 ir savienota ar pozitīvo barošanas potenciālu. Pulksteņa frekvences ģenerēšanai tiek izmantots mikroshēmas RC oscilators.

Tact poga SB1 ir savienota ar tapu RA0 caur strāvu ierobežojošo rezistoru R3. SB1 pulksteņa pogas atbrīvotajā pozīcijā rezistors R7 simulē zemu loģikas līmeni. Mikrokontrolleris DD1 atpazīst trīs SB1 pulksteņa pogas stāvokļus:

  1. Nav nospiests;
  2. Īsi nospiests (mazāk nekā 1 s);
  3. Nospiests un turēts (vairāk nekā 1 s).

Pjezo skaņas izstarotājs P1 palīdz atšķirt SB1 pulksteņa pogas stāvokļus. Tātad 1. stāvoklī skaņa netiek ģenerēta, 2. stāvoklī skaņa tiek ģenerēta, līdz mikrokontrolleris atpazīst 3. stāvokli, un 3. stāvoklī skaņa netiek ģenerēta.

HG1 šķidro kristālu displejs tiek izmantots informācijas parādīšanai. Displeja tehniskās specifikācijas ir atrodamas tīmekļa vietnē. Tam ir kontrolieris, kas īsteno rakstzīmju ģenerēšanas funkciju. Parāda divas rindiņas pa sešpadsmit rakstzīmēm katrā. Displejs tiek vadīts caur mikrokontrollera tapām RB0, RB1, RB4 – RB7. Dati tiek ielādēti knibļos, caur tapām RB4 – RB7. "Slēgts" - RB1. Mēs izvēlamies signāla reģistru pie tapas RB0. Izmantojot rezistorus R5 un R6, mēs iestatām displeja HG1 kontrastu. Displeja fona apgaismojums ir savienots ar strāvu, izmantojot strāvu ierobežojošo rezistoru R4. HG1 displejs ir pieskrūvēts pie tāfeles ar 3 x 15 mm misiņa atdaliņiem un 3 x 6 mm skrūvēm.

Veidojot loģiku uz RB2, tie panāk lauka efekta tranzistora VT1 atvēršanu vai aizvēršanu, kas ieslēdz un izslēdz X1 spaiļu blokam pievienoto elektrisko slēdzeni. Elektriskajai slēdzenei jābūt paredzētai 9-15 V darba spriegumam un jāpatērē strāva ne vairāk kā 1 A. Pieslēdzot elektriskajai slēdzenei spriegumu, tai ir jāatveras, ja sprieguma nav, tā tiek bloķēta (aizvērta). ).

Pjezo skaņas emitētājs P1 ar darbības skaņas ģenerēšanas frekvenci 4 kHz ir savienots ar kontaktu CCP1 (PWM aparatūras ieviešana, frekvence 4 kHz, darba cikls 2) caur strāvu ierobežojošo rezistoru R2.

Ierīce tiek darbināta no maiņstrāvas vai tiešā sprieguma avota, kas savienots ar savienotāju X2. Barošanas avota nominālais spriegums ir 9 - 15 V. Barošanas avota nominālā strāva ir 1 A. Barošanas avota stabilizēšanai tiek izmantota parastā ķēde: diodes tilts VD1, lineārais stabilizators DA1, filtra kondensatori C1 - C4.

Ierīci var darbināt temperatūras diapazonā no –20 °C līdz +70 °C.
Mikrokontrolleris ir ieprogrammēts tā, lai tam būtu vienpadsmit darbības stāvokļi.

  1. Kad ierīce ir ieslēgta, tiek nolasīta nepastāvīgā EEPROM datu atmiņa, kurā tiek lejupielādēts bloķēšanas statuss un koda dati. Ierīce atver vai aizver elektrisko slēdzeni atbilstoši nolasītajam slēdzenes statusa reģistram. Ierīce pāriet stāvoklī, kurā tā parāda kodēšanas statistiku, t.i. 2.
  2. Šajā stāvoklī ierīce parāda “Stat. Statistika." un apakšējā rindā tiek parādīta kodēšanas statistika, proti, kodējumu skaits un dekodēšanas reižu skaits*. Pēc īsas vai nospiestas takts pogas nospiešanas ierīce, vadoties pēc slēdzenes statusa reģistra, pāriet kodēšanas stāvoklī, ja slēdzene ir atvērta, t.i. 3 un pāriet dekodēšanas stāvoklī, ja slēdzene ir aizvērta, t.i. 4.
  3. Ierīce displeja augšējā rindā parāda uzrakstu “Koda kods” un pāriet koda ievadīšanas stāvoklī (apakšprogramma “Code Entry”), t.i. 5. Kodējumu skaita skaitītājs tiek palielināts. Ierīce pāriet stāvoklī, kurā maina slēdzenes stāvokli, aizverot to, t.i. 9.
  4. Ierīce displeja augšējā rindā parāda uzrakstu “Decode D.code” un pāriet koda ievadīšanas stāvoklī (apakšprogramma “Code Entry”), t.i. 5. Dekodēšanas skaitļu skaitītājs tiek palielināts. Ierīce salīdzina ievadīto kodu ar kodu, kas saglabāts nemainīgā EEPROM atmiņā. Ja kods sakrīt, tad ierīce pāriet stāvoklī, kurā maina slēdzenes stāvokli, atverot to, t.i. 10, un, ja kods nesakrīt, tas nonāk stāvoklī, kurā tiek parādīta informācija par kļūdu, t.i. vienpadsmit.
  5. Četrciparu koda pirmais cipars ir iezīmēts kvadrātiekavās displeja apakšējā rindā. Īsi nospiežot pulksteņa pogu, ievadītā cipara reģistrs** tiek palielināts. Ja taustes poga tiek nospiesta un turēta ilgāk par 1 s, ierīce pāriet stāvoklī, kurā tiek izvēlēts otrais koda cipars, t.i. 6.
  6. Četrciparu koda otrais cipars ir iezīmēts kvadrātiekavās displeja apakšējā rindā. Īsi nospiežot pulksteņa pogu, ievadītā cipara reģistrs** tiek palielināts. Ja taktiskā poga tiek nospiesta un turēta ilgāk par 1 s, ierīce pāriet stāvoklī, kurā tiek izvēlēts trešais koda cipars, t.i. 7.
  7. Četrciparu koda trešais cipars ir iezīmēts kvadrātiekavās displeja apakšējā rindā. Īsi nospiežot pulksteņa pogu, ievadītā cipara reģistrs** tiek palielināts. Ja taktiskā poga tiek nospiesta un turēta ilgāk par 1 s, ierīce pāriet stāvoklī, kurā tiek izvēlēts ceturtais koda cipars, t.i. 8.
  8. Četrciparu koda ceturtais cipars ir iezīmēts kvadrātiekavās displeja apakšējā rindā. Īsi nospiežot pulksteņa pogu, ievadītā cipara reģistrs** tiek palielināts. Ja taustes poga tiek nospiesta un turēta ilgāk par 1 s, ierīce pāriet stāvoklī, kurā tika pieprasīta apakšprogramma “Ievadīt kodu”, t.i. 3 vai 4.
  9. Ierīce aizver slēdzeni un saglabā bloķēšanas statusu un kodu. Augšējā rindā ir redzams uzraksts “Saglabāt saglabāšanu”. un apakšējā rindā ir četrciparu kods. Pēc tam ierīce pāriet stāvoklī, kurā tiek parādīta kodēšanas statistika, t.i. 2.
  10. Ierīce atver slēdzeni un saglabā bloķēšanas statusu un kodu. Augšējā rindā ir redzams uzraksts “Saglabāt saglabāšanu”. un apakšējā rindā ir četrciparu kods. Pēc tam ierīce pāriet stāvoklī, kurā tiek parādīta kodēšanas statistika, t.i. 2.
  11. Displeja augšējā rindā ir redzams uzraksts “Error Error”, bet apakšējā – četrciparu kods. (Foto 4) Pēc īsas vai ilgstošas ​​takta pogas nospiešanas ierīce pāriet stāvoklī, kurā tā parāda kodēšanas statistiku, t.i. 2.

*Pēc skaitītāja pārpildes (vairāk nekā 65535) tas tiek atiestatīts uz nulli un skaitīšana sākas no jauna, kas noved pie statistikas kļūmes tādā nozīmē, ka kodējumu skaits var būt lielāks par atšifrējumu skaitu. Tāpēc, lai atiestatītu skaitītājus, ieteicams ierīci atslēgt no sprieguma.

**Kad skaitlis 9 tiek palielināts, tas tiek atiestatīts uz nulli.

Tā kā mikrokontrollera EEPROM atmiņa ir aizsargāta pret nolasīšanu ķēdē (iestatīta konfigurācijā), nebūs iespējams nolasīt un uzzināt paroli ķēdē, un tāpēc ieslēgt elektrisko slēdzeni. Joprojām ir vienkāršāks veids, kā to atvērt - tieši pieslēdziet spriegumu uz elektrisko slēdzeni. Secinu, ka “koda slēdzenes” ierīcei un elektriskajai slēdzenei jābūt droši aizsargātai pret nepiederošu personu iekļūšanu. Pogai un displejam jābūt brīvi pieejamam.

Ir vērts atzīmēt, ka ierīci var atslēgt no sprieguma, taču bloķēšanas stāvoklis un kods pēc koda ievadīšanas joprojām tiek saglabāti nemainīgajā EEPROM atmiņā. Uzglabājot kodu nemainīgā EEPROM atmiņā, ierīci ir aizliegts atslēgt.

Ir vērts pievērst uzmanību vienai svarīgai detaļai ierīces darbībā. Kad ierīce ir ieslēgta, tā uz īsu brīdi var atvērt elektrisko slēdzeni (mazāk nekā 1 s), neskatoties uz to, ka elektriskās slēdzenes aizvērtais stāvoklis tiek saglabāts nepastāvīgajā EEPROM atmiņā. Es neatradu šo kļūdu, simulējot programmas koda izpildi MPLAB IDE. Ja, saglabājot kodu EEPROM atmiņā, ierīce tiek negaidīti atslēgta, kods var tikt saglabāts nepareizi un to nebūs iespējams atjaunot, kas novedīs pie mikrokontrollera pārprogrammēšanas. Tāpēc ieteikums par nepieciešamību pēc stabilas un (vai) rezerves barošanas avota ierīcei. GB1 – rezerves barošanas avots.

Iespiedshēmas plates izgatavošanas faili atrodami mapē.

Šajā ierīcē var nomainīt šādas daļas. Mikrokontrolleris DD1 no sērijas PIC16F628A-I/P-xxx ar darba takts frekvenci 20 MHz DIP18 pakotnē. HG1 displejs derēs jebkurai WH1602x sērijai. Sprieguma stabilizators DA1 iekšzemes KR142EN5A (5 V, 1,5 A). MOSFET lauka efekta tranzistors VT1 (N-kanāls) I-Pak iepakojumā (TO-251AA), ir piemērots diagrammā norādītās nominālās vērtības analogs. Pjezo skaņas izstarotājs P1 ar darbības skaņas ģenerēšanas frekvenci 4 kHz. VD1 diodes tiltu var izmantot no jebkuras 2Wxx sērijas. Strāvas savienotājs X2 ir līdzīgs diagrammā parādītajam ar centrālo kontaktu d=2,1 mm. Nepolārie kondensatori C1 un C2 ar nominālvērtību 0,01 – 0,47 µF x 50 V. Elektrolītiskajiem kondensatoriem C3 un C4 ir vienāda kapacitatīvā jauda, ​​un spriegums nav zemāks par diagrammā norādīto.

Lejupielādējiet arhīvu ar koda bloķēšanas projektu: 16F628Code_Lock.rar

Notiek ielāde...Notiek ielāde...