小工具知识网

当前位置: 首页 > 行业知识 > FreeRTOS小项目实战------基于FreeRTOS和stm32的门禁系统

行业知识

FreeRTOS小项目实战------基于FreeRTOS和stm32的门禁系统

2026-11-05 20:45:26 来源:互联网转载

���录

收获

系统总体框架

程序框架

具体程序实现

工程文件网盘链接

收获

学习freertos的移植与裁剪,对任务间通信的认识更加深刻,加深了实时操作系统的理解,学习了as608指纹模块,rc522刷卡模块等模块的简单使用。

系统总体框架

该系统采用STM32F407ZGT6为主控芯片,在FreeRTOS下与分别通过as608指纹模块,RFID射频识别卡模块,LCD触屏模块以及esp8266WIFI模块完成解锁,配合显示模块,舵机,用蜂鸣器进行提示共同组成整个门禁系统,系统的整体框架图如下所示

首先指纹模块提前采取好需要识别的指纹到模块内置的芯片里面,将手指放到指纹识别模块上,系统会检测到指纹按下并且会采取当前的指纹图像与芯片内部的指纹图像进行识别,若识别成功,蜂鸣器响两下,并且LCD屏幕会显示指纹识别成功,舵机会转动180°模拟解锁成功,当指纹识别到的图像与模块存储的指纹识别不一致,则蜂鸣器会响3下,LCD屏幕会显示指纹识别失败,舵机不会转动。RFID射频识别功能是当使用者使用识别卡靠近RC522 RFID射频模块,此模块会识别到当前卡的卡号,若卡号与我写入的卡号一致则解锁成功,并且LCD屏幕会显示识别卡成功,舵机会转动180°模拟解锁成功;LCD触屏密码锁的功能是当使用者在屏幕输入密码,密码正确则解锁成功,并且LCD屏幕会显示指纹识别成功,舵机会转动180°模拟解锁成功。WIFI远程解锁则是ESP8266模块设置成AP+TCP服务器端,手机连接其热点并且在TCP客户端输入正确ip地址和端口号,输入正确的命令后解锁成功。当每一次解锁失败则会记录下这一次解锁失败,当累计3次后则舵机锁***。

由基于FreeRTOS操作系统下创建了一个开始任务和四个控制任务。任务与任务之间使用事件标志组进行通信,当TFTLCD屏幕触屏输入密码的时,当密码输入正确,则向舵机任务发送一个事件标志位;当指纹识别成功时,则向舵机任务发送一个事件标志位;当射频识别卡识别成功卡号时候;则向舵机任务发送一个事件标志位;当蓝牙从手机串口发生密码时,当密码识别成功,则向舵机任务发送一个事件标志位。舵机任务只要接收到其中一个事件标志位时候,舵机就会转动180°来模拟解锁成功。当如果每解锁失败一次之后,err全局变量加一,当err等于3的时候,则舵机任务被挂起。

具体程序实现

创建事件组

EventGroupHandle_t EventGroupHandler;//事件标志组句柄#define EVENTBIT_0(1

上一篇:轻松学会下载字典技巧!

下一篇:织梦CMS内链设置全攻略,构建网站内部链接,轻松掌握秘籍!