资讯详情

基于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.功能介绍

----------------------------------------------------------------------------------------------------------

三次输入密码错误 锁定需要通过验证码解锁 修改密码需要输入原密码。如果原密码输入错误,还需要修改验证码。 添加和删除指纹 进入界面添加或删除也需要输入原密码。 ----------------------------------------------------------------------------------------------------------

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();		//显示处理相关操作
	}  
}


项目展示

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

验证密码开锁演示

在这里插入图片描述

指纹验证开锁演示

添加指纹演示

删除指纹演示

效果图

总结

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

如果觉得这篇文章对你有用。欢迎大家点赞、评论哈哈 继续加油!

标签: 4x21继电器模块

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台