你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F103+AS608指纹模块+4X4矩阵按键+SIM900A发短信——智能门禁卡系统

[复制链接]
STMCU小助手 发布时间:2022-8-22 15:17
1.基本介绍
1.用到硬件
ZDND3XEUWUJ0}QA0GUBWC.png


2.功能介绍
----------------------------------------------------------------------------------------------------------
1:可以密码开锁
2:可以修改密码
3:可以指纹开锁
4:可以添加指纹
5:可以删除指纹
6:密码掉电不丢失
7.支持查看输入内容

说明:
输入密码3次错误 锁死,需要通过验证码来开锁
修改密码需要输入原密码,如果原密码输入错误,则也是需要验证码进行修改。
添加和删除指纹 也是需要输入原密码才能进入界面添加或者删除。
----------------------------------------------------------------------------------------------------------

2.代码
由于代码太多,我这里就不都贴出来了。有需要可以阅读下的代码。

  1. void init()
  2. {
  3.         printf("+Q:844797079");        
  4. }
复制代码
但是我也有写部分的笔记

指纹模块
我也有写笔记,可以去下方链接阅读
指纹相关介绍和代码

SIM900A模块
我也有写笔记,可以去下方链接阅读
SIM900A相关介绍和代码

矩阵按键
我也有写笔记,可以去下方链接阅读
矩阵按键相关介绍和代码

主程序
  1. #include "stm32f10x.h"
  2. #include "OLED_I2C.h"
  3. #include "delay.h"
  4. #include "timer.h"
  5. #include "key.h"
  6. #include "stdio.h"
  7. #include "string.h"
  8. #include "led.h"
  9. #include "relay.h"
  10. #include "beep.h"
  11. #include "sim900a.h"
  12. #include "usart.h"
  13. #include "as608.h"
  14. #include "at24cxx.h"
  15. #include "myiic.h"


  16. int  main()
  17. {
  18.         uint8_t result;
  19.         OLED_Init();                        //OLED屏幕初始化
  20.         usart1_init(57600);                //串口1初始化 用于和指纹模块通信
  21.         usart3_init(115200);        //串口3初始化 用于和SIM900A模块通信
  22.         matrix_keys_init();                //按键初始化
  23.         timer3_init();                        //定时器3初始化
  24.         timer4_init();                        //定时器4初始化
  25.         led_init();                                //LED初始化
  26.         relay_init();                        //继电器初始化
  27.         beep_init();                        //蜂鸣器初始化
  28.         while(sim900a_init());        //SIM900A初始化
  29.         oled_show_title();                //OLED显示标题 "智能门禁"
  30.         as60x_wak_init();                //指纹模块初始化
  31.         IIC_Init();                                //IIC 初始化
  32.         at24c02_read_data(0,password_source,6);        //读取AT24C02存放的密码进行存放

  33.         while(1)
  34.         {        
  35.                 //验证指纹操作 这里是设置了必须在 主界面才能进行
  36.                 if(finger_status == FINGER_EXIST && curr_inteface == 0)
  37.                 {
  38.                         as608_process();        //验证指纹及相关操作
  39.                 }        
  40.                 if(cls_inteface)                cls_process();                //显示和参数复位               
  41.                 if(key_flag >= 10)                key_process();                //按键处理相关操作
  42.                 if(oled_flag >= 85)                oled_process();                //显示处理相关操作
  43.         }  
  44. }
复制代码

项目展示
这里我就简单的挑几个功能进行动图演示吧

验证密码开锁演示

d1f544b14e3f44ff9f699b99e793ce81.gif

指纹验证开锁演示

008914cd22bd43eeb0a8b63632f4f64a.gif

添加指纹演示

62e139a8f436477a982c11b68d56ae2d.gif

删除指纹演示

fdc84cec14f74fc4914961fb31d3a8f5.gif

效果图


6b2f11b38af14bbe8da14106a91891ee.png

————————————————
转载:皮卡丘吉尔

收藏 评论0 发布时间:2022-8-22 15:17

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版