- Kinakailangan ang Mga Bahagi:
- Module ng Sensor ng Finger Print na may Arduino:
- Paggawa ng Paliwanag:
- Paliwanag sa Circuit:
- Paliwanag ng Programa:
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 uri ng mga sistema ng seguridad na magagamit upang ma-secure ang aming lugar. Ang ilang mga halimbawa ay batay sa PIR Security System, batay sa RFID Security System, Digital Lock System, mga system ng bio-matrix, lock ng Electronics Code. Sa post na ito, gagamitin namin ang Interface ng isang Fingerprint Sensor Module sa Arduino at bubuo ng isang Fingerprint based Biometric Security System na may locking ng pinto. Ang Finger Print ay itinuturing na isa sa pinakaligtas na susi upang ma-lock o ma-unlock ang anumang system dahil maaari nitong makilala ang sinumang tao na natatangi at hindi madaling makopya.
Kinakailangan ang Mga Bahagi:
- Arduino Uno
- Mody ng Pag-print ng Daliri
- Button ng Push -4
- Mga LED -2
- 1K Resistor -3
- 2.2K risistor -1`
- Power Supply
- Mga kumokonekta na mga wire
- Kahon ng karton
- Servo Motor -1
- 16x2 LCD -1
- Lupon ng Tinapay -1
Module ng Sensor ng Finger Print na may Arduino:
Ang Finger Print Sensor Module o Finger Print Scanner ay isang module na kinukuha ang imahe ng pag-print ng daliri at pagkatapos ay i-convert ito sa katumbas na template at nai-save ang mga ito sa memorya nito sa napiling ID (lokasyon) ni Arduino. Narito ang lahat ng proseso ay iniutos ng Arduino tulad ng pagkuha ng isang imahe ng pag-print ng daliri, i-convert ito sa mga template at pag-iimbak ng lokasyon atbp.
Sa Arduino Fingerprint Sensor Project na ito, ginamit namin ang Fingerprint Sensor Module upang kumuha ng impression sa daliri o hinlalaki bilang pag-input sa system. Narito ginagamit namin ang 4 na mga pindutan ng push upang Mag-enrol / pabalik, Tanggalin / OK, UP at Pababa. Ang bawat susi ay may dobleng tampok. Ginagamit ang enrol key para sa pag-enrol ng bagong impression sa daliri sa system at pagpapaandar din sa likod. Nangangahulugan kung nais ng gumagamit na magpatala ng bagong daliri kung gayon kailangan niyang pindutin ang enrol ng enrol pagkatapos ay hihilingin ng LCD ang ID o Lokasyon kung saan nais iimbak ng gumagamit ang output ng pag-print ng daliri. Ngayon kung sa oras na ito ang gumagamit ay hindi nais na magpatuloy nang higit pa pagkatapos ay maaari niyang pindutin muli ang key ng pagpapatala upang bumalik (sa oras na ito ang key sa pag-enrol ay kumilos bilang Back key). Ang ibig sabihin ng key sa pag-enrol ay may parehong pagpapatala at pagpapaandar sa likod. DEL / OK keymayroon ding parehong pag-andar tulad ng kapag ang gumagamit ay nagpatala ng bagong daliri pagkatapos ay kailangan niyang pumili ng daliri ng ID o Lokasyon sa pamamagitan ng paggamit ng isa pang dalawang key na UP / MATCH AND Down / MATCH (na mayroon ding doble na pag-andar) ngayon kailangan ng gumagamit na pindutin ang DEL / OK key (sa oras na ito ang key na ito ay kumilos tulad ng OK) upang magpatuloy sa napiling ID o Lokasyon. Sinusuportahan din ng UP / Down keys ang pagpapaandar ng pag-print ng daliri. Suriin ang Video sa dulo para sa buong pagpapakita.
Dito ay naka-attach din kami ng isang karton na kahon na may isang Servo Motor upang kumilos bilang isang security gate, na magbubukas lamang kapag mababasa ng system ang tamang Finger Print. Ipinapahiwatig ng dilaw na LED ang gate ay sarado at ang Green LED ay nagpapahiwatig na ang gate ay binuksan.
Paggawa ng Paliwanag:
Paggawa ng Fingerprint Sensor Door Lock na itoay madali. Sa proyektong ito, gumamit kami ng isang gate na bukas kapag inilalagay namin ang nakaimbak na daliri sa module ng pag-print ng daliri. Una sa lahat, kailangang mag-enroll ng daliri ang gumagamit sa tulong ng push button / keys. Upang magawa ang gumagamit na ito ay kailangang pindutin ang ENROLL key at pagkatapos ay hihilingin ng LCD ang pagpasok sa lokasyon / ID kung saan ang isang daliri ay magiging isang tindahan. Kaya't kailangan ng gumagamit na magpasok ng ID (Lokasyon) sa pamamagitan ng paggamit ng mga UP / Down key. Matapos piliin ang Lokasyon / ID ay kailangang pindutin ng gumagamit ang isang OK key (DEL key). Ngayon hihilingin ng LCD ang paglalagay ng daliri sa module ng pag-print ng daliri. Ngayon ay kailangang ilagay ng gumagamit ang kanyang daliri sa module ng pag-print ng daliri. Pagkatapos hihilingin ng LCD na alisin ang daliri mula sa module ng pag-print ng daliri at muling hilingin para sa paglalagay ng daliri. Ngayon ay kailangang ilagay muli ng gumagamit ang kanyang daliri sa module ng pag-print ng daliri.Ngayon ang module ng pag-print ng daliri ay tumatagal ng isang imahe at ginawang ito sa mga template at iniimbak ito sa pamamagitan ng napiling ID sa memorya ng module ng daliri ng pag-print. Ngayon ay maaaring buksan ng gumagamit ang gate sa pamamagitan ng paglalagay ng parehong daliri na naidagdag o na-enrol niya sa system at pagkatapos ay pindutin ang MATCH key (UP / Down key). Sa pamamagitan ng parehong pamamaraan, maaaring magdagdag ang gumagamit ng higit pang mga daliri. Suriin ang Video sa ibaba para sa buong pagpapakita.
Ngayon kung nais ng gumagamit na alisin o tanggalin ang alinman sa nakaimbak na ID kung gayon kailangan niyang pindutin ang DEL key, pagkatapos ng pagpindot sa pindutan ng DEL, hihilingin ng LCD ang napiling lokasyon ay nangangahulugang piliin ang ID na tatanggalin. Ngayon ang gumagamit ay kailangang pumili ng ID at pindutin ang OK key (parehong pindutan ng DEL). Ngayon ipaalam sa iyo ng LCD na ang daliri ay matagumpay na na-delete. Ngayon maaaring suriin ng gumagamit na ito ay tinanggal o hindi sa pamamagitan ng paglalagay ng parehong daliri sa module ng pag-print ng daliri at pagpindot sa MATCH key (UP / Down key).
Kapag inilagay ang daliri ay may bisa Green LED ay mamula sa loob ng limang segundo at ang gate ay bubukas din sa parehong oras. Pagkatapos ng 5-segundo na gate ay awtomatikong isasara. Maaaring ipasadya ng gumagamit ang pagbubukas at pagsasara ng gate / pinto alinsunod sa kanilang kinakailangan. Ang servo motor ay responsable para sa bukas at pagsasara ng gate.
Paliwanag sa Circuit:
Ang circuit ng Arduino Fingerprint Security System na ito ay napaka-simple na naglalaman ng Arduino na kumokontrol sa buong proseso ng proyekto, pindutan ng push, buzzer, at LCD. Kinokontrol ng Arduino ang mga kumpletong proseso.
Ang push button ay direktang konektado sa pin D14 (ENROLL), D15 (DEL), D16 (UP) at D17 (Down) ng Arduino na patungkol sa ground At ang Yellow LED ay konektado sa Digital pin D7 ng Arduino na patungkol sa ground Ang 1k resistor at Green LED ay konektado sa D6 ng Arduino na may parehong pamamaraan. Ang Rx at Tx ng Finger Print Module na direktang konektado sa Software Serial o Digital pin D2 at D3 ng Arduino. Ginagamit ang 5v supply para sa powering module ng pag-print ng daliri na kinuha mula sa Arduino board at ang Servo motor ay konektado din sa PWM pin D5 ng Arduino. Ang isang 16x2 LCD ay naka-configure sa 4-bit mode at ang RS, EN, D4, D5, D6, at D7 ay direktang konektado sa Digital pin D13, D12, D11, D10, D9, at D8 ng Arduino.
Tandaan: narito ang D14, D15, D16, D17 ay A0, A1, A2, A3 ayon sa pagkakabanggit.
Paliwanag ng Programa:
Sa isang programa, ginamit namin ang Adafruit Fingerprint Sensor Library para sa interfacing module ng fingerprint sa Arduino board. Maaari mong suriin ang kumpletong Code sa ibaba, madali itong maunawaan. Narito ipinapaliwanag namin ang mga pangunahing pag-andar ng Arduino Program.
Sa ilalim ng piraso ng code ay ginagamit upang kumuha ng Finger Print bilang input at gumawa ng pagkilos ayon sa pagpapatunay ng daliri. Kung ang daliri ay napatunayan gate ay bukas kung hindi man manatiling sarado.
para sa (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Place Finger"); pagkaantala (2000); int resulta = getFingerprintIDez (); kung (resulta> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Pinapayagan"); lcd.setCursor (0,1); lcd.print ("Binuksan ang Gete"); myServo.write (0); pagkaantala (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Isinara ang Gate");
Dahil sa walang bisa na checkKeys () na function ay ginagamit para sa pag-check sa Enrol o ang Del key ay pinindot o hindi at kung ano ang gagawin kung pinindot. Kung ang ENROLL key ay pinindot ang pagpapa - enroll () na function ay tinawag at ang DEL key pindutin pagkatapos ay tanggalin ang () function ay tinatawag.
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Mangyaring Maghintay"); pagkaantala (1000); habang (digitalRead (magpatala) == 0); Mag-enrol (); } iba pa kung (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Mangyaring Maghintay"); pagkaantala (1000); burahin (); }}
Ginagamit ang pagpapaandar na function para sa pagpasok ng ID na tatanggalin at pagtawag sa uint8_t deleteFingerprint (uint8_t id) na function na tatanggalin ang daliri mula sa mga talaan.
void delet () {int count = 0; lcd.clear (); lcd.print ("Tanggalin ang Daliri"); lcd.setCursor (0,1); lcd.print ("Lokasyon:"); habang (1) {lcd.setCursor (9,1); lcd.print (count); kung (digitalRead (pataas) == 0) {count ++; kung (bilangin> 25) bilang = 0; pagkaantala (500); }……………….
Ginagamit ang pagpapaandar na function para sa pagtanggal ng pag-print ng daliri mula sa tala ng napiling ID.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Mangyaring maghintay"); p = daliri.deleteModel (id); kung (p == FINGERPRINT_OK) {Serial.println ("Tinanggal!"); lcd.clear (); lcd.print ("Tinanggal ang Figer"); lcd.setCursor (0,1); lcd.print ("Matagumpay"); pagkaantala (1000); } iba pa {Serial.print ("Something Wrong"); lcd.clear (); lcd.print ("Maling Bagay"); lcd.setCursor (0,1); lcd.print ("Subukang Muli"); pagkaantala (2000); ibalik p; }}
Ang Ginagamit na Pag-andar ay ginagamit upang kumuha ng imahe ng pag-print ng daliri at i-convert ang mga ito sa template at i-save ito sa pamamagitan ng napiling ID sa memorya ng module ng daliri ng pag-print.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("daliri ID:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Place Finger"); pagkaantala (2000); habang (p! = FINGERPRINT_OK) {p = daliri.getImage ();…………………
Kaya't kung paano namin magagamit ang Arduino sa Finger Print Reader Module para sa Security System.