【电子DIY作品】智能门锁系统 arduino uno+8266+HLK fpm383c

[复制链接]
查看294 | 回复9 | 2024-7-18 16:46:58 | 显示全部楼层 |阅读模式
本帖最后由 小夏同学 于 2024-7-18 17:38 编辑

这个是我前两年的一个课设作业。设计的比较粗糙。希望各位大佬不要见怪。
首先是硬件方面:
主控用arduino uno和esp8266,然后其他的传感器有指纹模块(FPM383C)、RFID模块(RC522)、4x4密码键盘、0.96寸oled屏幕和继电器模块。

图片1.png 图片2.png
图片4.png 图片6.png 图片7.png

图片5.png 图片3.png

然后我的大致设计流程是这样的。
图片8.png

图片可能有点看不清。我大致讲一下。
首先uno负责矩阵键盘密码,和rfid卡的识别,以及控制门锁(也就是继电器)的开关。锁的密码储存在uno的eeprom里面,掉电不丢失。

8266与指纹模块连接二者通过我定义的软串口进行通信。然后将指纹匹配的结果通过串口一传输给uno进行开锁动作。
同时8266还与上层手机app通过wifi连接,我用的是点灯app
图片9.png

大致讲一下我当时的代码思路。
首先,定义一个二维数组映射4x4密码键盘上的数值,通过按键检测代码判断输入的按键。设定一个初始密码放入eeprom中。
写一个判断密码的函数。和修改密码的函数然后在主函数调用。
其次,rfid代码就是将id卡的密钥读出然后判断。就用arduino提供的库函数来实现。
封装开关锁的函数,其实就是控制引脚的高低电平。在判断的时候调用就行。
然后,当时弄到这的时候uno的引脚不够了。我就把指纹模块放到了8266上。
8266上的代码比较复杂,主要涉及的是8266和点灯app的交互以及一些回调函数等。
还有就是这个hlk的指纹模块是半导体面阵式的,网上资料比较少,当时数据手册看的人头大。
这个指纹模块最多支持六次指纹拼接,能存多少指纹我也忘了。反正非常麻烦。
通过手机app向8266发送添加指纹命令,8266收到后向指纹模块发送指令,之后按四次指纹模块,指纹就添加上了。
图片10.png

以上就是本次作品的大致内容
项目演示视频加代码:https://pan.baidu.com/s/12vKB3sizNGwoNZwRi_QGCA?pwd=hg7q 提取码:hg7q。

后续这个项目要改进的话,我认为可以加摄像头模组搞个人脸识别,以及创建一次性密码,和32位虚位密码这些功能等。
回复

使用道具 举报

爱笑 | 2024-7-18 17:54:51 | 显示全部楼层
这次写完整了吗?
用心做好保姆工作
回复 支持 反对

使用道具 举报

1084504793 | 2024-7-18 18:16:44 | 显示全部楼层
回复

使用道具 举报

小夏同学 | 2024-7-18 20:19:33 | 显示全部楼层
爱笑 发表于 2024-7-18 17:54
这次写完整了吗?

写完了
回复 支持 反对

使用道具 举报

爱笑 | 2024-7-19 08:34:33 | 显示全部楼层
用心做好保姆工作
回复 支持 反对

使用道具 举报

bzhou830 | 2024-7-19 08:54:24 | 显示全部楼层
不错不错
选择去发光,而不是被照亮
回复

使用道具 举报

WT_0213 | 2024-7-19 09:21:01 | 显示全部楼层
点赞
回复

使用道具 举报

lsrly | 2024-7-19 11:54:30 | 显示全部楼层
好好学习,努力挣钱,专心
回复

使用道具 举报

lazy | 2024-7-20 14:01:15 | 显示全部楼层
赞赞
回复

使用道具 举报

iiv | 2024-7-20 17:48:08 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则