สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โปรเจ็กต์นี้เป็นระบบบันทึกการเข้างานอย่างง่ายที่ใช้ GT-521F32 ซึ่งเป็นเครื่องสแกนลายนิ้วมือแบบออปติคัลราคาประหยัดจาก Sparkfun เพื่อสแกนและบันทึกว่าใครและเมื่อมีคนเข้าสู่ระบบ
ขั้นตอนที่ 1: การเลือกชิ้นส่วน
ส่วนประกอบหลัก
- เครื่องสแกนลายนิ้วมือ (GT-521F32) -
ตัวเชื่อมต่อ JST ไปยังส่วนหัว.1in -
- LCD ตัวอักษร 16x2 -
- ชุดสกรูไนล่อน M3 -
- โมดูลนาฬิกาเรียลไทม์ DS1307 -
- โมดูลขยับระดับ MicroSD 5v-3.3v -
ส่วนประกอบ PCB
ดูไฟล์ BOM CSV เพื่อดูส่วนประกอบทั้งหมดที่ใช้ในการออกแบบ PCB
ขั้นตอนที่ 2: การใช้เครื่องสแกนเนอร์
ในขั้นต้น ฉันเริ่มทดสอบเครื่องสแกนนอกเหนือจากการออกแบบใดๆ โดยใช้แอปพลิเคชันทดสอบที่จัดเตรียมไว้สำหรับเครื่องสแกนที่สามารถพบได้ที่นี่
การสื่อสารจากเครื่องสแกนไปยังคอมพิวเตอร์สามารถทำได้หนึ่งในสามวิธี
- ตัวแปลง USB เป็น UART - FT-232RL -
- Arduino อัปโหลดด้วยการโหลดแบบอนุกรมผ่านภาพร่าง
- การบัดกรีการเชื่อมต่อ USB โดยตรงกับแผ่นอิเล็กโทรดบนโมดูล
เมื่อเชื่อมต่อโมดูลกับ Arduino หรือตัวแปลง UART พินจะเป็นเช่นนี้
เครื่องสแกน_Arduino
TX------------------------- RX
RX ------------------------------------ TX
GND --------------- GND
VIN ------------------------ 3.3v-6v
*ตรวจสอบให้แน่ใจว่าเมื่อเชื่อมต่อพิน RX ของสแกนเนอร์ให้ใช้ตัวแบ่งแรงดันไฟฟ้าหากใช้อุปกรณ์ลอจิก 5v เนื่องจากพินรองรับลอจิก 3.3v เท่านั้น
สามารถดูคู่มือการเชื่อมต่อที่สมบูรณ์ยิ่งขึ้นได้ที่นี่ -
สิ่งที่ฉันอยากจะแนะนำให้ทำในขั้นตอนนี้คือ:
-
ตรวจสอบการทำงานของเครื่องสแกน
- รับรองว่าลงทะเบียนพิมพ์ได้
- ตรวจสอบให้แน่ใจว่าสามารถจดจำภาพพิมพ์ได้
- ลงทะเบียนภาพพิมพ์ที่ต้องการใช้ในระบบ
*โปรแกรมแบบเต็มไม่มีฟังก์ชันการลงทะเบียนเนื่องจากข้อจำกัดของหน่วยความจำ โปรดลงทะเบียนงานพิมพ์ก่อนใช้โปรแกรมหลัก อย่าลืมจดหมายเลข ID ของแต่ละคนที่คุณลงทะเบียนไว้
ขั้นตอนที่ 3: แผนผังการออกแบบ
นี่คือแผนผังของระบบที่ใช้ EAGLE 9.0
ฉันต้องสร้างส่วนที่กำหนดเองสำหรับโมดูลการพิมพ์ลายนิ้วมือที่จะรวมไว้ที่นี่
* วงจรชาร์จและบูสต์แบตเตอรี่เป็นอุปกรณ์เสริม และสามารถปล่อยทิ้งไว้ได้หากต้องการ ฉันได้รวมไว้ในรูสำหรับติดตั้งการออกแบบและส่วนหัวสำหรับโมดูลแบตเตอรี่ sparkfun ด้วย
ขั้นตอนที่ 4: การออกแบบ PCB
การออกแบบ PCB นี้มีขนาด 99 มม. x 99 มม. ซึ่งต่ำกว่าขนาดมาตรฐานสำหรับการสั่งซื้อ PCB ราคาถูก ซึ่งโดยทั่วไปจะมีขีดจำกัด 100 มม. x 100 มม.
รูรองรับสลัก M3 ได้และขอแนะนำให้ใช้ขาตั้งไนลอนเพื่อยกกระดานขึ้นจากพื้น เนื่องจากโมดูล sparkfun ได้รับการออกแบบให้ติดตั้งใต้กระดาน
ปัจจุบัน ฉันแนะนำ JLC PCB สำหรับการผลิต เนื่องจากมีการหยุดทำงาน 48 ชั่วโมง และการจัดส่งของ DHL จากโหลที่สั่งจากเค้ามาทุกออเดอร์ถึงภายใน 7 วัน
ขั้นตอนที่ 5: ประกอบ PCB
ส่วนประกอบทั้งหมดบนบอร์ดคือ SMD ตัวต้านทานและตัวเก็บประจุคือ 0805
เมื่อทำการบัดกรีบอร์ด ผมขอแนะนำให้เริ่มต้นด้วย AtMega328 และส่วนประกอบพื้นฐานที่สุดที่จำเป็นสำหรับการทำงาน
ฟังก์ชันพื้นฐานสามารถทำได้โดยการบัดกรี Crystal Oscillator ตัวต้านทาน 1M ohm และตัวต้านทานแบบดึงขึ้นสองตัวสำหรับพินรีเซ็ต เมื่อคุณบัดกรีส่วนประกอบเหล่านั้นแล้ว ให้ไปยังขั้นตอนถัดไปเพื่อเบิร์นบูตโหลดเดอร์ แล้วกลับมาทำการบัดกรีที่เหลือให้เสร็จสิ้น
หลังจากการเบิร์นบูตโหลดเดอร์ การบัดกรี FT-232RL เพื่อทดสอบการทำงานของ USB เป็นขั้นตอนต่อไปที่สมเหตุสมผล เพื่อทดสอบสิ่งนี้ คุณเพียงแค่ประสาน FT-232RL, พอร์ต MicroUSB และตัวเก็บประจุคัปปลิ้งรีเซ็ต คุณยังสามารถเพิ่มไฟ LED สำหรับ RX และ TX สำหรับการตอบกลับด้วยภาพ แต่ไม่จำเป็น คุณต้องเพิ่มตัวต้านทานซีรีย์ TX RX ด้วย
* ไม่จำเป็นต้องเพิ่มสายที่คุณเห็นในภาพเชื่อมต่อกับ FT-232RL ฉันทำผิดพลาดในการเชื่อมต่อรางไฟฟ้ากับอุปกรณ์ แต่ได้รับการแก้ไขแล้วในการแก้ไข PCB ที่อัปโหลดไปยังคำแนะนำนี้
หลังจากตรวจสอบแล้วว่าการเชื่อมต่อ USB ใช้งานได้ ให้บัดกรี LCD เข้ากับบอร์ด (หรือเชื่อมต่อผ่านส่วนหัว หากคุณต้องการใช้จอแสดงผลซ้ำในอนาคต) และโพเทนชิออมิเตอร์คอนทราสต์ จากนั้นเชื่อมต่อ RTC และโมดูลการ์ด SD ในที่สุดก็ประสานตัวเชื่อมต่อสำหรับเครื่องสแกนลายนิ้วมือเข้ากับบอร์ด และติดตั้งด้วยสแตนด์ออฟ
ขั้นตอนที่ 6: เบิร์น Bootloader
สำหรับโครงการนี้ Atmega328 จะต้องถูกเบิร์นด้วย Arduino pro mini bootloader หมุด ICSP ถูกเปิดเผยบน PCB เพื่อจุดประสงค์นี้และจัดเรียงตามที่แสดงในแผนภาพ
สามารถดูบทช่วยสอนแบบเต็มเกี่ยวกับการเบิร์นบูตโหลดเดอร์ได้ที่นี่ -
ขั้นตอนที่ 7: รหัส
ฉันจะพูดตามตรงและบอกว่าทักษะการเขียนโปรแกรมของฉันไม่ใช่หนึ่งในชุดโปรแกรมที่แข็งแกร่งของฉัน และนั่นก็บอกว่าโค้ดค่อนข้างยุ่งเหยิง และฉันขอโทษถ้ามันทำให้สับสน ส่วนใหญ่ยืมมาจากแหล่งอื่นและกำหนดค่าใหม่เพื่อให้เหมาะสมกับโครงการ
สองโครงการที่ฉันพึ่งพาอย่างมากสำหรับการอ้างอิงมีการเชื่อมโยงที่นี่:
DIY FINGERPRINT SCANNING GARAGE DOOR DOOR -
ตัวอย่าง Petit FS -
ห้องสมุดที่ใช้ในโครงการนี้สามารถพบได้ที่นี่:
ห้องสมุด FPS_GT511C3 -
ห้องสมุด DS1307 RTC -
ห้องสมุด PetitFS
ก่อนที่คุณจะอัปโหลดโค้ด อย่าลืมตั้งเวลาที่ถูกต้องบน RTC โดยใช้ตัวอย่างแบบร่างจากไลบรารี DS1307
ในโปรแกรมหลัก สตริงแรกจะเต็มไปด้วยชื่อที่สอดคล้องกับหมายเลข ID ของลายนิ้วมือที่จัดเก็บไว้ในฐานข้อมูลเครื่องสแกน ชื่อต่างๆ เรียงตามลำดับ ดังนั้นเพียงแค่เปลี่ยนชื่อของแต่ละ ID เพื่อให้เหมาะกับความต้องการของคุณ ชื่อนี้จะแสดงบนจอแสดงผลและบันทึกลงในการ์ด SD
ขั้นตอนที่ 8: กรณี
ตัวเคสทำจากไม้อัด 1/8 และได้รับการออกแบบให้ตัดบนระบบการกัดด้วยเลเซอร์
ฉันใช้กาวไม้เพื่อยึดด้านล่างและด้านข้างเข้าด้วยกัน และไนลอนก็ยึดแผ่นด้านบนและ PCB ไว้กับบอร์ด ซึ่งช่วยให้ถอด PCB ออกจากกล่องหุ้มได้ง่ายหากจำเป็น
ขั้นตอนที่ 9: ความคิดสุดท้าย
ฉันหวังว่าคุณจะสนุกกับโครงการนี้ โปรดแจ้งให้เราทราบหากฉันพลาดรายละเอียดใดๆ ที่จะช่วยให้คุณสร้างงานของคุณเองให้เสร็จสมบูรณ์
นี่คือหน้า Github ของฉัน หากคุณต้องการดูโครงการอื่นๆ ของฉัน
ขอบคุณ