基于Arduino和智能手机的指纹门锁系统
扫描二维码
随时随地手机看文章
传统的基于钥匙的门锁现在正在慢慢退出趋势,随着物联网环境的增加,电子控制门锁在市场上越来越受欢迎。人们现在正在建造物联网控制的家庭,这不仅使控制设备变得容易,而且还为您的家庭增加了更多的安全性。有许多物联网控制的锁可用,如Web控制的门锁,人脸识别门锁等。
在这个项目中,我们将使用Arduino Nano与蓝牙模块,电磁锁和安卓手机构建一个生物识别锁。除了硬件之外,还使用移动应用程序扫描和验证指纹,并通过蓝牙将确认ID发送给Arduino。这里我们将使用智能手机指纹传感器来锁定和解锁门锁。
组件的要求
•Arduino纳米
•蓝牙模块(HC05)
•继电器模块
•电磁锁
•蜂鸣器
•LED
•跳线
电磁锁
在传统的门锁中,有一把钥匙来拉或推门闩,我们必须手动操作,但在电磁锁中,门闩可以通过施加电压自动操作。电磁锁有一个低压电磁阀,当中断(按钮,继电器等)被激活时,将门闩拉回门中。锁存器将保持其位置,直到中断被启用。电磁锁的工作电压为12V。您也可以使用9V,但它会导致较慢的操作。电磁门锁主要用于偏远地区,实现自动化操作,不涉及任何人力。
线路图
使用Arduino实现指纹门锁的电路图如下:
这个项目的连接非常简单。这里我们只连接一个电磁锁,继电器模块,和一个蓝牙模块与Arduino Nano。继电器的输入引脚连接Arduino Nano的9号引脚,VCC和接地引脚连接Nano的5V和GND引脚,蓝牙模块的5V和GND引脚连接Nano的5V和GND, Tx和Rx引脚分别连接Nano的Rx和Tx。蜂鸣器的正引脚连接Arduino的引脚7,负引脚连接Arduino的GND。
蓝牙是构建物联网项目非常有用的无线通信媒介,我们之前使用蓝牙构建了许多物联网项目。
代码的解释
使用Arduino的指纹锁的完整代码在页面末尾给出。下面给出了代码的逐步描述。
Arduino Nano和蓝牙模块通过串行通信进行通信,这使得代码非常简单。由于我们使用Arduino的硬件串行引脚(Rx & Tx)而不是软件串行,因此我们不需要包含用于串行通信的库。
该代码的基本功能是监控传入的串行数据,并将其与预定义的条件进行比较,如果指纹经过授权,则打开锁,否则保持锁定状态。
因此,通过声明一个变量来保存从蓝牙接收到的数据并定义中继和蜂鸣器连接的Arduino引脚来启动代码。
在setup()函数中,以9600的波特率启动串行通信,并为Relay和蜂鸣器引脚设置pinMode。
接下来,在loop()函数中,检查来自蓝牙模块的数据是否可用,如果数据可用,则读取数据并将其存储在一个变量中。之后,使用if语句对其进行比较,看看它是1还是0。如果数据为1,则打开锁,如果数据为0,则保持锁。
基于Arduino的指纹门锁Android应用程序
这个项目的应用程序是使用Kodular应用程序发明人设计的。使用Kodular创建应用程序非常简单;你可以根据你的项目流程图组合这些块来制作一个应用程序。
要使用Kodular创建应用程序,请导航到Kodular。如果你还没有创建一个账户,登录到你的账户,然后点击“创建应用”选项。
之后,您将被带到Projects屏幕。点击“Create Project”按钮创建一个项目。
命名应用程序并单击“完成”。项目将被创建,您将被带到项目的设计器页面。现在在Designer页面上,从components Palette中添加这四个组件来创建应用程序的布局:Bluetooth Client, Fingerprint, List Picker和Image Button。列表选择器和按钮可以在“用户界面”中找到,而指纹和蓝牙可以从“传感器”和“连接”中选择。
可以通过更改每个块的属性来更改屏幕属性。
之后,移动到“Blocks”屏幕,使用Blocks构建应用程序。
现在向下滚动,点击“List_Picker1”,拖放第一个代码块,如图所示:
在下一步中,单击“Control”块,然后在Viewer屏幕上拖放第一个代码块。
之后,转到“Bluetooth_client1”块并选择“Bluetooth_client”。连接代码块。
然后转到“List_Picker”模块,选择“Selection code”模块,如下图所示。
现在在下一步中,再次转到“List_Picker”块并选择“List_Picker”。文本到代码块如下图所示。
之后,转到“Text”块并选择第一个代码块。
这样,第一个代码块就完成了。我们需要再创建三个代码块来调用Android手机的指纹传感器并验证指纹。完整的代码块如下图所示。使用此图片连接其余的代码块。
当所有的块连接,导出。apk文件在您的笔记本电脑上,或者您可以直接导出apk到您的手机使用QR码。
此应用程序的。aia和。apk文件可以从这里下载。
生物识别锁的3D打印外壳
我为这个生物识别锁设计了一个3D打印的外壳。为此,我测量了Perfboard和LED孔的尺寸。一旦完成,设计看起来就像下面这样。
之后,我将它导出为STL文件,根据打印机设置进行切片,最后打印出来。STL文件可从Thingiverse下载,您可以使用它打印自己的大小写。
打印完外壳后,将电路组装到外壳中,它看起来像下面这样。
使用Arduino项目测试指纹门锁
在安装。apk并按照电路图连接硬件后,将Arduino连接到笔记本电脑并上传代码(在上传代码之前移除TX和Rx引脚)。之后,打开手机的蓝牙,然后将蓝牙模块与手机配对。
现在打开应用,点击蓝牙图标,连接蓝牙模块。
蓝牙模块与应用连接后,蓝牙图标变为锁定图标。
之后,触摸指纹按钮,它会要求你扫描指纹传感器上的手指。如果指纹是真实的,那么它将打开门,否则门将保持锁定状态。
这就是你如何使用智能手机的指纹传感器来控制门锁。
本文编译自iotdesignpro