- ส่วนประกอบที่ต้องการ:
- โมดูลเซ็นเซอร์ลายนิ้วมือพร้อม Arduino:
- คำอธิบายการทำงาน:
- คำอธิบายวงจร:
- คำอธิบายโปรแกรม:
ความปลอดภัยเป็นปัญหาสำคัญในชีวิตประจำวันของเราและการล็อกแบบดิจิทัลได้กลายเป็นส่วนสำคัญของระบบรักษาความปลอดภัยเหล่านี้ มีระบบรักษาความปลอดภัยหลายประเภทเพื่อรักษาความปลอดภัยให้กับสถานที่ของเรา ตัวอย่างบางส่วน ได้แก่ ระบบรักษาความปลอดภัยที่ใช้ PIR, ระบบรักษาความปลอดภัยที่ใช้ RFID, ระบบล็อคดิจิทัล, ระบบไบโอเมทริกซ์, การล็อกรหัสอิเล็กทรอนิกส์ ในโพสต์นี้เราจะเชื่อมต่อโมดูลเซ็นเซอร์ลายนิ้วมือกับ Arduinoและจะสร้างระบบรักษาความปลอดภัยไบโอเมตริกซ์ที่ใช้ลายนิ้วมือพร้อมการล็อคประตู Finger Print ถือเป็นหนึ่งในกุญแจที่ปลอดภัยที่สุดในการล็อกหรือปลดล็อกระบบใด ๆ เนื่องจากสามารถจดจำบุคคลใด ๆ ได้โดยไม่ซ้ำใครและไม่สามารถคัดลอกได้โดยง่าย
ส่วนประกอบที่ต้องการ:
- Arduino Uno
- โมดูลการพิมพ์ลายนิ้วมือ
- ปุ่มกด -4
- ไฟ LED -2
- ตัวต้านทาน 1K -3
- 2.2K ตัวต้านทาน -1`
- พาวเวอร์ซัพพลาย
- การเชื่อมต่อสายไฟ
- กล่องกระดาษแข็ง
- เซอร์โวมอเตอร์ -1
- 16x2 LCD -1
- กระดานขนมปัง -1
โมดูลเซ็นเซอร์ลายนิ้วมือพร้อม Arduino:
Finger Print Sensor Module หรือ Finger Print Scannerเป็นโมดูลที่จับภาพการพิมพ์ของนิ้วจากนั้นแปลงเป็นเทมเพลตที่เทียบเท่าและบันทึกลงในหน่วยความจำบน ID (ตำแหน่ง) ที่เลือกโดย Arduino ที่นี่กระบวนการทั้งหมดได้รับคำสั่งจาก Arduino เช่นการพิมพ์ภาพลายนิ้วมือแปลงเป็นเทมเพลตและจัดเก็บตำแหน่งเป็นต้น
ในโครงการเซ็นเซอร์ลายนิ้วมือ Arduinoนี้เราได้ใช้โมดูลเซ็นเซอร์ลายนิ้วมือเพื่อใช้นิ้วหรือนิ้วหัวแม่มือเป็นอินพุตในระบบ ที่นี่เราใช้ปุ่มกด 4 ปุ่มเพื่อลงทะเบียน / ย้อนกลับ, ลบ / ตกลง, ขึ้นและลง ทุกคีย์มีคุณสมบัติสองเท่าปุ่มลงทะเบียนใช้สำหรับการลงทะเบียนการแสดงนิ้วใหม่ในระบบและฟังก์ชันย้อนกลับด้วย หมายถึงเมื่อผู้ใช้ต้องการลงทะเบียนนิ้วใหม่เขา / เธอต้องกดปุ่มลงทะเบียนจากนั้น LCD จะถาม ID หรือตำแหน่งที่ผู้ใช้ต้องการจัดเก็บเอาต์พุตการพิมพ์ลายนิ้วมือ ตอนนี้หากในเวลานี้ผู้ใช้ไม่ต้องการดำเนินการต่อไปก็สามารถกดปุ่มลงทะเบียนอีกครั้งเพื่อย้อนกลับ (เวลานี้คีย์การลงทะเบียนจะทำงานเป็นปุ่มย้อนกลับ) คีย์การลงทะเบียนหมายถึงมีทั้งการลงทะเบียนและฟังก์ชันย้อนกลับปุ่ม DEL / OKนอกจากนี้ยังมีฟังก์ชั่นคู่เหมือนกันเช่นเมื่อผู้ใช้ลงทะเบียนนิ้วใหม่จากนั้นเขา / เธอต้องเลือก ID นิ้วหรือตำแหน่งโดยใช้อีกสองปุ่มคือ UP / MATCH AND DOWN / MATCH (ซึ่งมีฟังก์ชั่นคู่) ตอนนี้ผู้ใช้ต้องกด DEL / OK คีย์ (เวลานี้คีย์นี้ทำงานเหมือนตกลง) เพื่อดำเนินการกับ ID หรือตำแหน่งที่เลือก ปุ่มขึ้น / ลงยังรองรับฟังก์ชันจับคู่ลายนิ้วมือ ตรวจสอบวิดีโอในตอนท้ายเพื่อดูการสาธิตทั้งหมด
ที่นี่เราได้ติดกล่องกระดาษแข็งที่มีเซอร์โวมอเตอร์เพื่อทำหน้าที่เป็นประตูรักษาความปลอดภัยซึ่งจะเปิดขึ้นเมื่อระบบอ่านลายนิ้วมือที่ถูกต้องเท่านั้น ไฟ LED สีเหลืองแสดงว่าประตูปิดและไฟ LED สีเขียวแสดงว่าประตูเปิดอยู่
คำอธิบายการทำงาน:
การทำงานของล็อคประตูเซ็นเซอร์ลายนิ้วมือนี้มันง่าย. ในโครงการนี้เราได้ใช้ประตูที่จะเปิดเมื่อเราวางนิ้วที่จัดเก็บไว้ที่โมดูลพิมพ์ลายนิ้วมือ ก่อนอื่นผู้ใช้ต้องลงทะเบียนนิ้วด้วยความช่วยเหลือของปุ่ม / ปุ่มกด ในการทำเช่นนี้ผู้ใช้ต้องกดปุ่ม ENROLL จากนั้น LCD ขอให้ป้อนตำแหน่ง / ID ที่นิ้วจะเป็นร้านค้า ตอนนี้ผู้ใช้ต้องป้อน ID (ตำแหน่ง) โดยใช้ปุ่มขึ้น / ลง หลังจากเลือก Location / ID แล้วผู้ใช้ต้องกดปุ่ม OK (ปุ่ม DEL) ตอนนี้ LCD จะขอให้วางนิ้วบนโมดูลพิมพ์ลายนิ้วมือ ตอนนี้ผู้ใช้ต้องวางนิ้วของเขาเหนือโมดูลการพิมพ์ลายนิ้วมือ จากนั้น LCD จะขอให้นำนิ้วออกจากโมดูลการพิมพ์ลายนิ้วมือและขอให้วางนิ้วอีกครั้ง ตอนนี้ผู้ใช้ต้องวางนิ้วอีกครั้งบนโมดูลพิมพ์ลายนิ้วมือตอนนี้โมดูลการพิมพ์ลายนิ้วมือจะถ่ายภาพและแปลงเป็นเทมเพลตและจัดเก็บโดยใช้ ID ที่เลือกไว้ในหน่วยความจำของโมดูลการพิมพ์ลายนิ้วมือ ตอนนี้ผู้ใช้สามารถเปิดประตูได้โดยการวางนิ้วเดียวกับที่เขา / เธอได้เพิ่มหรือลงทะเบียนไว้ในระบบจากนั้นกดปุ่ม MATCH (ปุ่มขึ้น / ลง) โดยวิธีเดียวกันนี้ผู้ใช้สามารถเพิ่มนิ้วได้มากขึ้น ตรวจสอบวิดีโอด้านล่างสำหรับการสาธิตแบบเต็ม
ตอนนี้หากผู้ใช้ต้องการลบหรือลบ ID ใด ๆ ที่เก็บไว้เขา / เธอจะต้องกดปุ่ม DEL หลังจากกดปุ่ม DEL LCD จะถามตำแหน่งที่เลือกหมายถึงเลือก ID ที่จะลบ ตอนนี้ผู้ใช้ต้องเลือก ID และกดปุ่ม OK (ปุ่ม DEL เดียวกัน) ตอนนี้ LCD จะแจ้งให้คุณทราบว่านิ้วนั้นถูกลบเรียบร้อยแล้ว ตอนนี้ผู้ใช้สามารถตรวจสอบว่ามันถูกลบหรือไม่โดยวางนิ้วเดียวกันบนโมดูลการพิมพ์ลายนิ้วมือแล้วกดปุ่ม MATCH (ปุ่มขึ้น / ลง)
เมื่อวางนิ้วจะเป็นไฟ LED สีเขียวที่ถูกต้องจะเรืองแสงเป็นเวลาห้าวินาทีและประตูจะเปิดพร้อมกัน ประตูจะปิดโดยอัตโนมัติหลังจากผ่านไป 5 วินาที ผู้ใช้สามารถปรับแต่งการเปิดและปิดประตู / ประตูได้ตามความต้องการ เซอร์โวมอเตอร์มีหน้าที่ในการเปิดและปิดประตู
คำอธิบายวงจร:
วงจรของระบบรักษาความปลอดภัยลายนิ้วมือ Arduinoนี้ง่ายมากซึ่งมี Arduino ซึ่งควบคุมกระบวนการทั้งหมดของโครงการปุ่มกดกริ่งและ LCD Arduino ควบคุมกระบวนการทั้งหมด
ปุ่มกดเชื่อมต่อโดยตรงกับพิน D14 (ENROLL), D15 (DEL), D16 (UP) และ D17 (DOWN) ของ Arduino ที่เกี่ยวกับกราวด์และ LED สีเหลืองเชื่อมต่อที่พินดิจิตอล D7 ของ Arduino เทียบกับกราวด์ ตัวต้านทาน 1k และ LED สีเขียวเชื่อมต่อกับ D6 ของ Arduino ด้วยวิธีการเดียวกัน Rx และ Tx ของ Finger Print Module เชื่อมต่อโดยตรงที่ Software Serial หรือ Digital pin D2 และ D3 ของ Arduino แหล่งจ่ายไฟ 5v ใช้สำหรับเปิดโมดูลการพิมพ์ลายนิ้วมือที่นำมาจากบอร์ด Arduino และเซอร์โวมอเตอร์เชื่อมต่อกับพิน PWM D5 ของ Arduino LCD 16x2 ได้รับการกำหนดค่าในโหมด 4 บิตและ RS, EN, D4, D5, D6 และ D7 เชื่อมต่อโดยตรงที่ Digital pin D13, D12, D11, D10, D9 และ D8 ของ Arduino
หมายเหตุ: ที่นี่ D14, D15, D16, D17 คือ A0, A1, A2, A3 ตามลำดับ
คำอธิบายโปรแกรม:
ในโปรแกรมเราได้ใช้ Adafruit Fingerprint Sensor Library สำหรับเชื่อมต่อโมดูลลายนิ้วมือกับบอร์ด Arduino คุณสามารถตรวจสอบ Code ที่สมบูรณ์ด้านล่างเพื่อให้เข้าใจได้ง่าย เรากำลังอธิบายหน้าที่หลักของโปรแกรม Arduino
ด้านล่างของรหัสใช้เพื่อป้อน Finger Print เป็นข้อมูลป้อนเข้าและดำเนินการตามการตรวจสอบความถูกต้องของนิ้ว หากนิ้วจะถูกตรวจสอบประตูจะเปิดมิฉะนั้นจะยังคงปิดอยู่
สำหรับ (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("วางนิ้ว"); ล่าช้า (2000); int ผลลัพธ์ = getFingerprintIDez (); ถ้า (ผลลัพธ์> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("อนุญาต"); lcd.setCursor (0,1); lcd.print ("Gete เปิด"); myServo.write (0); ล่าช้า (5000); myServo.write (180); digitalWrite (closeLight, สูง); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("ประตูปิด");
ระบุ ฟังก์ชัน โมฆะ checkKeys () ใช้สำหรับตรวจสอบการกดปุ่ม Enroll หรือ DEL หรือไม่และจะทำอย่างไรหากกด ถ้าปุ่ม ENROLL กดฟังก์ชัน Enroll () ถูกเรียกและกดปุ่ม DEL จากนั้นฟังก์ชัน Delete () จะถูกเรียก
โมฆะ checkKeys () {if (digitalRead (enroll) == 0) {lcd.clear (); lcd.print ("กรุณารอสักครู่"); ล่าช้า (1,000); ในขณะที่ (digitalRead (ลงทะเบียน) == 0); ลงทะเบียน (); } else if (digitalRead (del) == 0) {lcd.clear (); lcd.print ("กรุณารอสักครู่"); ล่าช้า (1,000); ลบ (); }}
ฟังก์ชัน Given ใช้สำหรับป้อน ID ที่จะลบและเรียก ฟังก์ชัน uint8_t deleteFingerprint (uint8_t id) ที่จะลบนิ้วออกจากบันทึก
ลบโมฆะ () {int count = 0; lcd.clear (); lcd.print ("ลบนิ้ว"); lcd.setCursor (0,1); lcd.print ("ที่ตั้ง:"); ในขณะที่ (1) {lcd.setCursor (9,1); lcd.print (นับ); ถ้า (digitalRead (ขึ้น) == 0) {count ++; ถ้า (นับ> 25) นับ = 0; ล่าช้า (500); }……………….
ฟังก์ชัน Given ใช้สำหรับลบลายนิ้วมือจากบันทึกของ ID ที่เลือก
uint8_t deleteFingerprint (รหัส uint8_t) {uint8_t p = -1; lcd.clear (); lcd.print ("โปรดรอสักครู่"); p = finger.deleteModel (id); ถ้า (p == FINGERPRINT_OK) {Serial.println ("ถูกลบ!"); lcd.clear (); lcd.print ("Figer Deleted"); lcd.setCursor (0,1); lcd.print ("สำเร็จ"); ล่าช้า (1,000); } else {Serial.print ("ผิดพลาด"); lcd.clear (); lcd.print ("มีบางอย่างผิดปกติ"); lcd.setCursor (0,1); lcd.print ("ลองอีกครั้งในภายหลัง"); ล่าช้า (2000); กลับ p; }}
ฟังก์ชัน Given ใช้ในการถ่ายภาพพิมพ์ลายนิ้วมือและแปลงเป็นเทมเพลตและบันทึกโดยใช้ ID ที่เลือกลงในหน่วยความจำโมดูลการพิมพ์ลายนิ้วมือ
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("รหัสนิ้ว:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("วางนิ้ว"); ล่าช้า (2000); ในขณะที่ (p! = FINGERPRINT_OK) {p = finger.getImage (); ปล…………….
เพื่อให้เป็นวิธีการที่เราสามารถใช้Arduino กับ Reader พิมพ์นิ้วมือ Module สำหรับระบบรักษาความปลอดภัย