Hoe te…….
In deze tutorial laat ik je zien hoe je een deurslot bouwt dat een vingerafdruksensor en een Arduino UNO gebruikt. Dit deurslot opent de deur alleen wanneer de gebruiker de juiste vingerafdruk scant die op het systeem is vastgelegd, maar de deur blijft dicht bij het invoeren van de verkeerde vingerafdruk.
Schakelschema en uitleg.
Sluit allereerst de vingerafdruksensor aan op de Arduino UNO. Zorg ervoor dat je een vingerafdruksensor koopt die werkt met de Arduino via de seriële communicatie.
De standaard pinnen voor seriële communicatie op de Arduino UNO zijn pin 0 (RXD) en pin 1 (TXD) van het bord, maar we gaan andere pinnen gebruiken voor seriële communicatie. Voor dit project gebruiken we de SoftwareSerial-bibliotheek in de code.
Dit zijn de vereiste verbindingen tussen de vingerafdruksensor en de UNO:
Sluit vervolgens de I2C LCD-module aan op de UNO. De verbindingen zijn als volgt:
Sluit daarna de relaismodule aan op de Arduino UNO zoals weergegeven in het onderstaande schakelschema. (Relais is niet echt nodig je kunt op het display zien open of dicht)
Vingerafdruk deurslot schakelschema.
Voor het bedienen van het deurslot heb je een batterijbron nodig van 7 tot 12V – ik gebruikte drie 18650-cellen.
Download de projectbibliotheken
De bibliotheken voor vingerafdruksensor en I2C LCD zijn gemakkelijk beschikbaar.
Om de Adafruit Fingerprint-bibliotheek te installeren, open je de Arduino Library Manager en typ je “vingerafdruk” en je zult de Adafruit Fingerprint-bibliotheek zien verschijnen. Klik op installeren.
Typ “vingerafdruk” in de Arduino Library Manager om de juiste bibliotheek te vinden.
U kunt de LiquidCrystal I2C-bibliotheek op dezelfde manier installeren. Zoek naar “LiquidCrystal I2C” en u zult deze bibliotheek kunnen zien:
Typ ‘liquidcrystal I2C’ in de Arduino Library Manager om de juiste bibliotheek te vinden.
Code Walkthrough en uitleg
Laten we eens kijken naar de secties code en welk doel ze dienen in het project. Voor uw gemak kunt u aan het einde van dit artikel de volledige code voor dit project downloaden.
Met de software seriële bibliotheek kunnen we andere pinnen gebruiken dan de standaard 0, 1 pinnen voor de seriële communicatie. Kopieer de code uit de onderstaande sectie en upload deze.
#include <Adafruit_Fingerprint.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Stel in de instelfunctie de baudsnelheid in waarmee de vingerafdruksensor werkt. Controleer vervolgens of de vingerafdruksensor communiceert met de Arduino of niet.
finger.begin(57600);
if (finger.verifyPassword()) {
lcd.setCursor(0, 0);
lcd.print(" FingerPrint ");
lcd.setCursor(0, 1);
lcd.print("Sensor Connected");
}
else {
lcd.setCursor(0, 0);
lcd.print("Unable to found");
lcd.setCursor(0, 1);
lcd.print("Sensor");
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Check Connections");
while (1) {
delay(1);
}
}
Nu moeten we uw daadwerkelijke vingerafdruk instellen! In het volgende codegedeelte kan de gebruiker zijn vinger op de vingerafdrukscanner plaatsen die de vingerafdruk omzet in een afbeelding.
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) {
lcd.setCursor(0, 0);
lcd.print(" Waiting For");
lcd.setCursor(0, 1);
lcd.print(" Valid Finger");
return -1;
}
p = finger.image2Tz();
if (p != FINGERPRINT_OK) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Messy Image");
lcd.setCursor(0, 1);
lcd.print(" Try Again");
delay(3000);
lcd.clear();
return -1;
}
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Not Valid Finger");
delay(3000);
lcd.clear();
return -1;
}
Als de afbeelding rommelig is, wordt er gevraagd om uw vinger opnieuw te scannen om een goede vingerafdruk afbeelding te hebben die wordt vergeleken met de opgeslagen afbeeldingen van alle vingerafdrukken in uw systeem. Bij het matchen van de afbeelding gaat de deur open. Anders blijft de deur gesloten.
Plaats uw vinger op de sensor zodat het systeem een foto van uw vingerafdruk kan maken.
Zodra het systeem een duidelijke vingerafdruk heeft ontvangen, is uw deurslot klaar voor gebruik!