教你使用Arduino MEGA 2560 + AS608指纹模块+舵机,打造完美的指纹锁!超详细,不容错过!

相信很多小伙伴都想制作一个属于自己的指纹锁吧,看完这一篇博文就够了

  • (一)材料准备
  • 主要材料:
  • 其它材料:
  • (二)库文件、软件下载
  • (三)指纹的录入
  • 指纹与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/

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

    物联沃分享整理
    物联沃-IOTWORD物联网 » 教你使用Arduino MEGA 2560 + AS608指纹模块+舵机,打造完美的指纹锁!超详细,不容错过!

    发表评论