Ang seguridad ay isang pangunahing alalahanin sa ating pang-araw-araw na buhay, at ang mga digital lock ay naging isang mahalagang bahagi ng mga sistemang pangseguridad. Maraming mga uri ng teknolohiya na magagamit upang ma-secure ang aming lugar, tulad ng mga sistema ng seguridad na Batay sa PIR, sistema ng Security na nakabatay sa RFID, mga alarma sa seguridad ng Laser, mga system ng bio-matrix atbp Kahit ngayon, may mga Digital lock na maaaring mapatakbo gamit ang aming mga smart phone, nangangahulugang hindi higit na kailangang panatilihin ang iba't ibang mga susi, isang matalinong telepono lamang ang maaaring magpatakbo ng lahat ng mga kandado, ang konseptong ito ay batay sa Internet of Things.
Sa proyektong ito, ipinaliwanag namin ang isang simpleng lock ng Electronic code gamit ang 8051 Microcontorller, na maaari lamang ma-unlock ng isang paunang natukoy na code, kung ipinasok namin ang maling code, ang mga alerto ng system sa pamamagitan ng siren ang buzzer. Lumikha na kami ng isang Digital lock gamit ang Arduino.
Paggawa ng Paliwanag:
Pangunahing naglalaman ang system na ito ng AT89S52 microcontroller, keypad module, buzzer at LCD. Kinokontrol ng At89s52 microcontroller ang kumpletong mga proseso tulad ng pagkuha ng form ng keypad na form ng password, paghahambing ng mga password na paunang natukoy na password, pagmamaneho ng buzzer at pagpapadala ng katayuan sa LCD display. Ginagamit ang Keypad para sa pagpasok ng password sa microcontroller. Ginagamit ang buzzer para sa indikasyon ng maling password at ginagamit ang LCD para sa pagpapakita ng katayuan o mga mensahe dito. Ang Buzzer ay may nakapaloob na driver sa pamamagitan ng paggamit ng NPN transistor.
Mga Bahagi:
- 8051 Microcontroller (AT89S52)
- 4X4 Keypad Module
- Buzzer
- 16x2 LCD
- Resistor (1k, 10k)
- Pullup risistor (10K)
- Kapasitor (10uf)
- Pinangunahan ni Red
- Bread board
- IC 7805
- 11.0592 MHz Crystal
- Power Supply
- Mga kumokonekta na mga wire
Pagkuha ng input mula sa 4X4 Keypad Matrix gamit ang Multiplexing Technique:
Sa circuit na ito, ginamit namin ang multiplexing technique upang i-interface ang keadad sa 8051 microcontroller, para sa pagpasok ng password sa system. Gumagamit kami dito ng isang 4x4 keypad na may 16 na mga key. Kung nais naming gumamit ng 16 key pagkatapos ay kailangan namin ng 16 pin para sa koneksyon sa 89s52, ngunit sa multiplexing na diskarteng kailangan namin gumamit lamang ng 8 pin para sa interfacing 16 na mga key. Sa gayon ito ay isang matalinong paraan upang mai-interface ang keypad module.
Ang diskarteng multiplexing ay isang mahusay na paraan upang mabawasan ang bilang ng mga pin na ginamit sa microcontroller para sa pagbibigay ng input o password. Karaniwan ang pamamaraan na ito ay ginagamit sa dalawang paraan - ang isa ay row scanning at ang isa pa ay ang pag- scan ng haligi.
Ipapaliwanag namin dito ang pag-scan ng hilera:
Una kailangan naming tukuyin ang 8 pin para sa keypad module. Kung saan ang unang 4 na pin ay haligi at ang huling 4 na pin ay mga hilera.
Para sa pag-scan ng hilera kailangan naming magbigay ng data o signal sa mga haligi ng haligi at basahin ang data na iyon o signal mula sa row pin. Ipagpalagay nating binibigyan namin sa ibaba ng data ang mga haligi ng haligi:
C1 = 0;
C2 = 1;
C3 = 1;
C4 = 1;
At binabasa namin ang data na ito sa mga row pin (sa pamamagitan ng default na mga pin ng hilera ay TAAS dahil sa pull-up risistor).
Kung pinindot ng gumagamit ang key number '1' kung gayon ang R1 ay nagbabago ng TAAS sa LOW ay nangangahulugang R1 = 0; at nauunawaan ng controller na pinindot ng gumagamit ang key '1'. At i-print ang '1' sa LCD at iimbak ang '1' sa hanay. Kaya't ang TAAS na MABABANG pagbabago na ito sa R1, ay ang pangunahing bagay na nauunawaan ng tagapamahala na ang ilang mga susi, na naaayon sa Hanay 1, ay naipit.
Ngayon kung pipindutin ng gumagamit ang key number na '2' kung gayon ang R1 ay mananatili sa TAAS habang ang C1 at R1 ay pareho na sa TAAS. Samakatuwid walang pagbabago, nangangahulugang naiintindihan ng microcontroller na walang naipindot sa haligi ng isa. At gayundin ang punong-guro na ito ay napupunta para sa lahat ng iba pang mga pin. Kaya't sa hakbang na ito ang naghihintay lamang ang tagapamahala para sa mga susi sa haligi ng isa: '1', '4', '7' at '*'.
Ngayon kung nais naming subaybayan ang mga susi sa iba pang mga haligi (tulad ng col 2), pagkatapos ay kailangan naming baguhin ang data sa mga haligi ng mga haligi:
C1 = 1;
C2 = 0;
C3 = 1;
C4 = 1;
Ang tagakontrol ng oras na ito ay naghihintay lamang para sa mga susi sa haligi ng dalawang: '2', '5', '8'and' 0 ', dahil ang pagbabago (HATAAS sa LOW) ay nangyayari lamang kapag ang haligi ng dalawang mga susi ay pipilitin. Kung pinindot namin ang anumang susi sa col 1, 3 o 4 at pagkatapos ay walang pagbabago na magaganap, dahil ang mga haligi na ito ay nasa TAAS, at ang mga Rows ay nasa TAAS na.
Gayundin ang mga susi sa haligi C3 at C4 ay maaari ding subaybayan sa pamamagitan ng paggawa ng 0, nang paisa-isa. Suriin dito ang detalyadong paliwanag: Ang Keypad Interfacing kasama ang 8051. Dumaan din sa seksyon ng Code sa ibaba para maunawaan nang maayos ang lohika.
Paliwanag sa Circuit:
Ang diagram ng circuit para sa Digital lock na ito na gumagamit ng 8051 ay ipinakita sa ibaba at madaling maunawaan. Ang mga pin ng Haligi ng Keypad module ay direktang konektado sa pin P0.0, P0.1, P0.2, P0.3 at mga Row pin ay konektado sa P0.4, P0.5, P0.6, P0.7 ng 89s52 microcontroller's port 0 Ang isang 16x2 LCD ay konektado sa 89s52 microcontroller sa 4-bit mode. Ang control pin RS, RW at En ay direktang konektado sa pin P1.0, GND at P1.2. At ang data pin na D4-D7 ay konektado sa mga pin na P1.4, P1.5, P1.6 at P1.7 ng 89s52. At ang isang buzzer ay konektado sa pin P2.6 sa pamamagitan ng isang risistor.
Paliwanag ng Programa:
Gumamit kami ng isang paunang natukoy na password sa programa, ang password na ito ay maaaring tukuyin ng gumagamit sa code sa ibaba. Kapag ang gumagamit ay nagpasok ng isang password sa system, pagkatapos ihinahambing ng system ang pumasok na password ng gumagamit sa nakaimbak o paunang natukoy na password sa Code of Program. Kung maganap ang isang tugma pagkatapos ay ipapakita ng LCD ang "Access Grated" at kung ang password ay hindi tumutugma sa gayon ay ipapakita ng LCD ang "Access Denied" at ang buzzer ay patuloy na beep para sa ilang oras. Dito namin ginamit ang library ng string.h. Sa pamamagitan ng paggamit ng library na ito maaari naming ihambing o tumugma sa dalawang mga string, sa pamamagitan ng paggamit ng "strncmp" function.
Sa programa, una sa lahat ay nagsasama kami ng header file at tinutukoy ang variable at input & output pin para sa keypad at LCD.
# isama
Ang pagpapaandar para sa paglikha ng pagkaantala ng 1 segundo ay nilikha, kasama ang ilang mga pag-andar ng LCD tulad ng para sa pagsisimula ng LCD, pag-print ng string, para sa mga utos atbp Madali mong mahahanap ang mga ito sa Code. Suriin ang artikulong ito para sa LCD na nakikipag-ugnay sa 8051 at mga pag-andar nito.
Pagkatapos nito, sa pangunahing programa ay nasimulan namin ang LCD at pagkatapos ay binasa namin ang input mula sa Keypad gamit ang keypad () na function at iniimbak ang mga input key sa isang array at pagkatapos ihambing ito mula sa paunang natukoy na data ng array gamit ang strncmp.
void main () {buzzer = 1; lcd_init (); lcdstring ("Electronic Code"); lcdcmd (0xc0); lcdstring ("Lock System"); pagkaantala (400); lcdcmd (1); lcdstring ("Circuit Digest"); pagkaantala (400); habang (1) {i = 0; keypad (); kung (strncmp (pumasa, "4201", 4) == 0)
Kung ang ipinasok na password ay naitugma, pagkatapos ay tanggapin ang () pagpapaandar ay tinatawag na:
walang bisa tanggapin () {lcdcmd (1); lcdstring ("Maligayang pagdating"); lcdcmd (192); lcdstring ("Tanggapin ang Password"); pagkaantala (200); }
At kung ang password ay mali kung gayon ang maling () pagpapaandar ay tinatawag na:
walang bisa () {buzzer = 0; lcdcmd (1); lcdstring ("Maling Passkey"); lcdcmd (192); lcdstring ("PLZ Subukang Muli"); pagkaantala (200); buzzer = 1; }
Suriin ang pag-andar ng keypad sa ibaba sa code na binabasa ang input form keypad module.