宿舍指纹锁—Arduino UNO
1.准备材料
- Arduino UNO
- AS608指纹模块+TTL转接口
- MG996R舵机
- 1602液晶
- 胶枪
- 杜邦线
- 面包板
- 细线
- 5v电源
2.库文件
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/archive/master.zip
1.首先下载Adafruit指纹库(https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/archive/master.zip)。下载完成后,您将得到一个.zip文件;
若网络问题也可以选择网盘下载(百度网盘链接:https://pan.baidu.com/s/1CtmazaWGRVbuUJDGhkte7A
提取码:kdnb)
2.解压缩.zip文件,你会看到一个***Adafruit-Fingerprint-Sensor-Library-master***文件夹;
3.将**Adafruit-Fingerprint-Sensor-Library-master*文件夹重命名为Adafruit_Fingerprint_Sensor_Library***文件夹;
4.将文件夹移动到您的Arduino IDE安装库文件夹;
5.最后,重新打开Arduino IDE。
3.指纹录入
- DNC – 白线
- VCC – 红线
- TX – 蓝线
- RX – 绿线
- GND – 黑线
指纹传感器 | Arduino |
---|---|
VCC | 5V(它也适用于3.3V) |
TX | RX(数字引脚2,串行) |
RX | TX(数字引脚3,串行) |
GND | GND |
注册指纹
将指纹传感器模块连接到Arduino,请按照下面的步骤注册新的指纹。确保您之前安装了Adafruit指纹传感器库。
1.在Arduino IDE中,转到*File > Examples > Adafruit Fingerprint Sensor Library > Enroll*。
2.上传代码到Arduino开发板,并以9600的波特率打开串行监视器(在工具–>串口监视器中)。
3.显示读取到指纹模块后就可以输入指纹的编号,在提示move后拿起手指再次按压然后单击***Send***按钮。
4.液晶屏连接
- LCD RS 引脚到数字引脚 12
- LCD 使能引脚到数字引脚 11
- LCD D4 引脚到数字引脚 5
- LCD D5 引脚到数字引脚 4
- LCD D6 引脚到数字引脚 3
- LCD D7 引脚到数字引脚 2
- LCD R/W 引脚到 GND
- LCD VSS 引脚至 GND
- LCD VCC 引脚至 5V
- LCD LED+ 通过 220 欧姆电阻器至 5V
- LCD LED- 到 GND
示意图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oODlUT33-1651288803731)(https://cdn.jsdelivr.net/gh/kdmvp-lin/MarkdownImg/image-20220430105712491.png)]
5.舵机连接
Arduino————舵机
5V————正极
GND————负极
9————信号线
舵机 | Arduino |
---|---|
正极 | 5V(它也适用于3.3V) |
信号线 | 10(也可以是9,改为9代码也需修改) |
负极 | GND |
舵机说明:
因为采用的是MG996r 360度舵机所以该舵机控制不像180度舵机一样可以设置角度,该舵机设置的是转速和时间
控制舵机代码如下:
//0-90 为顺时针转 90-180为逆时针 越接近0 和180 速度越快 90时停止
pos=0;
myservo.write(pos);
delay(3800);
//过了3800毫秒后停止(因为供电设备以及拉动门锁不同可能需要修改delay(3800)里面的参数)
pos=90;
myservo.write(pos);
6.代码部分
完整代码:文章来源:https://www.toymoban.com/news/detail-430793.html
#include <LiquidCrystal.h>
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#include <Servo.h>
Servo myservo;
SoftwareSerial mySerial(2, 3);
//初始化引脚
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
int pos=0;
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int fingerprintID = 0;
String IDname;
void setup() {
//舵机信号口
myservo.attach(10);
// 设置LCD的行列数据:
lcd.begin(16,2);
//Fingerprint sensor module setup
Serial.begin(9600);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
}
else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
}
void loop() {
fingerprintID = getFingerprintIDez();
delay(50);
//如果找到下列指纹序号
if(fingerprintID == 1 || fingerprintID == 2 || fingerprintID == 3 || fingerprintID == 4|| fingerprintID == 5){
// 将光标移动到(0,0):
lcd.setCursor(0, 0);
lcd.print("Welcome !");
// Servo_Control();
pos=0;
myservo.write(pos);
delay(3800);
pos=90;
myservo.write(pos);
delay(3000);
}
delay(1500);
lcd.clear();
}
//指纹匹配函数
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;
return finger.fingerID;
}
8.总结
到这里就已经实现指纹驱动舵机拉动门把手了,舵机的粘贴根据实际门把手位置自行安装,将指纹模块和显示屏装在门外面,再用杜邦线通过门缝连到里面来,固定可以使用热熔胶固定(用酒精擦拭可以取下并且不留痕迹)。文章来源地址https://www.toymoban.com/news/detail-430793.html
到了这里,关于【宿舍指纹锁---Arduino UNO (保姆级教程)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!