基于 STM32 的智能家居门禁系统,包含硬件PCB与固件源码,实现密码输入、RFID 刷 卡和指纹识别三种开锁方式。PCB基于KiCad9绘制,代码基于STM32CubeMX+VsCode+Keil扩展。该项目为笔者的某次练习项目,基本完成后,分享出来给大家学习参考。项目内容都在Gitee中了,本文就不过多介绍了

当前最新: PCB V1.0.1 / Code V1.0.1

Gitee项目链接:紫阡星影/SmartHomeAccessControlSystem (gitee.com)

项目内容

下述为实物、原理图、代码片段以及软硬件的基本框图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

功能实现

已实现

  • 密码开锁:4×4键盘,密码长度6~12,错误次数0~5
  • RFID开锁:MFRC522模块,增加、删除、识别已录入信息功能,识别成功继电器动作1s
  • 指纹开锁:AS608模块,增加、删除、识别已录入信息的功能,识别成功继电器动作1s
  • 按键定义:0~9数字,*确认,#删除,A/RFID模式,B/指纹模式,C/管理员模式,D/返回主界面
  • 状态显示:OLED屏,基于U8G2构建,通过读取AHT20可以显示环境温湿度
  • LED指示:L1绿(正常)、L2蓝(RFID)、L3黄(指纹)、L4红(锁定/参数错误闪烁)
  • 安全锁定:连续错误达设定次数,系统锁定1分钟
  • 蜂鸣器:开锁/错误/锁定等提示

未实现

对于预设有相关硬件但是没有构建相关功能的模块:

  • 基于AT24CXX芯片做持久化管理
  • 基于ESP01S做物联网方向的控制
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐