- Požadované komponenty:
- Modul snímača odtlačkov prstov s Arduino:
- Pracovné vysvetlenie:
- Vysvetlenie obvodu:
- Vysvetlenie programu:
Bezpečnosť je v každodennom živote hlavným problémom a digitálne zámky sa stali dôležitou súčasťou týchto bezpečnostných systémov. Na zabezpečenie nášho miesta je k dispozícii veľa typov bezpečnostných systémov. Niekoľko príkladov je bezpečnostný systém založený na PIR, bezpečnostný systém založený na RFID, systém digitálneho zámku, systémy biomatice, elektronický kódový zámok. V tomto príspevku prepojíme modul snímača odtlačkov prstov s Arduinom a postavíme biometrický bezpečnostný systém založený na odtlačkoch prstov so zamykaním dverí. Odtlačok prsta sa považuje za jeden z najbezpečnejších kľúčov na uzamknutie alebo odomknutie ľubovoľného systému, pretože dokáže jedinečne rozpoznať každú osobu a nemožno ju ľahko kopírovať.
Požadované komponenty:
- Arduino Uno
- Modul odtlačkov prstov
- Tlačidlo -4
- LED diódy -2
- 1K rezistor -3
- 2,2K rezistor -1`
- Zdroj
- Pripojovacie vodiče
- Kartónová krabica
- Servomotor -1
- 16 x 2 LCD -1
- Chlebová doska -1
Modul snímača odtlačkov prstov s Arduino:
Modul snímača odtlačkov prstov alebo snímač odtlačkov prstov je modul, ktorý zachytáva tlačený obrázok prsta a potom ho prevádza do ekvivalentnej šablóny a ukladá ich do svojej pamäte na vybrané ID (umiestnenie) od spoločnosti Arduino. Tu riadi celý proces Arduino, ako je snímanie odtlačkov prstov, prevádzanie do šablón a ukladanie umiestnenia atď.
V tomto projekte snímača odtlačkov prstov Arduino sme použili modul snímača odtlačkov prstov, aby sme ako vstup do systému prijali odtlačok prsta alebo palca. Tu používame 4 tlačidlá na prihlásenie / späť, mazanie / OK, HORE a Dole. Každý kľúč má dvojité funkcie. Kláves Enroll sa používa na zapísanie nového odtlačku prsta do systému a tiež do funkcie späť. Znamená to, že keď používateľ chce zaregistrovať nový prst, musí stlačiť klávesu Enroll a potom sa na displeji LCD zobrazí výzva na zadanie ID alebo umiestnenia, kam chce používateľ uložiť výstup odtlačku prsta. Ak teraz užívateľ nechce pokračovať, môže sa vrátiť späť opätovným stlačením klávesu na registráciu (kláves na registráciu sa tentokrát chová ako kláves Back). Znamená, že kľúč na registráciu má funkciu registrácie aj späť. Kláves DEL / OKmá tiež rovnakú dvojitú funkciu, ako keď používateľ zaregistruje nový prst, potom musí zvoliť ID prsta alebo umiestnenie pomocou ďalších dvoch klávesov, a to NAHORU / ZHODY A DOLU / ZHODY (ktoré majú tiež dvojitú funkciu), teraz musí používateľ stlačiť kláves DEL / OK kľúč (tentokrát sa tento kláves chová ako v poriadku), aby ste pokračovali s vybraným ID alebo umiestnením. Klávesy UP / DOWN taktiež podporujú funkciu zhody odtlačkov prstov. Na konci si pozrite video na úplnú ukážku.
Tu sme tiež pripevnili kartónovú škatuľu so servomotorom, ktorá slúži ako bezpečnostná brána, ktorá sa otvorí, až keď systém načíta správny odtlačok prsta. Žltá LED signalizuje zatvorenie brány a zelená LED signalizuje otvorenie brány.
Pracovné vysvetlenie:
Fungovanie tohto zámku dverí snímača odtlačkov prstovje ľahké. V tomto projekte sme použili bránu, ktorá bude otvorená, keď položíme uložený prst na modul tlače prstov. Najskôr je potrebné, aby si užívateľ zaregistroval prst pomocou tlačidiel / klávesov. Za týmto účelom musí užívateľ stlačiť kláves ENROLL a potom LCD požiadať o zadanie polohy / ID, kde bude prstom obchod. Teraz teda používateľ musí zadať ID (umiestnenie) pomocou klávesov UP / DOWN. Po výbere umiestnenia / ID musí užívateľ stlačiť kláves OK (kláves DEL). Teraz LCD požiada o vloženie prsta nad modul tlače prstov. Teraz je potrebné vložiť modul prsta cez modul tlače prstov. Potom sa na LCD displeji zobrazí výzva na odstránenie prsta z modulu tlače prstov a opätovné požiadanie o vloženie prsta. Teraz musí používateľ znovu položiť prst na modul tlače prstov.Modul odtlačkov prstov teraz nasníma obrázok a prevedie ho do šablón a uloží ho podľa zvoleného ID do pamäte modulu odtlačkov prstov. Teraz môže užívateľ otvoriť bránu tým istým prstom, ktorý pridal alebo zaregistroval do systému, a potom stlačiť kláves MATCH (kláves UP / Down). Rovnakým spôsobom môže používateľ pridať ďalšie prsty. Kompletné ukážky nájdete na videu nižšie.
Teraz, ak chce užívateľ odstrániť alebo vymazať uložené ID, musí stlačiť klávesu DEL, po stlačení klávesu DEL sa na LCD displeji zobrazí výzva na výber miesta, čo znamená ID, ktoré sa má vymazať. Teraz musí používateľ zvoliť ID a stlačiť kláves OK (rovnaké tlačidlo DEL). Teraz vás LCD bude informovať, že prst bol úspešne vymazaný. Teraz môže používateľ skontrolovať, či bol odstránený alebo nie, a to tak, že položí rovnaký prst na modul tlače prstov a stlačí kláves MATCH (kláves UP / Down).
Po umiestnení prsta bude platný Zelený indikátor LED bude svietiť päť sekúnd a brána sa tiež otvorí súčasne. Po 5 sekundách sa brána automaticky zatvorí. Užívateľ si môže prispôsobiť otváranie a zatváranie brány / dverí podľa svojich požiadaviek. Za otvorenie a zatvorenie brány je zodpovedný servomotor.
Vysvetlenie obvodu:
Obvod tohto bezpečnostného systému pre odtlačky prstov Arduino je veľmi jednoduchý a obsahuje Arduino, ktoré riadi celý proces projektu, tlačidlo, bzučiak a LCD. Arduino riadi všetky procesy.
Tlačidlo je priamo spojené s pinmi D14 (ENROLL), D15 (DEL), D16 (UP) a D17 (DOWN) Arduina vzhľadom na zem. A žltá LED je pripojená na digitálny pin D7 Arduina vzhľadom na zem cez Rezistor 1k a zelená LED je pripojená k D6 Arduina rovnakou metódou. Moduly Rx a Tx modulu Finger Print sú priamo pripojené na softvérový sériový alebo digitálny pin D2 a D3 spoločnosti Arduino. Napájanie 5 V sa používa na napájanie modulu odtlačkov prstov odobratého z dosky Arduino a servomotor je tiež pripojený k pinu PWM D5 Arduina. Displej LCD 16x2 je nakonfigurovaný v 4-bitovom režime a jeho RS, EN, D4, D5, D6 a D7 sú priamo pripojené na digitálne piny D13, D12, D11, D10, D9 a D8 spoločnosti Arduino.
Poznámka: tu D14, D15, D16, D17 sú A0, A1, A2, A3.
Vysvetlenie programu:
V programe sme použili knižnicu snímačov odtlačkov prstov Adafruit na prepojenie modulu odtlačkov prstov s doskou Arduino. Celý kód si môžete skontrolovať nižšie, dá sa ľahko pochopiť. Tu vysvetľujeme hlavné funkcie programu Arduino.
Nasledujúca časť kódu slúži na prijatie odtlačku prsta ako vstupu a vykonanie akcie podľa overenia prsta. Ak bude prst overený, brána sa otvorí, inak zostane zatvorená.
pre (int i = 0; i <5; i ++) {lcd.clear (); lcd.print („umiestniť prst“); meškanie (2000); int výsledok = getFingerprintIDez (); if (výsledok> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Povolené"); lcd.setCursor (0,1); lcd.print („Gete Opened“); myServo.write (0); oneskorenie (5 000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print („Brána zatvorená“);
Daná void funkcia checkKeys () sa používa na kontrolu, či je alebo nie je stlačená klávesa Enroll alebo DEL a čo robiť, ak je stlačená. Ak je stlačené tlačidlo ENROLL, volá sa funkcia Enroll () a je stlačené tlačidlo DEL, potom sa volá funkcia delete () .
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Prosím čakajte"); oneskorenie (1 000); while (digitalRead (enroll) == 0); Zaregistrovať (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Prosím čakajte"); oneskorenie (1 000); delet (); }}
Daná funkcia sa používa na zadanie ID, ktoré sa má vymazať, a na vyvolanie funkcie uint8_t deleteFingerprint (uint8_t id), ktorá vymaže prst zo záznamov.
void delet () {int count = 0; lcd.clear (); lcd.print („Odstrániť prst“); lcd.setCursor (0,1); lcd.print ("Umiestnenie:"); while (1) {lcd.setCursor (9,1); lcd.print (počet); if (digitalRead (up) == 0) {count ++; if (počet> 25) počet = 0; oneskorenie (500); }……………….
Daná funkcia slúži na mazanie odtlačkov prstov zo záznamu vybraného ID.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Prosím čakajte"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Odstránené!"); lcd.clear (); lcd.print („Figer bol odstránený“); lcd.setCursor (0,1); lcd.print („Úspešne“); oneskorenie (1 000); } else {Serial.print ("Nieco zle"); lcd.clear (); lcd.print („Niečo zlé“); lcd.setCursor (0,1); lcd.print ("Skúste to znova neskôr"); meškanie (2000); návrat p; }}
Daná funkcia sa používa na snímanie odtlačkov prstov a ich prevedenie do šablóny a uloženie podľa zvoleného ID do pamäte modulu odtlačkov prstov.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("ID prsta:"); lcd.print (id); lcd.setCursor (0,1); lcd.print („umiestniť prst“); meškanie (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Takto môžeme použiť Arduino s modulom čítačky odtlačkov prstov pre bezpečnostný systém.