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

STM32F103-智能门禁卡系统

  • 1.基本介绍
    • 1.用到硬件
    • 2.功能介绍
  • 2.代码
    • 指纹模块
    • SIM900A模块
    • 矩阵按键
    • 主程序
  • 项目展示
    • 验证密码开锁演示
    • 指纹验证开锁演示
    • 添加指纹演示
    • 删除指纹演示
    • 效果图
  • 总结

1.基本介绍

1.用到硬件

序号 名称 备注
1 STM32F103单片机 我用的是STM32F103C8T6
2 AS608指纹模块 指纹开锁
3 SIM900A模块 发验证码使用
4 4X4矩阵按键 密码输入使用
5 OLED显示屏 界面显示使用(我的是OLED IIC接口的)
6 EEPROM 保存密码使用(我的是AT24C02)
7 继电器 模拟开锁
8 蜂鸣器 按键按下进行响

2.功能介绍

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

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

2.代码

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

void init()
{
	printf("+Q:844797079");	
}

但是我也有写部分的笔记

指纹模块

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

SIM900A模块

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

矩阵按键

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

主程序

#include "stm32f10x.h"
#include "OLED_I2C.h"
#include "delay.h"
#include "timer.h"
#include "key.h"
#include "stdio.h"
#include "string.h"
#include "led.h"
#include "relay.h"
#include "beep.h"
#include "sim900a.h"
#include "usart.h"
#include "as608.h"
#include "at24cxx.h"
#include "myiic.h"


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

	while(1)
	{	
		//验证指纹操作 这里是设置了必须在 主界面才能进行
		if(finger_status == FINGER_EXIST && curr_inteface == 0)
		{
			as608_process();	//验证指纹及相关操作
		}	
		if(cls_inteface)		cls_process();		//显示和参数复位		
		if(key_flag >= 10)		key_process();		//按键处理相关操作
		if(oled_flag >= 85)		oled_process();		//显示处理相关操作
	}  
}


项目展示

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

验证密码开锁演示

指纹验证开锁演示

添加指纹演示

删除指纹演示

效果图

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

总结

效果图。。。。太乱了,拿杜邦线。。。。。不可靠。抽空如果有时间学画一个板子吧。。。。

如果觉得这篇文章对你有用。欢迎大家点赞、评论哈哈
如果大家觉得哪里不好,或者有问题欢迎大家指正。
继续加油!

你可能感兴趣的:(STM32小项目,stm32,单片机,矩阵,arm,c语言)