Arduino ile Parmak İzi Okutularak Açılan Kapı / Kasa Kilidi
Arduino ile Parmak İzi Okutularak Açılan Kapı / Kasa Kilidi
Bu projede kapı veya kasa yerine posta kutusu kullanılmıştır. Yukarıda projenin resimlerini paylaştık. Aşağıda paylaştığımız bağlantıda parmak izi okuyucuya kendi parmağınızı nasıl kayıt edeceğiniz gösterilmiştir. Projede kayıt edilen parmak okutulunca kilit açılacaktır.
Projeye bir adet dokunmatik sensör eklenmiştir. Dokunmatik sensöre her basıldığında da kilit açılacaktır. Dokunmatik sensörü, projede bir hata olması durumunda kilidin kesin olarak açılmasını sağlamak için kullandık. Siz bu sensörü eklemeyebilirsiniz.
Parmak izi okuyucu kullanımı : https://etkilesimliogrenme.com/nodemcu-esp8266-parmak-izi-okuyucu-kullanimi
#include
SoftwareSerial mySerial(2,3);
Adafruit_Fingerprint parmak = Adafruit_Fingerprint(&mySerial);
#define sensor 8
#define kilit 13
#define ledK 9
#define ledY 10
void setup()
{
pinMode(sensor,INPUT);
pinMode(kilit,OUTPUT);
pinMode(ledK,OUTPUT);
pinMode(ledY,OUTPUT);
digitalWrite(kilit,LOW);
digitalWrite(ledY,LOW);
digitalWrite(ledK,HIGH);
Serial.begin(115200);
while (!Serial);
delay(1000);
Serial.println("");
Serial.println("Parmak İzi Okuma : ");
parmak.begin(57600);
if (parmak.verifyPassword())
{
Serial.println("Sensör Bulundu.");
}
else
{
Serial.println("Sensör Bulunamadı.");
while (1) { delay(1); }
}
parmak.getTemplateCount();
Serial.print("Sensörde "); Serial.print(parmak.templateCount);
Serial.println(" adet kayıt var.");
Serial.println("Parmak İzi Bekleniyor...");
}
void loop()
{
Serial.println(digitalRead(sensor));
if(digitalRead(sensor) == 0)
{
fnkParmakIzi();
delay(100);
}
else
{
Serial.println("Kilit Açıldı.");
digitalWrite(kilit,HIGH);
digitalWrite(ledY,HIGH);
digitalWrite(ledK,LOW);
delay(2000);
digitalWrite(ledK,HIGH);
digitalWrite(ledY,LOW);
digitalWrite(kilit,LOW);
}
}
int fnkParmakIzi()
{
uint8_t parmakIzi;
parmakIzi = parmak.getImage();
if (parmakIzi != FINGERPRINT_OK)
return -1;
parmakIzi = parmak.image2Tz();
if (parmakIzi != FINGERPRINT_OK)
return -1;
parmakIzi = parmak.fingerFastSearch();
if (parmakIzi != FINGERPRINT_OK)
return -1;
Serial.print("Parmak İzi Bulundu. ID : "); Serial.println(parmak.fingerID);
Serial.print("Doğruluk / Güvenilirlik (0-255 arası) : "); Serial.println(parmak.confidence);
if(parmak.fingerID == 1)
{
digitalWrite(kilit,HIGH);
digitalWrite(ledY,HIGH);
digitalWrite(ledK,LOW);
delay(2000);
digitalWrite(ledK,HIGH);
digitalWrite(ledY,LOW);
digitalWrite(kilit,LOW);
}
return parmak.fingerID;
}