当前位置:首页 > 物联网 > IoT设计分享
[导读]今天,我们将构建一个基于Arduino的触摸屏门锁系统,该系统包含一个2.4英寸TFT屏幕,用于输入个人识别号码(PIN)和输入PIN的视觉显示。它还包含一个12V电磁锁和继电器模块。电磁锁用于门锁和开锁。

今天,我们将构建一个基于Arduino的触摸屏门锁系统,该系统包含一个2.4英寸TFT屏幕,用于输入个人识别号码(PIN)和输入PIN的视觉显示。它还包含一个12V电磁锁和继电器模块。电磁锁用于门锁和开锁。

当用户使用TFT显示器输入PIN时,Arduino捕获PIN并将其与存储在EEPROM中的PIN进行匹配。如果输入的PIN码与存储的PIN码匹配,Arduino将打开大门,并在显示屏上显示“Welcome”字样;否则,TFT上显示“Access Denied”,门保持关闭状态。可以通过长按“取消”键,然后在下一个屏幕上选择“是”来更改PIN。然后,系统要求输入当前的PIN,并将其与存储的PIN进行匹配。如果找到匹配,则要求用户输入新的PIN。这个门锁系统可以安装到任何你现有的门,以确保他们与数字密码。在此之前,我们还构建了其他有趣的自动门锁系统项目,如下所列:

•基于物联网的电磁门锁使用树莓派4

•基于物联网的智能门锁系统使用NodeMCU

•基于Arduino和智能手机的指纹门锁系统

•使用树莓派的人脸识别门锁系统

Arduino触摸屏门锁所需组件

•Arduino Uno

•2.4 " TFT液晶显示屏

•电磁锁

•继电器模块

•蜂鸣器

2.4 " TFT液晶显示屏-介绍

2.4英寸TFT液晶触摸屏是最常见的RGB彩色显示模块之一。液晶显示器具有出色的生动色彩对比,并配有内置microSD卡连接。这款TFT显示屏由一个明亮的背光(4个白光led背光)和一个240 × 320像素的彩色显示屏组成。它还具有单独的RGB像素控制,提供比黑白128×64显示器更好的分辨率。我们在之前的物联网菜单订购系统和生物识别投票系统项目中使用了此显示。在将其与Arduino一起使用之前,让我们看看这个2.4“TFT LCD屏幕模块的引脚。

正如你所看到的,28个引脚将完美地适合任何Arduino Uno / Arduino Mega板。TFT显示引脚分为四个主要部分,即命令引脚,数据引脚,SD卡引脚和电源引脚。下表给出了这些引脚的一个小分类。

TFT LCD与Arduino的连接

2.4英寸TFT液晶屏是一个完美的Arduino Shield。您可以直接将此显示器安装在Arduino Uno/Mega的顶部,它将与下图所示的引脚完美匹配。

触摸屏门锁系统电路图

下面给出了使用Arduino构建智能门锁的完整原理图。电路是用fritz绘制的,因为没有电磁锁可用,我用电机来表示它。电磁锁和直流电机都没有任何极性,因此可以这样连接。

在Arduino上安装TFT显示器,我们只需要将继电器模块和蜂鸣器连接到Arduino上。继电器模块的Vcc和GND引脚连接Arduino的5V和GND, Input引脚连接Arduino的第11个引脚。Buzzer的正引脚连接Arduino的数字引脚12,负引脚连接Arduino的GND引脚。整个设置由12V适配器供电。板载7805稳压器用于获得稳压的5V,为Arduino Uno供电。

3D打印触摸屏门锁系统外壳

接下来,我用刻度测量了设置的尺寸,还测量了桶千斤顶和TFT显示器的尺寸,以设计一个套管。我的设计完成后是这样的。

设计完成后,我将其导出为STL文件,并根据打印机设置进行切片,最后进行打印。STL文件也可以从Thingiverse下载,你可以使用它打印你的大小写。打印完成后,我开始将项目组装在一个永久的外壳中,并将其安装在一个设施中。与完整的连接是作出的,我组装电路到我的外壳和一切都很好适合,你可以看到在这里。

触摸屏门锁系统的Arduino编程

这里我们使用的是SPFD5408库,这是原始Adafruit库的修改版本。本页末尾给出了完整的代码。这里我们将解释代码的重要部分。这段代码包含四个部分。第一部分是创建一个pin锁的UI。第二部分是根据用户的触摸检测按钮,第三部分是检查用户输入的密码,最后一部分是重置密码。

通过包含所有必需的库来启动代码。所有这三个SPFD5408库都在ZIP文件中,您可以从上面提供的链接下载它们。

现在在下一行中,定义最小和最大校准的X和y轴值。这里给出的价值观是普遍的,几乎适用于每个人。您可以校准TFT,如果您觉得校准不令人满意,可以更改TFT。

在setup()函数中,为调试目的将串行监视器初始化为9600波特率,并初始化TFT显示。然后定义继电器和蜂鸣器引脚作为输出引脚。

初始化变量和引脚之后,现在我们可以进入主要的编程部分。如前所述,这个程序涉及四个部分,第一部分是创建一个pin锁的UI。我只是简单地做了一个基本布局的pin锁与12个按钮和一个显示单元。TFT显示库允许您绘制直线、矩形、圆形、图表、字符串等等。我使用直线和矩形来设计UI。每个框的宽度为80像素,高度为60像素。

现在,在创建UI之后,第二部分包括检测每个按钮的用户触摸,然后执行与该按钮相关的任务。每次用户触摸屏幕,我们就能知道他/她触摸的像素的X和Y位置。该值可以显示在串行监视器上,如下所示。

或者,我们可以预测每个按钮的位置,如下图所示:

在获得所有框的位置后,将这些值与用户触摸进行比较,以预测他触摸的按钮位置。

第三部分是检查用户输入的密码和控制大门。由于默认密码存储在Arduino的EEPROM中,所以首先,我们将从EEPROM读取密码,然后将其与用户输入的密码进行比较。密码存储在两个不同的地址,因为Arduino Uno EEPROM只能在一个地址存储0-255个数字。

触摸屏门锁系统测试

连接所有硬件并上传代码之后,现在是测试项目的时候了。我们使用外部12V 1A适配器为设备供电。默认情况下,它将在TFT显示上显示Pin锁UI。只要输入正确的密码,门锁就会解锁,8秒后又会被锁上。可以通过长按“取消”键,然后在下一个屏幕上选择“是”来更改默认密码。

这是如何使用TFT显示器和电磁锁构建Arduino电磁门锁系统。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭