一.系统概述
智能密码锁系统的设计如下: 1. RFID刷卡模块:支持RFID卡片的识别和验证功能。用户可以使用RFID卡片进行开锁操作,系统通过判断卡片ID来确认权限。 2. 指纹识别模块:包括指纹录入和指纹识别功能。用户可以将指纹信息录入系统,并通过指纹验证进行开锁操作。 3. 矩阵键盘模块:提供了基于密码的解锁方式。用户可以通过矩阵键盘输入预设的密码来开锁。 这些功能模块组合,使得智能密码锁系统能够支持多种开锁方式,确保安全可靠地管理门禁控制,满足不同用户的需求和安全阈值设定。
二.电路设计
电路图采用Altium Designer进行设计: 1. 通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心; 2. 使用RC522刷卡模块进行商品的刷卡检测,该模块采用SPI总线与单片机进行通信; 3. 使用4*4矩阵键盘进行密码输入,4行4列都需要单片机的GPIO口进行单独控制; 4. 使用AS608进行指纹数据检测,模块通过UART串口与单片机进行通信; 5. 通过ESP8266-01S将检测到数据上传到上位机,通过UART串口与单片机进行通信; 6. 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信; 7. 使用蜂鸣器进行报警,蜂鸣器采用的有源蜂鸣器,使用NPN三极管进行蜂鸣器进行驱动。
三.程序设计
#include "sys.h"
#include "delay.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"
/************************************************
版权:小常硬件
公众号:微信搜索“小常硬件“在公众号免费下载相关资料
************************************************/
extern u8 TEXT_Buffer[4];
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Usart1_Init(9600);
KEY1_Init();
Relay_init();
Beep_init();
OLED_Init();
OLED_CLS();
RC5222_GPIO_Init_analog_Spi();
Beep=0;
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容
|