# 门禁系统 **Repository Path**: fengdaokanhai/door ## Basic Information - **Project Name**: 门禁系统 - **Description**: 基于STM32F103ZET6的门禁系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2022-04-06 - **Last Updated**: 2022-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能门禁系统 ## 简介 ![](https://cdn.jsdelivr.net/gh/zfq0620/PicGo/myphoto/20200526222022.png) **【B站视频连接】** [https://www.bilibili.com/video/BV1JQ4y1P7n5/](https://www.bilibili.com/video/BV1JQ4y1P7n5/) ## 文件夹说明 - HARDWARE 外设模块的驱动代码(oled,key) - OBJ 可执行文件(可直接烧进板子) - SYSTEM 配置系统的一些文件 - USER 工程目录文件(可打开直接keil编程) - keilkilll.bat 删除编译时所产生的中间文件 **注意** 这里用小爱同学远程控制,这边STM32开发板和ESP8266没有用串口连接 直接用GPIOI口来操作的,所以ESP8266模块需要烧写固定的程序,程序在下面文件夹 - ESP8266 代码在此文件夹,用Arduino IDE来编译 可执行文件我就不放了,因为需要配置自己的设备的秘钥 ## 开发环境 - STM32F103ZET6开发板 - ESP8266 - keil5 - Arduino - C语言 ## 程序框架 1. 用户模式 2. 管理员模式 ## 外设模块 - oled屏(0.96寸128x64 spi) - 4x4 薄膜键盘 - DHT11温湿度传感器驱动 - 红外人体检测驱动 - LED灯驱动 - 蜂鸣器驱动 ## 实现功能 1. 开启设备的开机动画显示 2. 红人体检测,当人靠近时led灯亮,oled屏自动点亮 3. 休眠模式,一定时间不操作屏幕会自动退回到主页面,并且熄灭 4. 温湿度显示,在待机状态下,主页面和温湿度页面交替显示 ## 管脚连接定义 **1. STM32F103ZET6开发板** |模块名称|管脚| |--|--| |led1 | PA1 | |led2 | PF2| |人体红外检测模块| PF0| |DHT11温湿度传感器| PD0| |用于连接esp8266管脚| PF4| |beep蜂鸣器| PA1| |OLED显示 |D0 接PC0(SCL)| | |D1 接PC1(SDA)| | |RES 接PC2| | |DC 接PC3| | |CS 接PA0| |KEY薄膜键盘 行: |ROW_1 PC(6) 5| | |ROW_2 PC(7) 6| | |ROW_3 PC(8) 7| | |ROW_4 PC(9) 8| | 列: |COL_1 PA(4) 1| | |COL_2 PA(5) 2| | |COL_3 PA(6) 3| | |COL_4 PA(7) 4| |door继电器| PA12| >注意 薄膜键盘的管脚上都有标号,可以仔细看,并按照数字从1-8连接 led2定义了 但是没有使用,项目中灯用的是led1 **2. ESP8266模块** |模块名称|管脚| |--|--| |GND|GND| |VCC|VCC| |连接 STM32F103ZET6 PF4|GPIO16(D0)| 此管脚用于小爱同学的远程控制 >注意 ESP8266模块程序单独烧写,需要修改代码中的设备密链 wifi名 密码,三项内容, blinker的 app端只定义了一个开关按键 这些引脚的定义,都不是固定的,大家也可以根据自己的接法来修改管脚,注意配置需要配置各头文件定义管脚的宏