- Požadované komponenty:
- Modul snímače otisků prstů s Arduino:
- Pracovní vysvětlení:
- Vysvětlení obvodu:
- Vysvětlení programu:
Zabezpečení je v našem každodenním životě velkým problémem a digitální zámky se staly důležitou součástí těchto bezpečnostních systémů. K zabezpečení našeho místa je k dispozici mnoho typů bezpečnostních systémů. Některé příklady jsou bezpečnostní systém založený na PIR, bezpečnostní systém založený na RFID, systém digitálního zámku, systémy biomatice, elektronický kódový zámek. V tomto příspěvku propojíme modul snímače otisků prstů s Arduino a postavíme biometrický bezpečnostní systém založený na otisku prstu se zamykáním dveří. Otisk prstu je považován za jeden z nejbezpečnějších klíčů k uzamčení nebo odemknutí jakéhokoli systému, protože dokáže jedinečně rozpoznat jakoukoli osobu a nelze ji snadno kopírovat.
Požadované komponenty:
- Arduino Uno
- Modul otisku prstu
- Tlačítko -4
- LED diody -2
- 1K rezistor -3
- 2,2K rezistor -1`
- Zdroj napájení
- Připojovací vodiče
- Lepenkové krabice
- Servomotor -1
- 16x2 LCD -1
- Chlebová deska -1
Modul snímače otisků prstů s Arduino:
Modul snímače otisků prstů nebo snímač otisků prstů je modul, který zachycuje tiskový obrázek prstu a poté jej převádí do ekvivalentní šablony a ukládá je do své paměti na vybrané ID (umístění) od Arduina. Zde celý proces ovládá Arduino, jako je pořizování snímků otisků prstů, jejich převádění na šablony a ukládání umístění atd.
V tomto projektu snímače otisků prstů Arduino jsme použili modul snímače otisků prstů, abychom jako vstup do systému použili otisk prstu nebo palce. Zde používáme 4 tlačítka pro registraci / zpět, mazání / OK, NAHORU a DOLŮ. Každá klávesa má dvojí funkce. Klávesa registrace se používá také pro registraci nového otisku prstu do funkce systému a zpět. Znamená to, že když uživatel chce zaregistrovat nový prst, musí stisknout tlačítko pro registraci a poté se LCD zeptá na ID nebo umístění, kam chce uživatel uložit výstup otisku prstu. Nyní, pokud v tuto chvíli uživatel nechce pokračovat dále, může se stisknutím klávesy pro opětovné přihlášení vrátit zpět (tentokrát se klávesa pro zápis chová jako klávesa Zpět). Znamená, že klíč pro registraci má funkci registrace i zpět. Tlačítko DEL / OKmá také stejnou dvojitou funkci, jako když uživatel zaregistruje nový prst, pak musí vybrat ID prstu nebo umístění pomocí dalších dvou klíčů, a to UP / MATCH AND DOWN / MATCH (který má také dvojí funkci), nyní uživatel musí stisknout DEL / OK klíč (tentokrát se tento klíč chová jako OK) pro pokračování s vybraným ID nebo umístěním. Klávesy NAHORU / DOLŮ také podporují funkci shody tisku otisků prstů. Zkontrolujte video na konci pro úplnou demonstraci.
Zde jsme také připojili lepenkovou krabici se servomotorem, která funguje jako bezpečnostní brána, která se otevře pouze tehdy, když systém přečte správný otisk prstu. Žlutá LED signalizuje zavření brány a zelená LED signalizuje otevření brány.
Pracovní vysvětlení:
Fungování tohoto zámku dveří snímače otisků prstůje snadný. V tomto projektu jsme použili bránu, která se otevře, když umístíme uložený prst na modul otisku prstu. Nejprve je třeba, aby si uživatel zaregistroval prst pomocí tlačítek / kláves. Za tímto účelem musí uživatel stisknout klávesu ENROLL a poté se LCD zeptá na zadání místa / ID, kde bude prstem úložiště. Nyní tedy uživatel musí zadat ID (umístění) pomocí kláves NAHORU / DOLŮ. Po výběru umístění / ID musí uživatel stisknout klávesu OK (klávesa DEL). Nyní LCD požádá o vložení prstu nad modul otisku prstu. Nyní musí uživatel přiložit prst na modul pro tisk prstů. Poté LCD požádá o odstranění prstu z modulu pro tisk prstů a znovu požádá o vložení prstu. Nyní musí uživatel znovu přiložit prst na modul pro tisk prstů.Nyní modul otisku prstu pořídí obrázek a převede jej do šablon a uloží jej podle zvoleného ID do paměti modulu otisku prstu. Nyní může uživatel otevřít bránu vložením stejného prstu, který přidal nebo zaregistroval do systému, a poté stiskněte klávesu MATCH (klávesa NAHORU / DOLŮ). Stejnou metodou může uživatel přidat další prsty. Kompletní ukázku najdete ve videu níže.
Nyní, pokud chce uživatel odstranit nebo smazat některý z uložených ID, musí stisknout klávesu DEL, po stisknutí klávesy DEL se na LCD displeji zobrazí výzva k výběru umístění znamená výběr ID, které má být odstraněno. Nyní musí uživatel vybrat ID a stisknout tlačítko OK (stejné tlačítko DEL). Nyní vám LCD dá vědět, že prst byl úspěšně smazán. Uživatel nyní může zkontrolovat, zda byl odstraněn nebo ne, umístěním stejného prstu na modul otisku prstu a stisknutím klávesy MATCH (klávesa NAHORU / DOLŮ).
Po umístění prstu bude platit Zelená LED bude svítit po dobu pěti sekund a současně se otevře také brána. Po 5 sekundách se brána automaticky zavře. Uživatel si může přizpůsobit otevírání a zavírání bran / dveří podle svých požadavků. Za otevření a zavření brány je odpovědný servomotor.
Vysvětlení obvodu:
Obvod tohoto systému zabezpečení otisků prstů Arduino je velmi jednoduchý, který obsahuje Arduino, které řídí celý proces projektu, tlačítko, bzučák a LCD. Arduino řídí kompletní procesy.
Tlačítko je přímo připojeno k pinům D14 (ENROLL), D15 (DEL), D16 (UP) a D17 (DOWN) Arduina vzhledem k zemi A žlutá LED je připojena k digitálnímu kolíku D7 Arduina vzhledem k zemi prostřednictvím 1k rezistor a zelená LED jsou připojeny k D6 Arduina stejnou metodou. Moduly Rx a Tx modulu Finger Print jsou přímo připojeny na softwarový sériový nebo digitální pin D2 a D3 společnosti Arduino. Napájení 5 V se používá k napájení modulu otisků prstů odebraného z desky Arduino a servomotor je také připojen k PWM kolíku D5 Arduina. 16x2 LCD je konfigurován ve 4bitovém režimu a jeho RS, EN, D4, D5, D6 a D7 jsou přímo připojeny na digitální piny D13, D12, D11, D10, D9 a D8 společnosti Arduino.
Poznámka: zde D14, D15, D16, D17 jsou A0, A1, A2, A3.
Vysvětlení programu:
V programu jsme použili Adafruit Fingerprint Sensor Library pro propojení modulu otisků prstů s deskou Arduino. Níže si můžete prohlédnout kompletní kód, který lze snadno pochopit. Zde vysvětlujeme hlavní funkce programu Arduino.
Níže uvedená část kódu slouží k převzetí otisku prstu jako vstupu a provedení akce podle ověření prstu. Pokud bude prst ověřen, brána se otevře, jinak zůstane zavřená.
pro (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Umístit prst"); zpoždění (2000); int result = getFingerprintIDez (); if (výsledek> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Povoleno"); lcd.setCursor (0,1); lcd.print („Otevřeno“); myServo.write (0); zpoždění (5 000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Gate Closed");
Daná funkce void checkKeys () se používá ke kontrole, zda je nebo není stisknuto tlačítko Zapsat nebo DEL a co dělat, pokud je stisknuto. Pokud stisknete klávesu ENROLL, vyvolá se funkce Enroll () a stiskne se klávesa DEL, pak se vyvolá funkce delete () .
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Prosím čekejte"); zpoždění (1000); while (digitalRead (enroll) == 0); Zapsat(); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Počkejte prosím"); zpoždění (1000); delet (); }}
Daná funkce se používá pro zadání ID, které má být odstraněno a volání funkce uint8_t deleteFingerprint (uint8_t id), která odstraní prst ze záznamů.
void delet () {int count = 0; lcd.clear (); lcd.print ("Odstranit prst"); lcd.setCursor (0,1); lcd.print ("Umístění:"); while (1) {lcd.setCursor (9,1); lcd.print (počet); if (digitalRead (up) == 0) {count ++; if (count> 25) count = 0; zpoždění (500); }……………….
Daná funkce se používá pro mazání otisku prstu ze záznamu vybraného ID.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Čekejte prosím"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Smazáno!"); lcd.clear (); lcd.print („Figer Deleted“); lcd.setCursor (0,1); lcd.print ("Úspěšně"); zpoždění (1000); } else {Serial.print ("Něco špatného"); lcd.clear (); lcd.print („Něco špatného“); lcd.setCursor (0,1); lcd.print ("Zkuste to znovu později"); zpoždění (2000); návrat p; }}
Daná funkce se používá k pořizování snímků otisků prstů a jejich převodu do šablony a uložení podle zvoleného ID do paměti modulu otisků prstů.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("ID prstu:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Umístit prst"); zpoždění (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Takto můžeme použít Arduino s modulem čtečky otisků prstů pro bezpečnostní systém.