手把手教你用Arduino MEGA 2560+AS608指纹模块+舵机实现指纹锁,超详细,不要错过哦!


为了解决经常忘带钥匙的烦恼,这是我大一时候在宿舍安装的指纹锁,经过一年多的应用还是比较稳定的,很早就想分享给大家了,一直拖到现在才有时间发出来,这篇博文花了不少时间,希望对大家有帮助吧,点赞收藏哦
如果想要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/

有任何问题可以在评论区指出,你们的支持是我最大的动力,点个赞支持一下吧,后续持续更新。。。

评论 97
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是北豼不太皮吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值