资料链接:待更新~
哔哩哔哩视频链接:https://www.bilibili.com/video/BV17D4y1V7HG/?vd_source=e5082ef80535e952b2a4301746491be0(bilibili:化作尘my)
资料链接:https://pan.baidu.com/s/1qObK7KBl50RmFrAtoX12kw
提取码:iih4
实物链接:https://m.tb.cn/h.5h5mDXI?tk=MdxLWYHgKnz CZ0001
一、项目功能概述
1、OLED显示当前楼层、目标楼层等信息
2、可以刷卡到达指定楼层
3、可以刷指纹到达指定楼层
4、可以输入密码进入管理员模式,进行录入卡片与对应楼层信息,录入指纹与对应楼层信息,并可以修改删除指纹与卡片信息
5、用步进电机驱动上下楼层
6、用舵机控制开门关门(本工程未实现)
7、有报警功能,当密码错误、指纹错误、卡片错误,都会进行报警
8、外观用木板搭建
二、项目材料选择
1、显示选择0.96寸SPIOLED

2、刷卡模块选择RF522

3、指纹模块选择AS608

4、报警模块选择蜂鸣器

5、输入密码选择矩阵按键

6、电源电路选择USB接口输入,AMS1117降压芯片转3.3V给单片机供电


7、主控芯片选择STM32F103C8T6
主控芯片需要能够驱动OLED,刷卡模块、指纹模块、矩阵按键,理论上51单片机就可以满足要求,但是代码量大,内存会有比较高得要求,所以选择熟悉的stm32f103c8t6,64K FLASH内存足够存储代码与显示大量汉字。

三、原理图设计
1、单片机最小系统设计

2、电源部分设计

3、单片机供电与下载接口设计

4、指纹、按键、RFID、蜂鸣器、步进电机等电路设计

四、PCB板设计

五、主程序设计
(一)程序设计思想:
1、寻找指纹模块代码并移植调试使用
2、商家或者网络获取RFID驱动、OLED驱动
3、自己编写原理比较简单的矩阵按键驱动、步进电机驱动
4、写一个系统需要参数结构体方便管理
typedef struct
{
u32 HZCFlag; //化作尘保存标志 上电会初始化参数,后保存参数到单片机FLASH
u8 passwd1[7]; //管理员密码1
u8 passwd2[7]; //管理员密码2
u8 cardid[10][6]; //可以存储10张卡片ID
u8 cardFloor[10];//卡片对应楼层保存数组
u8 CurrFloor;//当前楼层
u8 TgtFloor; //目标楼层
u8 errCnt;//错误计数
u8 errTime;//等待错误时间
u8 fingerFloor[100];//指纹ID对应楼层
u16 fingNum;//指纹个数
u16 cardNum;//RFID个数
}SysTemPat;
5、增删改查都基于结构体操作,要保证数据实时同步
#include "main.h"
#include <string.h>
SysTemPat sys;
#define MAXERRTIMES 5
#define usart2_baund 57600//串口2波特率,根据指纹模块波特率更改
//要写入到STM32 FLASH的字符串数组
const u8 TEXT_Buffer[]={
0x17,0x23,0x6f,0x60,0,0};
#define TEXT_LENTH sizeof(TEXT_Buffer) //数组长度
#define SIZE TEXT_LENTH/4+((TEXT_LENTH%4)?1:0)
#define FLASH_SAVE_ADDR 0X0802C124 //设置FLASH 保存地址(必须为偶数,且所在扇区,要大于本代码所占用到的扇区.
//否则,写操作的时候,可能会导致擦除整个扇区,从而引起部分程序丢失.引起死机.
SysPara AS608Para;//指纹模块AS608参数
u16 ValidN

本文介绍了一款基于STM32F103C8T6的多功能电梯控制系统的设计与实现。该系统集成了OLED显示、RFID刷卡、指纹识别、密码锁等功能,并采用步进电机模拟电梯运行。文中详细阐述了系统功能、材料选择、原理图及PCB设计过程。

2万+

被折叠的 条评论
为什么被折叠?



