- Vereiste componenten:
- Vingerafdruksensormodule met Arduino:
- Werkende uitleg:
- Circuit uitleg:
- Programma uitleg:
Beveiliging is een grote zorg in ons dagelijks leven en digitale sloten zijn een belangrijk onderdeel geworden van deze beveiligingssystemen. Er zijn veel soorten beveiligingssystemen beschikbaar om onze plek te beveiligen. Enkele voorbeelden zijn op PIR gebaseerd beveiligingssysteem, op RFID gebaseerd beveiligingssysteem, digitaal sluitsysteem, bio-matrixsystemen, elektronica codeslot. In deze post zullen we een vingerafdruksensormodule koppelen met Arduino en een op vingerafdruk gebaseerd biometrisch beveiligingssysteem met deurvergrendeling bouwen. Vingerafdruk wordt beschouwd als een van de veiligste sleutels om elk systeem te vergrendelen of ontgrendelen, omdat het elke persoon uniek kan herkennen en niet gemakkelijk kan worden gekopieerd.
Vereiste componenten:
- Arduino Uno
- Vingerafdrukmodule
- Drukknop -4
- LED's -2
- 1K Weerstand -3
- 2.2K weerstand -1`
- Stroomvoorziening
- Draden aansluiten
- Kartonnen doos
- Servomotor -1
- 16x2 LCD -1
- Broodplank -1
Vingerafdruksensormodule met Arduino:
Vingerafdruksensormodule of vingerafdrukscanner is een module die de afbeelding van een vingerafdruk vastlegt en deze vervolgens omzet in de equivalente sjabloon en deze opslaat in het geheugen op de geselecteerde ID (locatie) door Arduino. Hier wordt het hele proces aangestuurd door Arduino, zoals het maken van een afbeelding van een vingerafdruk, deze omzetten in sjablonen en de locatie opslaan enz.
In dit Arduino-vingerafdruksensorproject hebben we de vingerafdruksensormodule gebruikt om een vinger- of duimafdruk te maken als invoer in het systeem. Hier gebruiken we 4 druktoetsen voor Inschrijven / terug, Verwijderen / OK, Omhoog en Omlaag. Elke sleutel heeft dubbele kenmerken. De registratiesleutel wordt gebruikt voor het registreren van een nieuwe vingerafdruk in het systeem en ook voor de terugfunctie. Betekent dat wanneer de gebruiker een nieuwe vinger wil registreren, hij / zij op de registratietoets moet drukken en het LCD-scherm vraagt naar de ID of locatie waar de gebruiker de vingerafdrukuitvoer wil opslaan. Als de gebruiker op dit moment niet verder wil gaan, kan hij / zij nogmaals op de enroll-toets drukken om terug te gaan (deze keer gedraagt de enroll-toets zich als de Back-toets). De registratiesleutel heeft zowel een registratie- als een back-functie. DEL / OK-toetsheeft ook dezelfde dubbele functie als wanneer de gebruiker een nieuwe vinger inschrijft, dan moet hij / zij vinger-ID of locatie selecteren door nog een andere twee toetsen te gebruiken, namelijk UP / MATCH EN DOWN / MATCH (die ook een dubbele functie heeft) nu moet de gebruiker op DEL / OK drukken toets (deze keer gedraagt deze toets zich als OK) om verder te gaan met de geselecteerde ID of Locatie. UP / DOWN-toetsen ondersteunen ook de functie voor het matchen van vingerafdrukken. Bekijk de video aan het einde voor een volledige demonstratie.
Hier hebben we ook een kartonnen doos met een servomotor bevestigd die als een beveiligingspoortje fungeert, dat alleen opengaat als het systeem de juiste vingerafdruk leest. Gele LED geeft aan dat de poort gesloten is en groene LED geeft aan dat de poort is geopend.
Werkende uitleg:
Werking van dit deurslot van de vingerafdruksensoris makkelijk. In dit project hebben we een poort gebruikt die open gaat als we een opgeslagen vinger op de vingerafdrukmodule plaatsen. Allereerst moet de gebruiker de vinger registreren met behulp van drukknop / toetsen. Om dit te doen, moet de gebruiker op de ENROLL-toets drukken en vervolgens wordt op het LCD-scherm gevraagd om de locatie / ID in te voeren waar de vinger een winkel zal zijn. Dus nu moet de gebruiker de ID (locatie) invoeren met de UP / DOWN-toetsen. Na het selecteren van Locatie / ID moet de gebruiker op een OK-toets (DEL-toets) drukken. Nu zal het LCD-scherm vragen om een vinger over de vingerafdrukmodule te plaatsen. Nu moet de gebruiker zijn vinger over de vingerafdrukmodule plaatsen. Vervolgens vraagt het LCD-scherm om de vinger van de vingerafdrukmodule te verwijderen en opnieuw om het plaatsen van de vinger. Nu moet de gebruiker zijn vinger weer over de vingerafdrukmodule plaatsen.Nu neemt de vingerafdrukmodule een afbeelding en converteert deze naar sjablonen en slaat deze op basis van de geselecteerde ID op in het geheugen van de vingerafdrukmodule. Nu kan de gebruiker de poort openen door dezelfde vinger te plaatsen die hij / zij heeft toegevoegd aan of ingeschreven in het systeem en vervolgens op de MATCH-toets (UP / Down-toets) te drukken. Op dezelfde manier kan de gebruiker meer vingers toevoegen. Bekijk de video hieronder voor een volledige demonstratie.
Als de gebruiker nu een opgeslagen ID wil verwijderen of verwijderen, moet hij / zij op de DEL-toets drukken, na het indrukken van de DEL-toets, zal het LCD-scherm om een geselecteerde locatie vragen, een ID selecteren die moet worden verwijderd. Nu moet de gebruiker ID selecteren en op de OK-toets drukken (dezelfde DEL-toets). Nu zal het LCD-scherm u laten weten dat de vinger met succes is verwijderd. Nu kan de gebruiker controleren of het is verwijderd of niet door dezelfde vinger op de vingerafdrukmodule te plaatsen en op de MATCH-toets (UP / Down-toets) te drukken.
Wanneer de geplaatste vinger geldig is, zal de groene LED vijf seconden oplichten en de poort gaat tegelijkertijd open. Na 5 seconden wordt de poort automatisch gesloten. De gebruiker kan het openen en sluiten van de poort / deur naar wens aanpassen. Servomotor is verantwoordelijk voor het openen en sluiten van de poort.
Circuit uitleg:
Het circuit van dit Arduino-vingerafdrukbeveiligingssysteem is heel eenvoudig en bevat Arduino die het hele proces van het project, de drukknop, de zoemer en het LCD-scherm bestuurt. Arduino beheert de volledige processen.
De drukknop is direct verbonden met pin D14 (ENROLL), D15 (DEL), D16 (UP) en D17 (DOWN) van Arduino met betrekking tot aarde en gele LED is verbonden met digitale pin D7 van Arduino met betrekking tot aarde via een 1k-weerstand en groene LED is op dezelfde manier verbonden met D6 van Arduino. Vingerafdrukmodule's Rx en Tx rechtstreeks verbonden met Software Serial of Digital pin D2 en D3 van Arduino. 5v-voeding wordt gebruikt voor het voeden van de vingerafdrukmodule van het Arduino-bord en de servomotor is ook aangesloten op PWM-pin D5 van Arduino. Een 16x2 LCD-scherm is geconfigureerd in 4-bit-modus en de RS, EN, D4, D5, D6 en D7 zijn rechtstreeks aangesloten op digitale pin D13, D12, D11, D10, D9 en D8 van Arduino.
Let op: hier zijn D14, D15, D16, D17 respectievelijk A0, A1, A2, A3.
Programma uitleg:
In een programma hebben we Adafruit Fingerprint Sensor Library gebruikt voor het koppelen van een vingerafdrukmodule met een Arduino-bord. U kunt de volledige code hieronder bekijken, deze is gemakkelijk te begrijpen. Hier leggen we de belangrijkste functies van het Arduino-programma uit.
Onderstaand stuk code wordt gebruikt om vingerafdruk als invoer te nemen en actie te ondernemen volgens validatie van vinger. Als de vinger wordt gevalideerd, staat de poort open, anders blijft hij gesloten.
voor (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Plaatsvinger"); vertraging (2000); int resultaat = getFingerprintIDez (); if (result> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Toegestaan"); lcd.setCursor (0,1); lcd.print ("Gete Opened"); myServo.write (0); vertraging (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Gate Closed");
Gegeven ongeldig wordt de functie checkKeys () gebruikt om te controleren of de toets Inschrijven of DEL-toets is ingedrukt of niet en wat te doen als erop wordt gedrukt. Als de ENROLL-toets wordt ingedrukt, wordt de Enroll () -functie opgeroepen en wordt de DEL-toets ingedrukt en vervolgens wordt de delete () -functie aangeroepen.
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Even geduld aub"); vertraging (1000); while (digitalRead (enroll) == 0); Inschrijven(); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Even geduld aub"); vertraging (1000); verwijderen (); }}
De gegeven functie wordt gebruikt voor het invoeren van een ID die moet worden verwijderd en voor het aanroepen van uint8_t deleteFingerprint (uint8_t id) -functie die de vinger uit records zal verwijderen.
void delet () {int count = 0; lcd.clear (); lcd.print ("Vinger verwijderen"); lcd.setCursor (0,1); lcd.print ("Locatie:"); while (1) {lcd.setCursor (9,1); lcd.print (aantal); if (digitalRead (up) == 0) {count ++; if (count> 25) count = 0; vertraging (500); }……………….
De gegeven functie wordt gebruikt voor het verwijderen van een vingerafdruk uit het record van de geselecteerde ID.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Even geduld aub"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Verwijderd!"); lcd.clear (); lcd.print ("Figer verwijderd"); lcd.setCursor (0,1); lcd.print ("Succesvol"); vertraging (1000); } else {Serial.print ("Something Wrong"); lcd.clear (); lcd.print ("Er is iets mis"); lcd.setCursor (0,1); lcd.print ("Probeer het later opnieuw"); vertraging (2000); terug p; }}
De gegeven functie wordt gebruikt om een vingerafdrukafbeelding te maken en deze om te zetten in de sjabloon en deze op te slaan met de geselecteerde ID in het geheugen van de vingerafdrukmodule.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("vinger-ID:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Plaatsvinger"); vertraging (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Dus dat is hoe we Arduino kunnen gebruiken met een vingerafdruklezermodule voor beveiligingssysteem.