|
使用FPM10A指纹模块、Arduino UNO和Arduino IDE制作一个指纹扫描仪。
虽然您可以使用密码和密钥访问安全系统,但这两个方法都很不方便,并且容易忘记。在本篇文章中,我们将主要学习如何将FPM10A与Adafruit Arduino库一起使用来制作生物识别指纹系统。
所需的组件 ● FPM10A指纹模块 ● Arduino Uno开发板 ● Arduino IDE
安装和使用库 使用FPM10A的第一步是安装Adafruit指纹库,可以使用库管理器(Library Manager)完成。打开Arduino IDE,然后导航到Sketch> Include Library> Manage Libraries。
当库管理器加载“Fingerprint”的搜索结果时,第一个结果应该是Adafruit指纹传感器库(Adafruit Fingerprint Sensor Library)。然后安装该库。
安装库后,就可以创建一个新的Arduino项目了。单击File > New,然后将项目保存在自己的文件夹中。此时,打开项目文件夹并将“fingerprint.h”文件复制到其中。
这是我写的一个特殊的头文件,使指纹库更容易使用。头文件只有三个函数: ● fingerprint_setup() - 将串行端口配置为9600波特并连接到模块 ● readFingerprint() - 一个轮询函数,如果发生任何无效事件则返回-1,如果找到成功的打印则返回其他返回值 ● enrollFingerprint(int id) - 为系统添加指纹ID为“id”的指纹。
要在项目中包含此文件,只需使用include命令,如下所示: 您需要在setup()函数中调用的第一个函数是fingerprint_setup(),它会自动连接到模块并确认一切正常。 - void setup()
- {
- fingerprint_setup();
- }
复制代码要添加新指纹,请调用enrollFingerprint(id)函数。如果发生错误,该函数将返回-1,但其他值表示指纹注册成功。传递给此函数的ID是指向扫描指纹的链接,每个指纹都有唯一的ID号。
制作和使用指纹扫描仪 由于它使用串行端口进行通信,因此使该模块工作非常容易。但是,由于Arduino Uno只有一个硬件串口,因此需要使用软件串口使用引脚2和3与指纹模块通信(硬件串口保留用于PC通信)。
FPM10A模块附带的带状电缆不适合业余爱好者使用,因为它采用1.27mm间距封装,因此我将一侧切断,然后将导线暴露出来,连接到跳线。
当您启动此项目时,它将首先要求您将手指放在扫描仪上。如果扫描仪能够读取您的指纹,它将要求您移除然后更换扫描仪上的手指。这会导致扫描仪成功将指纹添加到ID 1,将手指放在扫描仪上会导致系统授予访问权限。
该项目可以轻松扩展,包括电磁锁和继电器,只允许授权用户进行更改和解锁系统。准备好后,将新的扫描仪安装到门、橱柜、保险箱、窗户、电气系统、计算机等等!
该项目的完整代码如下所示: - #include "fingerprint.h"
- void setup()
- {
- fingerprint_setup();
- }
- void loop()
- {
- // Create a new fingerprint entry
- enrollFingerprint(0x01);
- delay(1000);
- // Request entry
- Serial.println(" \nUSER LOGIN REQUEST...PLACE FINGER ONTO SENSOR \n");
- while(readFingerprint() == -1);
- Serial.println(" \nACCESS GRANTED \n");
- Serial.println(" \nFingerprint confidence : " + String(confidence) + " \n");
- delay(3000);
- }
复制代码
|