- Gerekli Bileşenler:
- Arduino ile Parmak İzi Sensör Modülü:
- Çalışma Açıklaması:
- Devre Açıklaması:
- Program Açıklaması:
Güvenlik, günlük hayatımızda önemli bir sorundur ve dijital kilitler bu güvenlik sistemlerinin önemli bir parçası haline gelmiştir. Yerimizi korumak için pek çok güvenlik sistemi vardır. Bazı örnekler PIR tabanlı Güvenlik Sistemi, RFID tabanlı Güvenlik Sistemi, Dijital Kilit Sistemi, biyo-matris sistemleri, Elektronik Kod kilididir. Bu yazıda, Arduino ile bir Parmak İzi Sensör Modülünü Arayüz ve kapı kilitlemeli bir Parmak İzi tabanlı Biyometrik Güvenlik Sistemi oluşturacağız. Parmak İzi, herhangi bir kişiyi benzersiz şekilde tanıyabildiği ve kolayca kopyalanamadığı için herhangi bir sistemi kilitlemek veya kilidini açmak için en güvenli anahtarlardan biri olarak kabul edilir.
Gerekli Bileşenler:
- Arduino Uno
- Parmak İzi Modülü
- Basmalı Düğme -4
- LED'ler -2
- 1K Direnç -3
- 2.2K direnç -1`
- Güç kaynağı
- Bağlantı telleri
- Karton kutu
- Servo Motor -1
- 16x2 LCD -1
- Ekmek Tahtası -1
Arduino ile Parmak İzi Sensör Modülü:
Parmak İzi Sensör Modülü veya Parmak İzi Tarayıcı, parmağın baskı görüntüsünü yakalayan ve daha sonra bunu eşdeğer şablona dönüştüren ve bunları Arduino tarafından seçilen ID (konum) üzerinde hafızasına kaydeden bir modüldür. Burada tüm işlemler, parmak izinin bir görüntüsünü almak, onu şablonlara dönüştürmek ve konumu depolamak gibi Arduino tarafından komuta edilmektedir.
Bu Arduino Parmak İzi Sensörü Projesinde, sisteme giriş olarak parmak veya başparmak izlenimi almak için Parmak İzi Sensör Modülünü kullandık. Burada Kayıt / geri, Sil / Tamam, YUKARI ve Aşağı için 4 buton kullanıyoruz. Her anahtarın iki özelliği vardır. Kayıt tuşu, yeni parmak izlenimini sisteme kaydetmek ve aynı zamanda geri işlevi için kullanılır. Kullanıcı yeni parmağını kaydetmek istediğinde, kayıt tuşuna basması gerektiği ve ardından LCD, kullanıcının parmak izi çıktısını saklamak istediği kimliği veya Konumu sorduğu anlamına gelir. Şimdi, kullanıcı şu anda daha fazla ilerlemek istemezse, geri gitmek için tekrar kayıt tuşuna basabilir (bu sefer kayıt tuşu Geri tuşu olarak davranır). Kayıt anahtarının hem kayıt hem de geri işlevi olduğu anlamına gelir. DEL / OK tuşuayrıca kullanıcı yeni parmağını kaydettiğinde olduğu gibi aynı çift işleve sahiptir, ardından UP / MATCH AND DOWN / MATCH (aynı zamanda çift işlevi de vardır) olmak üzere başka iki tuşu kullanarak parmak kimliğini veya Konumunu seçmesi gerekir artık kullanıcının DEL / OK tuşuna basması gerekir. Seçili Kimlik veya Konum ile devam etmek için (bu sefer bu anahtar Tamam gibi davranır). YUKARI / AŞAĞI tuşları ayrıca Parmak izi eşleştirme işlevini destekler. Tam gösteri için sonunda Videoyu kontrol edin.
Buraya, yalnızca sistem doğru Parmak İzini okuduğunda açılacak olan bir güvenlik kapısı görevi görecek Servo Motorlu bir karton kutu da ekledik. Sarı LED kapının kapalı olduğunu ve Yeşil LED kapının açıldığını gösterir.
Çalışma Açıklaması:
Bu Parmak İzi Sensörü Kapı Kilidinin Çalışmasıkolay. Bu projede sakladığımız parmağı parmak izi modülüne koyduğumuzda açılacak bir kapı kullandık. Her şeyden önce kullanıcının basmalı düğme / tuşlar yardımıyla parmağını kaydetmesi gerekir. Bunu yapmak için kullanıcının KAYDET tuşuna basması gerekir ve ardından LCD, parmağın bir mağaza olacağı konum / kimliği girmesini ister. Yani artık kullanıcının YUKARI / AŞAĞI tuşlarını kullanarak ID (Konum) girmesi gerekiyor. Konum / Kimlik seçildikten sonra kullanıcının bir OK tuşuna (DEL tuşu) basması gerekir. Şimdi LCD, parmağınızı parmak izi modülünün üzerine yerleştirmenizi isteyecektir. Artık kullanıcının parmağını parmak izi modülünün üzerine koyması gerekiyor. Daha sonra LCD, parmağın parmak izi modülünden çıkarılmasını ve tekrar parmağın yerleştirilmesini ister. Artık kullanıcının parmağını parmak izi modülünün üzerine koyması gerekiyor.Artık parmak izi modülü bir görüntüyü alıp şablona dönüştürüyor ve seçilen ID ile parmak izi modülünün belleğine kaydediyor. Artık kullanıcı sisteme eklediği veya kaydettiği aynı parmağı yerleştirerek kapıyı açabilir ve ardından MATCH tuşuna (YUKARI / Aşağı tuşu) basabilir. Aynı yöntemle kullanıcı daha fazla parmak ekleyebilir. Tam gösteri için aşağıdaki Videoya bakın.
Artık kullanıcı, saklanan herhangi bir kimliği kaldırmak veya silmek isterse, DEL tuşuna basması gerekir, DEL tuşuna bastıktan sonra, LCD, silinecek kimliği seçmek anlamına gelir. Şimdi kullanıcının ID'yi seçmesi ve OK tuşuna (aynı DEL tuşu) basması gerekir. Şimdi LCD, parmağın başarıyla silindiğini size bildirecektir. Artık kullanıcı, parmak izi modülünün üzerine aynı parmağı yerleştirip MATCH tuşuna (YUKARI / AŞAĞI) basarak silinip silinmediğini kontrol edebilir.
Yerleştirildiğinde parmak geçerli olacaktır Yeşil LED beş saniye boyunca yanacak ve aynı zamanda kapı da açılacaktır. 5 saniye sonra kapı otomatik olarak kapanacaktır. Kullanıcı, kapı / kapı açma ve kapamayı ihtiyacına göre özelleştirebilir. Servo motor, kapının açılıp kapanmasından sorumludur.
Devre Açıklaması:
Bu Arduino Parmak İzi Güvenlik Sisteminin devresi çok basittir ve projenin tüm sürecini kontrol eden Arduino, buton, zil ve LCD içerir. Arduino, tüm süreçleri kontrol eder.
Basma düğmesi, Arduino'nun D14 (ENROLL), D15 (DEL), D16 (UP) ve D17 (DOWN) pinlerine toprağa göre doğrudan bağlanır ve Arduino'nun Dijital pin D7'sine sarı LED, bir toprağa göre bağlanır. 1k direnç ve Yeşil LED aynı yöntemle Arduino'nun D6'sına bağlanır. Parmak İzi Modülünün Rx ve Tx'i, Arduino'nun Yazılım Seri veya Dijital pin D2 ve D3'üne doğrudan bağlıdır. Arduino kartından alınan parmak izi modülüne güç vermek için 5v besleme kullanılır ve Servo motor ayrıca Arduino'nun PWM pin D5'ine bağlanır. 16x2 LCD, 4 bit modunda yapılandırılır ve RS, EN, D4, D5, D6 ve D7, Arduino'nun Dijital pin D13, D12, D11, D10, D9 ve D8'e doğrudan bağlanır.
Not: burada D14, D15, D16, D17 sırasıyla A0, A1, A2, A3'tür.
Program Açıklaması:
Bir programda, parmak izi modülünü Arduino kartı ile arayüz oluşturmak için Adafruit Parmak İzi Sensör Kitaplığı kullandık . Aşağıdaki kodun tamamını kontrol edebilirsiniz, kolayca anlaşılabilir. Burada Arduino Programının temel işlevlerini açıklıyoruz.
Aşağıdaki kod parçası Parmak İzini girdi olarak almak ve parmağın onaylanmasına göre işlem yapmak için kullanılır. Parmak doğrulanacaksa, kapı açık olacak, aksi takdirde kapalı kalacaktır.
for (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Parmağı Yerleştir"); gecikme (2000); int sonuç = getFingerprintIDez (); eğer (sonuç> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("İzin Verilir"); lcd.setCursor (0,1); lcd.print ("Açıldı"); myServo.write (0); gecikme (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Kapı Kapalı");
Verilen void checkKeys () işlevi, Kaydol veya DEL tuşuna basılıp basılmadığını ve basıldığında ne yapılacağını kontrol etmek için kullanılır. KAYDET tuşuna basıldığında, Kayıt () işlevi çağrılır ve DEL tuşuna basıldığında silme () işlevi çağrılır.
void checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("Lütfen Bekleyin"); gecikme (1000); while (digitalRead (kayıt) == 0); Kaydol (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Lütfen Bekleyin"); gecikme (1000); silme (); }}
Verilen işlev, silinecek kimliği girmek ve parmağı kayıtlardan silen uint8_t deleteFingerprint (uint8_t id) işlevini çağırmak için kullanılır.
void delet () {int count = 0; lcd.clear (); lcd.print ("Parmağı Sil"); lcd.setCursor (0,1); lcd.print ("Konum:"); while (1) {lcd.setCursor (9,1); lcd.print (sayım); if (digitalRead (up) == 0) {count ++; eğer (sayı> 25) sayı = 0; gecikme (500); }……………….
Verilen işlev, seçilen kimlik kaydından parmak izini silmek için kullanılır.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Lütfen bekleyin"); p = finger.deleteModel (id); eğer (p == FINGERPRINT_OK) {Serial.println ("Silindi!"); lcd.clear (); lcd.print ("Figer Silindi"); lcd.setCursor (0,1); lcd.print ("Başarıyla"); gecikme (1000); } else {Serial.print ("Bir Şey Yanlış"); lcd.clear (); lcd.print ("Yanlış Bir Şey"); lcd.setCursor (0,1); lcd.print ("Daha Sonra Tekrar Deneyin"); gecikme (2000); dönüş p; }}
Verilen Fonksiyon, parmak izi görüntüsü almak ve bunları şablona dönüştürmek ve seçilen ID ile parmak izi modülü hafızasına kaydetmek için kullanılır.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("parmak kimliği:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Parmağı Yerleştir"); gecikme (2000); while (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Bu yüzden Arduino'yu Güvenlik Sistemi için Parmak İzi Okuyucu Modülü ile birlikte kullanabiliriz.