- Potrebne komponente:
- Modul senzorja za prstni odtis z Arduino:
- Delovna razlaga:
- Pojasnilo vezja:
- Pojasnilo programa:
Varnost je glavna skrb v našem vsakdanjem življenju in digitalne ključavnice so postale pomemben del teh varnostnih sistemov. Za zaščito našega kraja je na voljo veliko vrst varnostnih sistemov. Nekateri primeri so varnostni sistem, ki temelji na PIR, varnostni sistem, ki temelji na RFID, sistem digitalnih ključavnic, sistemi z bio matriko, elektronska koda. V tem prispevku bomo modul senzorja za prstne odtise povezali z Arduino in zgradili biometrični varnostni sistem na osnovi prstnih odtisov z zaklepanjem vrat. Prstni odtis velja za enega najvarnejših ključev za zaklepanje ali odklepanje katerega koli sistema, saj lahko enolično prepozna katero koli osebo in je ni mogoče enostavno kopirati.
Potrebne komponente:
- Arduino Uno
- Modul za tiskanje prstov
- Potisni gumb -4
- LED-diode -2
- 1K upor -3
- 2.2K upor -1`
- Napajanje
- Priključne žice
- Kartonska škatla
- Servo motor -1
- 16x2 LCD -1
- Deska za kruh -1
Modul senzorja za prstni odtis z Arduino:
Modul senzorja za prstni odtis ali optični bralnik prstnih odtisov je modul, ki zajame sliko prstnega odtisa, nato pa jo pretvori v enakovredno predlogo in jih shrani v svoj pomnilnik na izbrani ID (lokaciji), ki jo izda Arduino. Tu ves postopek zapoveduje Arduino, na primer fotografiranje prstnih odtisov, pretvorba v predloge in shranjevanje lokacije itd.
V tem projektu senzorja za prstne odtise Arduino smo uporabili modul senzorja za prstne odtise, da v sistem vnesemo odtis prsta ali palca. Tukaj uporabljamo 4 tipke za vpis / nazaj, brisanje / v redu, gor in dol. Vsak ključ ima dvojne funkcije. Tipka za vpis se uporablja tudi za vpis novega odtisa prsta v sistem in nazaj. Pomeni, ko želi uporabnik vpisati nov prst, nato mora pritisniti tipko za vpis, nato LCD vpraša ID ali lokacijo, kamor želi uporabnik shraniti izpis prstov. Če uporabnik trenutno ne želi nadaljevati, lahko za vrnitev znova pritisne tipko za vpis (tokrat se tipka za vpis obnaša kot tipka za nazaj). Pomeni vpisna tipka ima funkcijo za vpis in nazaj. Tipka DEL / OKima tudi enako dvojno funkcijo, kot kadar uporabnik vpiše nov prst, potem mora izbrati ID prsta ali lokacijo z uporabo dveh dveh tipk, in sicer GOR / UGODBA IN DOL / UTAKLA (ki ima tudi dvojno funkcijo), zdaj mora uporabnik pritisniti DEL / OK tipka (tokrat se ta tipka obnaša kot OK) za nadaljevanje z izbranim ID-jem ali lokacijo. Tipki GOR / DOL podpirata tudi funkcijo ujemanja prstnih odtisov. Na koncu si oglejte videoposnetek za popolno predstavitev.
Tukaj smo priložili tudi kartonsko škatlo s servo motorjem, ki deluje kot varnostna vrata, ki se bodo odprla šele, ko bo sistem prebral pravilno tiskanje prstov. Rumena LED pomeni, da so vrata zaprta, zelena LED pa, da so vrata odprta.
Delovna razlaga:
Delovanje te ključavnice vrat senzorja za prstne odtiseje lahko. V tem projektu smo uporabili vrata, ki bodo odprta, ko shranimo prst na modul za odtis prstov. Najprej mora uporabnik vnesti prst s pomočjo tipk / tipk. Če želite to narediti, mora uporabnik pritisniti tipko ENROLL in nato LCD vpraša za vnos lokacije / ID, kjer bo prst trgovina. Zdaj mora uporabnik vnesti ID (Lokacija) s tipkami GOR / DOL. Po izbiri lokacije / ID mora uporabnik pritisniti tipko OK (tipka DEL). Zdaj bo LCD zahteval, da položite prst nad modul za tiskanje prstov. Zdaj mora uporabnik položiti prst na modul za tiskanje prstov. Nato bo LCD prosil, da odstranite prst iz modula za tiskanje prstov, in spet prosil za namestitev prsta. Zdaj mora uporabnik spet položiti prst čez modul za tiskanje prstov.Zdaj modul za prstni odtis posname sliko, jo pretvori v predloge in shrani z izbranim ID-jem v pomnilnik modula za prstni odtis. Zdaj lahko uporabnik odpre vrata tako, da položi isti prst, ki ga je dodal ali vpisal v sistem, in nato pritisne tipko MATCH (tipka GOR / Dol). Po isti metodi lahko uporabnik doda več prstov. Oglejte si spodnji video za popoln prikaz.
Zdaj, če želi uporabnik odstraniti ali izbrisati kateri koli shranjeni ID, mora pritisniti tipko DEL. Po pritisku tipke DEL bo LCD vprašal za izbrano lokacijo, kar pomeni, da je treba ID izbrisati. Zdaj mora uporabnik izbrati ID in pritisniti tipko OK (ista tipka DEL). Zdaj vas bo LCD obvestil, da je bil prst uspešno izbrisan. Zdaj lahko uporabnik preveri, ali je bil izbrisan ali ne, tako da isti prst položi nad modul za tiskanje prstov in pritisne tipko MATCH (tipka GOR / Dol).
Ko bo prst veljaven, bo zelena LED svetila pet sekund, vrata pa se bodo istočasno odprla. Po 5 sekundah se vrata samodejno zaprejo. Uporabnik lahko prilagodi odpiranje in zapiranje vrat / vrat v skladu s svojimi zahtevami. Servo motor je odgovoren za odpiranje in zapiranje vrat.
Pojasnilo vezja:
Vezje tega varnostnega sistema za prstne odtise Arduino je zelo preprosto, saj vsebuje Arduino, ki nadzoruje celoten proces projekta, gumb, zvočni signal in LCD. Arduino nadzoruje celotne procese.
Gumb je neposredno povezan z zatičem D14 (ENROLL), D15 (DEL), D16 (GOR) in D17 (DOL) Arduina glede na zemljo. 1k upor in zelena LED je na isti način priključen na D6 Arduino. Rx in Tx modula za tiskanje prstov sta neposredno povezana s programskim serijskim ali digitalnim zatičem D2 in D3 Arduina. Napajanje 5v se uporablja za napajanje modula za odtis prstov, prevzetega s plošče Arduino, servo motor pa je povezan tudi s PWM zatičem D5 Arduina. LCD 16x2 je konfiguriran v 4-bitnem načinu, njegovi RS, EN, D4, D5, D6 in D7 pa so neposredno povezani na digitalni pin D13, D12, D11, D10, D9 in D8 Arduina.
Opomba: tukaj so D14, D15, D16, D17 A0, A1, A2, A3.
Pojasnilo programa:
V programu smo uporabili knjižnico senzorjev za prstne odtise Adafruit za povezovanje modula prstnih odtisov s ploščo Arduino. Spodaj lahko preverite celotno kodo, ki jo je mogoče enostavno razumeti. Tukaj razlagamo glavne funkcije programa Arduino.
Spodnji del kode se uporablja za tiskanje prstov kot vnos in ukrepanje v skladu s preverjanjem prsta. Če bo prst potrjen, bodo vrata odprta, sicer ostanejo zaprta.
za (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Place Finger"); zamuda (2000); int rezultat = getFingerprintIDez (); if (rezultat> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Dovoljeno"); lcd.setCursor (0,1); lcd.print ("Gete Open"); myServo.write (0); zamuda (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Gate Closed");
Funkcija void checkKeys () se uporablja za preverjanje, ali je tipka za vpis ali pritisnjena ali ne in kaj storiti, če pritisnete Če pritisnete tipko ENROLL, pritisnete funkcijo Enroll () in pritisnete tipko DEL, nato pa funkcijo delete () .
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Prosim počakajte"); zamuda (1000); while (digitalRead (enroll) == 0); Vpis (); } sicer če (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Prosim počakajte"); zamuda (1000); delet (); }}
Dana funkcija se uporablja za vnos ID-ja, ki ga želite izbrisati, in za klic funkcije uint8_t deleteFingerprint (uint8_t id), ki bo izbrisala prst iz zapisov.
void delet () {int count = 0; lcd.clear (); lcd.print ("Delete Finger"); lcd.setCursor (0,1); lcd.print ("Lokacija:"); while (1) {lcd.setCursor (9,1); lcd.print (štetje); if (digitalRead (up) == 0) {count ++; if (count> 25) count = 0; zamuda (500); }……………….
Dana funkcija se uporablja za brisanje prstnih odtisov iz zapisa izbranega ID-ja.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Prosim počakajte"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Izbrisano!"); lcd.clear (); lcd.print ("Slika izbrisana"); lcd.setCursor (0,1); lcd.print ("Uspešno"); zamuda (1000); } else {Serial.print ("Nekaj je narobe"); lcd.clear (); lcd.print ("Nekaj je narobe"); lcd.setCursor (0,1); lcd.print ("Poskusi znova pozneje"); zamuda (2000); vrnitev p; }}
Podana funkcija se uporablja za fotografiranje prstnih odtisov, njihovo pretvorbo v predlogo in shranjevanje z izbranim ID-jem v pomnilnik modula za prstni odtis.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("ID prsta:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Place Finger"); zamuda (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Tako lahko Arduino uporabljamo z modulom bralnika prstnih odtisov za varnostni sistem.