- Componente necesare:
- Modul senzor de amprentă digitală cu Arduino:
- Explicație de lucru:
- Explicația circuitului:
- Explicația programului:
Securitatea este o preocupare majoră în viața noastră de zi cu zi, iar încuietorile digitale au devenit o parte importantă a acestor sisteme de securitate. Există multe tipuri de sisteme de securitate disponibile pentru a ne asigura locul. Câteva exemple sunt sistemul de securitate bazat pe PIR, sistemul de securitate bazat pe RFID, sistemul de blocare digitală, sistemele bio-matrice, blocarea codului electronic. În acest post, vom interfața un modul senzor de amprentă digitală cu Arduino și vom construi un sistem de securitate biometrică bazat pe amprentă digitală, cu blocare a ușii. Finger Print este considerat una dintre cele mai sigure chei pentru blocarea sau deblocarea oricărui sistem, deoarece poate recunoaște orice persoană în mod unic și nu poate fi copiat cu ușurință.
Componente necesare:
- Arduino Uno
- Modul de amprentă digitală
- Buton de apăsare -4
- LED-uri -2
- Rezistor 1K -3
- 2.2K rezistor -1`
- Alimentare electrică
- Conectarea firelor
- Cutie de carton
- Servomotor -1
- 16x2 LCD -1
- Pâine -1
Modul senzor de amprentă digitală cu Arduino:
Finger Print Sensor Module sau Finger Print Scanner este un modul care captează imaginea cu amprentă digitală și apoi o convertește în șablonul echivalent și le salvează în memoria sa pe ID-ul selectat (locație) de către Arduino. Aici tot procesul este comandat de Arduino, cum ar fi luarea unei imagini de amprentă digitală, transformarea ei în șabloane și stocarea locației etc.
În acest proiect al senzorului de amprentă digitală Arduino, am folosit modulul senzorului de amprentă digitală pentru a lua amprenta degetului sau degetului mare ca intrare în sistem. Aici folosim 4 butoane pentru a înregistra / înapoi, Șterge / OK, sus și jos. Fiecare cheie are caracteristici duble. Tasta de înscriere este utilizată și pentru înscrierea de noi amprente deget în funcția de sistem și înapoi. Înseamnă că utilizatorul dorește să înregistreze un deget nou, atunci el / ea trebuie să apese tasta de înregistrare, apoi LCD-ul solicită ID-ul sau locația în care utilizatorul dorește să stocheze ieșirea de amprentă. Acum, dacă în acest moment utilizatorul nu dorește să continue mai departe, el / ea poate apăsa din nou tasta de înscriere pentru a reveni (de data aceasta tasta de înscriere se comportă ca tasta Înapoi). Cheia de înregistrare înseamnă atât funcția de înscriere, cât și funcția de revenire. Tasta DEL / OKare, de asemenea, aceeași funcție dublă ca atunci când utilizatorul înregistrează un deget nou, atunci el / ea trebuie să selecteze ID-ul degetului sau locația utilizând alte două taste și anume SUS / MATCH ȘI JOS / MATCH (care are și funcție dublă) acum utilizatorul trebuie să apese DEL / OK (de data aceasta această cheie se comportă ca OK) pentru a continua cu ID-ul sau locația selectată. Tastele SUS / JOS acceptă și funcția de potrivire a amprentelor digitale. Verificați videoclipul la sfârșit pentru o demonstrație completă.
Aici am atașat, de asemenea, o cutie de carton cu un servomotor pentru a acționa ca o poartă de securitate, care se va deschide numai atunci când sistemul va citi corect Finger Print. LED-ul galben indică poarta este închisă și LED-ul verde indică poarta este deschisă.
Explicație de lucru:
Funcționarea acestui dispozitiv de blocare a ușii senzorului de amprentă digitalăeste usor. În acest proiect, am folosit o poartă care va fi deschisă atunci când așezăm degetul stocat pe modulul de amprentă. În primul rând, utilizatorul trebuie să înregistreze degetul cu ajutorul butoanelor / tastelor. Pentru a face acest lucru, utilizatorul trebuie să apese tasta ENROLL și apoi LCD-ul solicită introducerea locației / ID-ului unde degetul va fi un magazin. Deci, acum utilizatorul trebuie să introducă ID-ul (Locație) utilizând tastele SUS / JOS. După selectarea Locație / ID, utilizatorul trebuie să apese o tastă OK (tasta DEL). Acum LCD va solicita plasarea degetului peste modulul de amprentă. Acum utilizatorul trebuie să pună degetul peste modulul de amprentă. Apoi, LCD va cere să scoateți degetul din modulul de amprentă și, din nou, să cereți plasarea degetului. Acum utilizatorul trebuie să pună degetul din nou peste modulul de amprentă.Acum modulul de amprentă digitală ia o imagine și o convertește în șabloane și o stochează prin ID-ul selectat în memoria modulului de amprentă digitală. Acum utilizatorul poate deschide poarta plasând același deget pe care l-a adăugat sau înscris în sistem și apoi apăsați tasta MATCH (tasta SUS / JOS). Prin aceeași metodă, utilizatorul poate adăuga mai multe degete. Verificați videoclipul de mai jos pentru o demonstrație completă.
Acum, dacă utilizatorul dorește să elimine sau să șteargă oricare dintre ID-urile stocate, atunci trebuie să apese tasta DEL, după ce a apăsat tasta DEL, LCD-ul va solicita locația selectată înseamnă selectarea ID-ului care trebuie șters. Acum utilizatorul trebuie să selecteze ID și să apese tasta OK (aceeași tastă DEL). Acum, LCD-ul vă va informa că degetul a fost șters cu succes. Acum utilizatorul poate verifica dacă a fost șters sau nu, plasând același deget peste modulul de amprentă și apăsând tasta MATCH (tasta SUS / JOS).
Când degetul așezat va fi valid LED-ul verde va aprinde timp de cinci secunde și poarta se deschide, de asemenea, în același timp. După 5 secunde poarta va fi închisă automat. Utilizatorul poate personaliza deschiderea și închiderea porții / ușilor în funcție de cerințele lor. Servomotorul este responsabil pentru deschiderea și închiderea porții.
Explicația circuitului:
Circuitul acestui sistem de securitate pentru amprentă digitală Arduino este foarte simplu, care conține Arduino care controlează întregul proces al proiectului, buton, buzzer și LCD. Arduino controlează procesele complete.
Butonul este conectat direct la pinul D14 (ENROLL), D15 (DEL), D16 (UP) și D17 (DOWN) al Arduino cu privire la masă, iar LED-ul galben este conectat la pinul digital D7 al Arduino cu privire la masă printr-un Rezistorul 1k și LED-ul verde sunt conectate la D6 din Arduino cu aceeași metodă. Rx și Tx ale modulului de imprimare digitală conectate direct la software-ul serial sau pin digital D2 și D3 al Arduino. Alimentarea de 5v este utilizată pentru alimentarea modulului de amprentă digitală preluat de pe placa Arduino, iar motorul Servo este de asemenea conectat la pinul PWM D5 al Arduino. Un ecran LCD de 16x2 este configurat în modul 4 biți, iar RS, EN, D4, D5, D6 și D7 sunt conectate direct la pinul digital D13, D12, D11, D10, D9 și D8 al Arduino.
Notă: aici D14, D15, D16, D17 sunt respectiv A0, A1, A2, A3.
Explicația programului:
Într-un program, am folosit Adafruit Fingerprint Sensor Library pentru interfațarea modulului de amprentă digitală cu placa Arduino. Puteți verifica codul complet de mai jos, acesta poate fi ușor de înțeles. Aici explicăm funcțiile principale ale programului Arduino.
Bucata de cod de mai jos este utilizată pentru a lua Finger Print ca intrare și a lua măsuri în funcție de validarea degetului. Dacă degetul va fi validat poarta va fi deschisă altfel rămâneți închisă.
for (int i = 0; i <5; i ++) {lcd.clear (); lcd.print („Plasați degetul”); întârziere (2000); int result = getFingerprintIDez (); if (result> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print („Permis”); lcd.setCursor (0,1); lcd.print („Gete deschis”); myServo.write (0); întârziere (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print („Poarta închisă”);
Având în vedere nule checkKeys () funcție este utilizată pentru verificarea înroleze sau DEL este apăsată tasta sau nu și ce să facă dacă este apăsat. Dacă se apasă tasta ENROLL, se apelează funcția Enroll () și se apasă tasta DEL, apoi se apelează funcția Delete () .
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print („Vă rugăm să așteptați”); întârziere (1000); while (digitalRead (enroll) == 0); Înscrieți-vă (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print („Vă rugăm să așteptați”); întârziere (1000); delet (); }}
Funcția dată este utilizată pentru introducerea ID-ului care trebuie șters și apelarea funcției uint8_t deleteFingerprint (uint8_t id) care va șterge degetul din înregistrări.
void delet () {int count = 0; lcd.clear (); lcd.print („Șterge degetul”); lcd.setCursor (0,1); lcd.print („Locație:”); while (1) {lcd.setCursor (9,1); lcd.print (număr); if (digitalRead (up) == 0) {count ++; if (număr> 25) număr = 0; întârziere (500); }……………….
Funcția dată este utilizată pentru ștergerea amprentei din înregistrarea ID-ului selectat.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print („Vă rugăm să așteptați”); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Șters!"); lcd.clear (); lcd.print ("Figer șters"); lcd.setCursor (0,1); lcd.print („Cu succes”); întârziere (1000); } else {Serial.print („Ceva greșit”); lcd.clear (); lcd.print („Ceva greșit”); lcd.setCursor (0,1); lcd.print („Încercați din nou mai târziu”); întârziere (2000); retur p; }}
Funcția dată este folosită pentru a face o imagine cu amprentă și a le converti în șablon și a o salva prin ID-ul selectat în memoria modulului de amprentă.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("ID-ul degetului:"); lcd.print (id); lcd.setCursor (0,1); lcd.print („Plasați degetul”); întârziere (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Deci, așa putem folosi Arduino cu modulul Finger Print Reader pentru sistemul de securitate.