- 所需组件
- 电磁锁
- HC-05蓝牙模块
- 蓝牙控制电磁锁的电路图
- Arduino程序可基于指纹数据控制电磁锁
- Android应用程序,用于读取指纹数据并通过蓝牙发送到Arduino
- 3D打印外壳,用于基于生物特征识别的锁
- 测试我们基于Arduino的指纹控制锁
现在全世界已经掌握了COVID 19,每个人都在采取预防措施,通过跟随社会疏散,戴口罩,使用无现金交易来防止自己感染这种严重疾病,并避免触摸任何东西以防止细菌传播。随着技术的出现,普通的锁已成为过去,基于生物识别的新锁和基于RFID的锁正变得越来越主流。大多数办公室和学院也使用基于指纹的锁和考勤记录保存设备,但是由于这种大流行,如今不建议这样做,因此我们将使用电磁锁和控制装置来构建门锁。通过蓝牙使用android应用程序这样我们就完全不必触摸指纹传感器,只需使用您自己的手机来控制锁即可。因此,让我们开始吧。
所需组件
- 1×Arduino纳米
- 1×HC-05蓝牙模块
- 1×电磁锁
- 1×压电蜂鸣器
- 1×红色LED 5毫米
- 1×绿色LED 5毫米
- 1×IRF540N N沟道MOSFET
- 1×BC547 NPN晶体管
- 电阻:1×550Ω,1×2k0Ω,1×220Ω
- 1×7805稳压器
- 1×DC Jack连接器对
- 冲浪板
电磁锁
在传统的门锁中,有一个拉动或推动闩锁的钥匙,我们必须手动操作,但是在电磁锁中,可以通过在电磁线圈上施加电压来自动操作闩锁,从而控制闩锁存在于锁中。
电磁锁具有一个低压电磁线圈,当向其施加合适的电压时,该电磁线圈会将闩锁拉回到门中,并保持打开状态,直到移除电压为止。因此,您可以通过使用按钮,继电器,微控制器等控制施加给它的电压来控制操作。电磁门锁主要用于偏远地区以实现自动化操作而无需人工。
HC-05蓝牙模块
HC-05用于为您的项目提供无线连接,以便您可以与其他微控制器或手机和笔记本电脑进行通信。您可以使用简单的android应用程序轻松地控制发送和接收的数据,您可以轻松地制作自己的数据。它有两种模式,第一种是数据模式,用于与蓝牙设备之间来回传输数据,第二种是AT命令模式。用于配置蓝牙模块。它使用USART通讯以9600波特率进行通讯,因此您可以将其连接到任何支持USART通讯且可以轻松连接到板上可用串行端口的微控制器。请注意,您需要使用5V电源为设备供电,并将TX引脚连接到微控制器的RX引脚,并将RX引脚连接到微控制器的TX引脚。您可以在自动化应用程序和数据记录和机器人技术的无线应用程序中使用它。
蓝牙控制电磁锁的电路图
下面显示了完整的电路图,该电路图显示了如何通过MOSFET与Arduino接口和控制螺线管锁。
如电路图所示,连接非常简单,您需要通过使用5V电源为设备供电,将HC-05蓝牙模块连接至nano,然后将TX引脚连接至微控制器的RX引脚,并将RX引脚连接至微控制器的TX引脚。您需要添加一个红色LED来显示Arduino nano的电源状态,并添加一个绿色LED来显示门是否已解锁。您还需要连接蜂鸣器。为了方便理解,下面还显示了连接图。
要控制螺线管锁定,您需要使用包含NPN晶体管和N沟道MOSFET的控制电路。我们将通过550欧姆电阻将Nano的D9引脚连接到晶体管的基极引脚来控制NPN晶体管,以控制流入晶体管的电流。当D9引脚被拉高时,晶体管导通,而MOSFET的栅极引脚被拉至地,关闭MOSFET,从而关闭螺线管锁定;当D9引脚为LOW时,NPN晶体管关闭。意味着MOSFET的GATE通过2kOhm的上拉电阻被拉至12V,以打开MOSFET并为螺线管锁供电。这样,您可以使用5V Arduino Nano来控制电磁锁。您不能使用Nano的5V引脚直接控制IRF540N MOSFET,因为它不是逻辑电平MOSFET,因此它不会在纳米电压为5V时,t不能完全导通或截止,因此我们将使用BC547 NPN晶体管来控制MOSFET。
我已经将整个电路焊接在一块性能板上,以使其紧凑。这个想法是为我们的锁设计一个3D打印外壳,以便可以轻松安装和使用。
Arduino程序可基于指纹数据控制电磁锁
我们将在官方Arduino IDE上编写代码,如果您没有IDE,则必须从Arduino官方网站下载。我们通过声明将在代码中使用的变量来开始控制代码,这些变量将用于控制蜂鸣器和led等外围设备,还通过控制晶体管来控制螺线管锁定。
int value1; #define led 12 #define bjt 9 #define buzzer 7
现在进入Arduino的设置部分,我们将首先以9600的波特率初始化Arduino的串行通信。由于我们使用Arduino的硬件引脚进行串行通信,因此我们不必在项目中使用串行软件。现在,我们必须声明用作输出或输入的引脚,并为其提供初始条件。
Serial.begin(9600); pinMode(bjt,OUTPUT); pinMode(led,OUTPUT); pinMode(蜂鸣器,输出); digitalWrite(bjt,HIGH); digitalWrite(led,LOW);
现在,在代码的循环功能中,我们将从HC-05 Bluetooth模块串行读取数据,并检查它们是否与lock或unlock命令相对应。在我们的程序逻辑中,如果正确识别了指纹,则蓝牙模块将发送值“ 1”,如果未识别指纹,则蓝牙模块将发送值“ 0”。如果Nano读取的值为“ 1”,则门将被解锁,并且蜂鸣器将响一秒钟,并且门将保持解锁状态7秒钟。之后,门将再次被锁定。如果读取的值为“ 0”,则表示无法识别指纹,因此蜂鸣器将发出三声警报,每秒钟发出三声警报,以警告安全性。
Serial.println(“ Reading”); while(Serial.available()== 0); value1 = Serial.read(); Serial.println(value1); 如果(value1 == 1){Serial.println(“ Unlocking”); digitalWrite(bjt,LOW); digitalWrite(蜂鸣器,高); digitalWrite(led,HIGH); 延迟(1000); digitalWrite(蜂鸣器,低); 延迟(6000); digitalWrite(bjt,HIGH); digitalWrite(led,LOW); } if(value1 == 0){digitalWrite(bjt,HIGH); digitalWrite(蜂鸣器,高); Serial.println(“ Locking”); 延迟(1000); digitalWrite(蜂鸣器,低); 延迟(1000); digitalWrite(蜂鸣器,高); 延迟(1000); digitalWrite(蜂鸣器,低); 延迟(1000); digitalWrite(蜂鸣器,高); 延迟(1000); digitalWrite(蜂鸣器,低); }
Android应用程序,用于读取指纹数据并通过蓝牙发送到Arduino
该项目的应用是使用Kodular应用发明者设计的。使用Kodular创建应用非常简单;您可以通过根据项目流程图组合各个块来制作一个应用程序。
要使用Kodular创建应用,请导航到Kodular.io并创建一个帐户(如果您没有),登录到您的帐户,然后单击“ 创建应用” 选项。
之后,您将转到“项目”屏幕。单击“ 创建项目” 按钮以创建一个项目。
为应用命名,然后点击“ 完成 ”。将创建该项目,并将您带到 该项目的 Designer页面。现在,在“设计器”页面上,从“组件面板”中添加以下四个组件以为应用程序创建布局: 蓝牙客户端,指纹,列表选择器 和 图像按钮。 列表选择器和按钮可以在“ 用户界面”中 找到, 而指纹和蓝牙则可以从“ 传感器 ”和“ 连接性 ”中选择。
可以通过更改每个块的属性来更改屏幕属性。
之后,移至“ 块 ”屏幕以使用块构建应用程序。
现在向下滚动,单击“ List_Picker1”, 然后拖放第一个代码块,如图所示:
在下一步中,单击 “控制” 块,然后将第一个代码块拖放到“查看器”屏幕上。
之后,转到“ Bluetooth_client1” 块,然后选择“ Bluetooth_client.connect” 代码块。
然后转到“ List_Picker” 块并选择“ 选择代码块” ,如下图所示。
现在,在下一步中,再次转到“ List_Picker” 块,然后选择“ List_Picker”。文本到 代码块,如下图所示。
之后,转到 “文本” 块并选择第一个代码块。
这样,第一个代码块就完成了。我们需要再创建三个代码块,以调用Android手机的指纹传感器并验证指纹。下图显示了完整的代码块。使用此图片可以加入其余的代码块。
连接完所有模块后,请 在笔记本电脑上导出 .apk文件 ,也可以使用QR码将apk直接导出到手机。 可以从下面的链接下载此应用程序的 .aia 和 .apk 文件。
- 通过Arduino下载Android应用程序以控制电磁锁
3D打印外壳,用于基于生物特征识别的锁
如前所述,我们创建了一个3D模型,将穿孔板和螺线管锁组装到一个整洁的小外壳中。切片软件上放置的模型如下所示。
如果使用相同尺寸的穿孔板和电磁锁,则还可以使用下面给出的STL文件打印相同的外壳。您还可以检出我们之前构建的其他3D打印项目。
电磁锁套管的STL文件
测试我们基于Arduino的指纹控制锁
首先,您需要在手机上下载并安装 .apk文件 以控制锁定。您还需要在Arduino Nano上上传完整的代码,但是在上传代码之前,请确保从nano上移除TX和RX引脚。上传完成后,安装锁,然后打开手机上的蓝牙并与您正在使用的蓝牙设备配对并打开应用程序。现在,点击应用程序上的蓝牙图标并连接到蓝牙设备,应用程序上的蓝牙图标将变为锁定图标。现在,您必须点击指纹图标以使用手机的指纹扫描仪检查指纹,然后该值将发送到Arduino Nano。
该项目只是对将蓝牙模块连接到手机可以执行的操作的基本演示。您可以构建一个完整的工作机器人,考勤机,由应用程序控制的家庭自动化设备,等等,这些清单让您意想不到。为了安全起见,您还可以在界面显示中显示进入场所的人员的姓名,或者添加摄像头以单击人员的照片。自己尝试一下,进行一些更改,如果您遇到任何困难,请在评论部分告诉我们,我们将为您提供帮助。再次感谢,祝您有美好的一天。