相信很多小伙伴都想制作一個屬于自己的指紋鎖吧,看完這一篇博文就夠了
- (一)材料準備
- 主要材料:
- 其它材料:
- (二)庫檔案、軟體下載
- (三)指紋的錄入
- 指紋與TTL轉介面接線:
- 用軟體錄入指紋
- (四)模塊間的連線
- (五)代碼實作
- (六)硬體安裝
- (七)視頻演示
為了解決經常忘帶鑰匙的煩惱,這是我大一時候在宿舍安裝的指紋鎖,經過一年多的應用還是比較穩定的,很早就想分享給大家了,一直拖到現在才有時間發出來,這篇博文花了不少時間,希望對大家有幫助吧,點贊收藏哦
如果想要Arduino uno版本的可以在評論區留言也可以私信,
(一)材料準備
主要材料:
Arduino MEGA 2560或Arduino uno
AS608指紋模塊+TTL轉介面
MG996R舵機

其它材料:
杜邦線若干
熱熔膠或強力膠水
電工膠帶
細小的線
5V充電頭
插座
(二)庫檔案、軟體下載
百度云盤鏈接接:
鏈接: https://pan.baidu.com/s/1jjWowpKAaRmoE8uQVBvlPg 提取碼: cv33
(三)指紋的錄入
指紋與TTL轉介面接線:
指紋模塊————TTL轉介面
TX————RX
RX————TX
GND————GND
VI————3.3V
用軟體錄入指紋
打開網盤下載的軟體

如果不知道串口是多少的可以在下圖那里找到,就不詳細說明了

設定好波特率

錄入指紋

(四)模塊間的連線
Arduino MEGA 2560與指紋模塊和舵機的連線

Arduino MEGA 2560————舵機
5V————正極
GND————負極
9————信號線
Arduino MEGA 2560————指紋模塊
TX3————RX
RX3————TX
GND————GND
VI————3.3V
(五)代碼實作
完整代碼:
#include <Servo.h>
Servo myservo;
int pos = 0;
#include <Adafruit_Fingerprint.h>
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial3);
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
Serial.begin(9600);
Serial3.begin(9600);
while (!Serial);
delay(100);
Serial.println("\n\nAdafruit finger detect test");
finger.begin(57600);
delay(5);
if (finger.verifyPassword())
{
Serial.println("Found fingerprint sensor!");
}
else
{
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
finger.getTemplateCount();
if (finger.templateCount == 0)
{
Serial.print("Sensor doesn't contain any fingerprint data. Please run the 'enroll' example.");
}
else
{
Serial.println("Waiting for valid finger...");
Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
}
}
void loop()
{
getFingerprintIDez();
delay(50);
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez()
{
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
// Servo_Control();
pos=0;
myservo.write(pos);
delay(3000);
pos=90;
myservo.write(pos);
delay(3000);
return finger.fingerID;
}
下面這段代碼是舵機的角度可自行按照自己實際情況填寫
// Servo_Control();
pos=0;
myservo.write(pos);
delay(3000);
pos=90;
myservo.write(pos);
delay(3000);
(六)硬體安裝
門里面和舵機和鎖的連接

整體放的位置和供電方式

門外指紋模塊放的位置

(七)視頻演示
b站視頻鏈接:
https://www.bilibili.com/video/BV1LL411n77u/
有任何問題可以在評論區指出,你們的支持是我最大的動力,點個贊支持一下吧,后續持續更新,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/291524.html
標籤:其他
上一篇:【Express】—路由配置
