- Būtini komponentai:
- Pirštų atspaudų jutiklio modulis su „Arduino“:
- Darbinis paaiškinimas:
- Grandinės paaiškinimas:
- Programos paaiškinimas:
Saugumas yra pagrindinis mūsų kasdienio gyvenimo rūpestis, o skaitmeninės spynos tapo svarbia šių apsaugos sistemų dalimi. Mūsų vietai apsaugoti yra daugybė apsaugos sistemų tipų. Keletas pavyzdžių yra PIR pagrįsta apsaugos sistema, RFID pagrįsta apsaugos sistema, skaitmeninio užrakto sistema, biologinės matricos sistemos, elektroninis kodinis užraktas. Šiame įraše mes sujungsime pirštų atspaudų jutiklio modulį su „Arduino“ ir sukursime pirštų atspaudų pagrindu veikiančią biometrinę apsaugos sistemą su durų rakinimu. „Finger Print“ yra laikomas vienu saugiausių raktų bet kuriai sistemai užrakinti arba atrakinti, nes jis gali unikaliai atpažinti bet kurį asmenį ir jo negalima lengvai nukopijuoti.
Būtini komponentai:
- Arduino Uno
- Pirštų spausdinimo modulis
- Mygtukas -4
- Šviesos diodai -2
- 1K rezistorius -3
- 2.2K rezistorius -1 "
- Maitinimas
- Jungiamieji laidai
- Kartoninė dėžutė
- Servo variklis -1
- 16x2 LCD -1
- Duonos lenta -1
Pirštų atspaudų jutiklio modulis su „Arduino“:
Pirštų atspaudų jutiklio modulis arba „Finger Print Scanner“ yra modulis, kuris užfiksuoja piršto atspaudo vaizdą, tada paverčia jį į lygiavertį šabloną ir išsaugo juos savo atmintyje, pasirinkdamas „Arduino“ ID (vietą). Čia „Arduino“ komanduoja visą procesą, pavyzdžiui, pirštų atspaudų atvaizdą, pavertimą šablonais ir vietos saugojimą ir pan.
Šiame „ Arduino“ pirštų atspaudų jutiklių projekte mes naudojome pirštų atspaudų jutiklių modulį, kad piršto ar nykščio atspaudas būtų įvestas į sistemą. Čia mes naudojame 4 mygtukus, norėdami užsiregistruoti / grįžti, ištrinti / gerai, aukštyn ir žemyn. Kiekvienas raktas turi dvigubų funkcijų. Užregistravimo mygtukas naudojamas norint įrašyti naują piršto įspūdį į sistemą ir nugaros funkciją. Reiškia, kai vartotojas nori užregistruoti naują pirštą, tada jis / ji turi paspausti registracijos mygtuką, tada LCD prašo įvesti ID arba vietą, kurioje vartotojas nori išsaugoti pirštų atspaudų išvestį. Dabar, jei šiuo metu vartotojas nenori tęsti toliau, jis / ji gali dar kartą paspausti registracijos mygtuką, kad grįžtumėte atgal (šį kartą registracijos raktas elgiasi kaip grįžimo raktas). Reiškia registracijos klavišas turi ir registracijos, ir atgal funkciją. DEL / OK klavišastaip pat turi tą pačią dvigubą funkciją, pvz., kai vartotojas užregistruoja naują pirštą, jis / ji turi pasirinkti piršto ID arba vietą naudodamas dar du klavišus, ty UP / MATCH IR DOWN / MATCH (kuris taip pat turi dvigubą funkciją), dabar vartotojas turi paspausti DEL / OK raktas (šį kartą šis klavišas veikia kaip gerai), jei norite tęsti pasirinktą ID arba vietą. UP / DOWN mygtukai taip pat palaiko pirštų atspaudų atitikimo funkciją. Pabaigoje patikrinkite vaizdo įrašą, kad galėtumėte demonstruoti.
Čia taip pat pritvirtinome kartoninę dėžę su „Servo“ varikliu, kad veiktų kaip apsauginiai vartai, kurie atsidarys tik tada, kai sistema perskaitys teisingą „Finger Print“. Geltonas šviesos diodas rodo, kad vartai uždaryti, o žalias - tai, kad vartai yra atidaryti.
Darbinis paaiškinimas:
Šio piršto antspaudo jutiklio durų užrakto darbasyra lengva. Šiame projekte mes panaudojome vartus, kurie bus atidaryti, kai laikysime pirštą prie pirštų atspaudų modulio. Visų pirma, vartotojas turi užregistruoti pirštą mygtuko / mygtukų pagalba. Norėdami tai padaryti, turite paspausti mygtuką ENROLL, tada LCD prašo įvesti vietą / ID, kurioje bus pirštas. Taigi dabar vartotojas turi įvesti ID (vietą) naudodamas aukštyn / žemyn klavišus. Pasirinkę Vieta / ID, vartotojas turi paspausti mygtuką Gerai (DEL). Dabar LCD paprašys uždėti pirštą ant piršto spausdinimo modulio. Dabar vartotojas turi uždėti pirštą ant piršto spausdinimo modulio. Tada LCD paprašys išimti pirštą iš piršto spausdinimo modulio ir vėl paprašys įdėti pirštą. Dabar vartotojas turi vėl uždėti pirštą ant piršto spausdinimo modulio.Dabar pirštų atspaudų modulis paima vaizdą, paverčia jį šablonais ir pagal pasirinktą ID įrašo į pirštų atspaudų modulio atmintį. Dabar vartotojas gali atidaryti vartus uždėdamas tą patį pirštą, kurį pridėjo arba įtraukė į sistemą, tada paspauskite mygtuką MATCH (aukštyn / žemyn). Tuo pačiu metodu vartotojas gali pridėti daugiau pirštų. Žiūrėkite toliau pateiktą vaizdo įrašą, kad galėtumėte demonstruoti.
Dabar, jei vartotojas nori pašalinti arba ištrinti kurį nors iš išsaugotų ID, jis / ji turi paspausti DEL mygtuką, paspaudus DEL mygtuką, LCD paprašys pasirinkti vietą, tai reiškia, kad pasirinkite ID, kurį norite ištrinti. Dabar vartotojas turi pasirinkti ID ir paspausti mygtuką OK (tas pats DEL klavišas). Dabar LCD praneš, kad pirštas buvo sėkmingai ištrintas. Dabar vartotojas gali patikrinti, ar jis buvo ištrintas, ar ne, uždėdamas tą patį pirštą ant pirštų atspaudų modulio ir paspausdamas mygtuką MATCH (aukštyn / žemyn).
Kai pirštas bus galiojantis, žalias šviesos diodas šviečia penkias sekundes, o vartai taip pat atsidaro tuo pačiu metu. Po 5 sekundžių vartai bus uždaryti automatiškai. Vartotojas gali pritaikyti vartų / durų atidarymą ir uždarymą pagal jų reikalavimus. Servo variklis yra atsakingas už vartų atidarymą ir uždarymą.
Grandinės paaiškinimas:
Šios „ Arduino“ pirštų atspaudų apsaugos sistemos grandinė yra labai paprasta, kurioje yra „Arduino“, kuri valdo visą projekto procesą, mygtuko, garsinio signalo ir skystųjų kristalų ekraną. „Arduino“ kontroliuoja visus procesus.
Mygtukas yra tiesiogiai prijungtas prie „Arduino“ kaiščių D14 (ENROLL), D15 (DEL), D16 (UP) ir D17 (DOWN) žemės atžvilgiu, o geltonas šviesos diodas yra prijungtas prie „Arduino“ skaitmeninio kaiščio D7 žemės atžvilgiu. 1k rezistorius ir žalias šviesos diodas yra prijungtas prie „Arduino“ D6 tuo pačiu metodu. Pirštų spausdinimo modulio Rx ir Tx tiesiogiai prijungti prie „Arduino“ programinės įrangos serijos arba skaitmeninio kaiščio D2 ir D3. 5v maitinimas naudojamas pirštų atspaudų moduliui, paimtam iš „Arduino“ plokštės, maitinti, o „Servo“ variklis taip pat prijungtas prie „Arduino“ PWM kaiščio D5. 16x2 skystųjų kristalų ekranas sukonfigūruotas 4 bitų režimu, o jo RS, EN, D4, D5, D6 ir D7 yra tiesiogiai prijungti prie „Arduino“ skaitmeninių kaiščių D13, D12, D11, D10, D9 ir D8.
Pastaba: čia D14, D15, D16, D17 yra atitinkamai A0, A1, A2, A3.
Programos paaiškinimas:
Programoje „Adafruit Fingerprint Sensor Library“ naudojome pirštų atspaudų moduliui susieti su „Arduino“ plokšte. Žemiau galite patikrinti visą kodą, jį galima lengvai suprasti. Čia mes paaiškiname pagrindines „Arduino“ programos funkcijas.
Žemiau kodo dalis naudojama pirštų atspaudams įvesti kaip įvestis ir imtis veiksmų, atsižvelgiant į piršto patvirtinimą. Jei pirštas bus patvirtintas, vartai bus atviri, kitaip likite uždaryti.
už (int i = 0; i <5; i ++) {lcd. aišku (); lcd.print („Vietos pirštas“); vėlavimas (2000); int rezultatas = getFingerprintIDez (); if (rezultatas> = 0) {digitalWrite (openLight, HIGH); „digitalWrite“ („closeLight“, „LOW“); lcd.clear (); lcd.print ("Leidžiama"); lcd.setCursor (0,1); lcd.print („Atidaryta Gete“); „myServo.write“ (0); vėlavimas (5000); „myServo.write“ (180); „digitalWrite“ („closeLight“, HIGH); „digitalWrite“ („openLight“, „LOW“); lcd.setCursor (0,1); lcd.print („Vartai uždaryti“);
Atsižvelgiant į negaliojančią funkciją checkKeys () funkcija naudojama patikrinti, ar paspaustas mygtukas Užregistruoti arba DEL, ir ką daryti paspaudus. Jei paspaudus mygtuką ENROLL, iškviečiama funkcija Užregistruoti () ir paspaudus mygtuką DEL, tada iškviečiama ištrynimo () funkcija.
void checkKeys () {if (digitalRead (užsiregistruoti) == 0) {lcd.clear (); lcd.print ("Prašau palaukti"); vėlavimas (1000); while (digitalRead (užsiregistruoti) == 0); Registruotis (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Prašau palaukti"); vėlavimas (1000); ištrinti (); }}
Pateikta funkcija naudojama norint įvesti ištrinamą ID ir paskambinti uint8_t deleteFingerprint (uint8_t id) funkcijai, kuri ištrins pirštą iš įrašų.
negaliojantis ištrinti () {int skaičius = 0; lcd.clear (); lcd.print ("Ištrinti pirštą"); lcd.setCursor (0,1); lcd.print ("Vieta:"); o (1) {lcd.setCursor (9,1); lcd.print (skaičius); if (digitalRead (up) == 0) {count ++; jei (skaičius> 25) skaičius = 0; vėlavimas (500); }……………….
Nurodyta funkcija naudojama pirštų atspaudams ištrinti iš pasirinkto ID įrašo.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Prašome palaukti"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Ištrinta!"); lcd.clear (); lcd.print („Figeris ištrintas“); lcd.setCursor (0,1); lcd.print („Sėkmingai“); vėlavimas (1000); } else {Serial.print ("Kažkas negerai"); lcd.clear (); lcd.print („Kažkas ne taip“); lcd.setCursor (0,1); lcd.print („Vėliau bandykite dar kartą“); vėlavimas (2000); grįžti p; }}
„Given Funkcija“ naudojama imant piršto atspaudo vaizdą ir konvertuojant jį į šabloną bei išsaugant jį pasirinktu ID į pirštų atspaudų modulio atmintį.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("piršto ID:"); lcd.print (id); lcd.setCursor (0,1); lcd.print („Vietos pirštas“); vėlavimas (2000); o (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Taigi, kaip mes galime naudoti „ Arduino“ su „Finger Print Reader“ moduliu saugos sistemai.