基于STM32设计的门禁照相机
当前文章介绍基于STM32设计的门禁照相机,本项目提供了一种更加智能、安全、便捷的门禁解决方案。门禁照相机采用STM32F103ZET6 MCU作为主控芯片,配合2.8寸LCD显示屏、OV7725数字摄像头、SD卡和模拟门铃按键等外设模块,实现了摄像头画面实时显示、门铃触发拍照、图片存储等功能。
在使用该门禁照相机时,来访客人只需按下门铃按键,摄像头即可自动拍摄照片并保存到SD卡中。同时,用户也可以通过LCD屏幕进行时间调整和本地图片浏览等操作,提高了门禁系统的可操作性和用户体验。
门禁照相机的设计为了提高门禁系统的安全性和智能化程度,解决传统门禁系统存在的诸多问题。通过采用数字摄像头替代传统猫眼,并实现照片自动拍摄和存储功能,有效提高了门禁系统的安全性。同时,通过LCD屏幕进行时间调整和本地图片浏览等操作,实现了门禁系统的智能化,提高了用户的使用体验。
(资料图片仅供参考)
二、硬件设计本照相机的主要硬件包括 STM32F103ZET6 MCU、3.5寸 LCD 显示屏、OV7725 数字摄像头、SD 卡和一个模拟门铃的按键。
(1)STM32F103ZET6 MCU
STM32F103ZET6 MCU 是本照相机的主控芯片,它可以通过 GPIO 口驱动其他外设模块。
(2)3.5寸 LCD 显示屏
3.5寸 LCD 显示屏可以实时显示摄像头捕捉的画面,并且支持多个页面的切换。
(3)OV7725 数字摄像头
OV7725 数字摄像头可以采集来访客人的画面,并将其实时显示在 LCD 显示屏上。
(4)SD 卡
SD 卡用于存储照相机拍摄的照片,照片的名称由当前时间日期命名。
(5)模拟门铃的按键
模拟门铃的按键用于触发照相机拍摄照片。
三、软件设计3.1 技术要求(1)实时显示画面
本照相机通过 OV7725 数字摄像头捕捉来访客人的画面,并通过3.5寸 LCD 显示屏实时显示。
(2)拍照并保存到 SD 卡
当有来访者按下模拟门铃按键时,照相机会拍摄照片并保存到 SD 卡中,照片名称以当前时间日期命名。
3.2 软件流程(1) 初始化STM32F103ZET6 MCU及外部设备; (2) 启动OV7725 数字摄像头; (3) 开启LCD; (4) 进入主循环: a. 读取按键状态是否是门铃被按下; b. 若发现门铃按下,则照相机开始拍照并将照片保存到 SD 卡; c. 更新屏幕上的内容。
3.3 代码实现代码实现过程:
(1) 初始化STM32F103ZET6 MCU及外部设备;
(2) 启动OV7725 数字摄像头,并设置其采集参数;
(3) 初始化 SD 卡,并在 SD 卡上创建一个文件夹用于存储照片;
(4) 开启LCD,并设置其显示参数;
(5) 进入主循环,读取按键状态并更新屏幕上的内容;
(6) 当发现门铃被按下时,开始拍照并将照片保存到 SD 卡中。
四、代码实现4.1 整体代码框架#include "stm32f10x.h" #include "sdio_sdcard.h" #include "ff.h" /* 定义一些宏和变量 */ int main(void) { /* 初始化系统时钟(例如使用 HSE 8MHz 作为系统时钟) */ /* 初始化 GPIO 端口、SDIO、LCD、OV7725 等外设模块 */ /* 初始化 SD 卡,并在其上创建用于存储照片的文件夹 */ while(1) { /* 读取门铃按键状态 */ if(/* 检测到门铃被按下 */) { /* 拍摄照片并保存到 SD 卡中,照片名以当前时间日期命名 */ } /* 更新屏幕显示内容,包括实时摄像头画面、时间日期、照片预览等 */ } }
4.2 拍照存储下面是采用 STM32 的HAL 库设计的代码,控制OV7725 拍照保存为 BMP 图片到 SD 卡中。
#include "stm32f1xx_hal.h" #include "sdio_sdcard.h" #include "ff.h" #include "ov7725.h" extern SD_HandleTypeDef hsd; extern DCMI_HandleTypeDef hdcmi; extern DMA_HandleTypeDef hdma_dcmi; FATFS fs; FIL file; UINT bw; /* 定义一些宏和变量 */ int main(void) { /* 初始化系统时钟(例如使用 HSE 8MHz 作为系统时钟) */ /* 初始化 GPIO 端口、SDIO、LCD、OV7725 等外设模块 */ /* 初始化 SD 卡,并在其上创建用于存储照片的文件夹 */ while(1) { /* 读取门铃按键状态 */ if(/* 检测到门铃被按下 */) { /* 拍摄照片并保存到 SD 卡中,照片名以当前时间日期命名 */ HAL_GPIO_WritePin(OV7725_RESET_GPIO_Port, OV7725_RESET_Pin, GPIO_PIN_SET); // 复位 OV7725 HAL_Delay(50); HAL_GPIO_WritePin(OV7725_RESET_GPIO_Port, OV7725_RESET_Pin, GPIO_PIN_RESET); ov7725_init(); // 初始化 OV7725 HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, (uint32_t)RGB565_buffer, (uint32_t)(CAMERA_RWIDTH * CAMERA_RHEIGH), 1); // 开始采集 HAL_DMA_PollForTransfer(&hdma_dcmi, HAL_DMA_FULL_TRANSFER, 1000); // 等待采集完成 /* 将 RGB565 数据转换成 BMP 格式 */ uint16_t bmp_header[54/2] = {0x4D42, 54+CAMERA_RWIDTH*CAMERA_RHEIGH*3, 0, 0, 54, 40, CAMERA_RWIDTH, CAMERA_RHEIGH, 1, 24, 0, CAMERA_RWIDTH*CAMERA_RHEIGH*3, 0, 0, 0, 0}; uint8_t bmp_data[CAMERA_RWIDTH*CAMERA_RHEIGH*3]; uint16_t i = 0, j = 0; for(i = 0; i < 54/2; i++) { bmp_data[i*2] = bmp_header[i]; // 拷贝 BMP 文件头 bmp_data[i*2+1] = bmp_header[i] > >8; } for(i = 0; i < CAMERA_RWIDTH*CAMERA_RHEIGH; i++) { bmp_data[54+i*3+0] = RGB565_buffer[i] > >8; // RGB565 转换为 BMP 格式的 RGB 24位色 bmp_data[54+i*3+1] = RGB565_buffer[i] > >3; bmp_data[54+i*3+2] = RGB565_buffer[i]< < 3; } /* 保存 BMP 图片到 SD 卡中 */ if(f_mount(&fs, SD_Path, 1) == FR_OK) { // 挂载 SD 卡 char filename[20]; /* 将文件名设置为当前时间日期,例如"202206151243.bmp" */ sprintf(filename, "%04d%02d%02d%02d%02d%02d.bmp", year, month, day, hour, minute, second); if(f_open(&file, filename, FA_CREATE_ALWAYS | FA_WRITE) == FR_OK) { // 创建文件并写入数据 f_write(&file, bmp_data, sizeof(bmp_data), &bw); f_close(&file); } } HAL_Delay(1000); // 防止连续拍照 } /* 更新屏幕显示内容,包括实时摄像头画面、时间日期、照片预览等 */ } }
关键词:
相关阅读
-
基于STM32设计的门禁照相机
当前文章介绍基于STM32设计的门禁照相机,本项目提供了一种更加智能、 -
雄伟的高山古诗有哪些 形容高山风景壮...
抄写作文网小编为大家提供雄伟的高山古诗有哪些形容高山风景壮观的诗句 -
新一轮调整周期已至?酒企三季度有望加...
“618”大促以来,申万白酒指数已连续阴跌三天。白酒指数持续阴跌6... -
鲍鱼怎么挑选(鲍鱼如何挑选)_世界快资讯
来为大家解答以上问题。鲍鱼怎么挑选,鲍鱼如何挑选很多人还不知道,现 -
端午假期首日北京全市公园纳客98万人次
中国青年报客户端北京6月22日电(中青报·中青网记者夏瑾)记者从北... -
银川消防:20车102人参加烧烤店爆炸事故...
中国青年报客户端银川6月22日电(中青报·中青网记者焦敏龙)在今晚... -
波媒:德龙戈夫斯基可能转会至德国或英...
据波兰媒体SportoweFakty消息,斯佩齐亚门将德龙戈夫斯基可能在今夏转 -
资讯:环球聚焦:每日观察!感动一年级作...
下面就是小编给大家带来的感动一年级作文500字,希望大家喜欢,可以帮 -
保诚因购股权获行使合计发行2558股
热点栏目。保诚(02378)发布公告,于2023年6月22日,因行使2013 2023 -
冬天怀孕带崽的兔子吃什么?
兔子,天生丽质可爱,目前兔子可是有许多品种,灰毛野兔,棕色野兔,家 -
环球快看:魅族20系列服务刷新,新店开张
6月22日魅族官博发布关于魅族授权体验的最新消息,上海马桥万达店、重 -
关注三夏丨从“丰收在田”到“丰收在手...
新华社石家庄6月23日电题:从“丰收在田”到“丰收在手”燕赵大地迎... -
粽叶飘香 百舸竞渡——感受香港端午情...
新华社香港6月22日电(记者梁文佳)粽叶飘香,百舸竞渡,香港迎来一年 -
美国深海潜水器发生内爆5名乘员死亡
美国海岸警卫队22日说,此前在考察“泰坦尼克”号邮轮残骸途中失踪 -
互联网泡沫重现?投资者纷纷离场,科技...
智通财经APP获悉,美国银行分析师MichaelHartnett表示,在类似1999年的 -
【全球热闻】黄金实时行情分析:现货黄...
基本消息面周五(6月23日),现货黄金小幅下探,一度触及1910美元,该 -
河南新密一门面房因液化气爆炸坍塌4人被...
6月23日,河南郑州新密市一门面房突发燃气爆炸事故,有人员被埋。23日 -
今热点:这三大星座最有女人味,摄人心...
水瓶女人如水,而温柔如水的水瓶座更是把这种别样的气质发挥到极致。水 -
西红柿炖牛肉可以放香菜吗?-今日热讯
答我们东北饭店做的西红柿炖牛肉是可以放香菜的,有个别的是不爱吃香菜 -
亦辰集团(08365)与 Regal Crown签订合作协议
亦辰集团(08365)公布,于2023年6月23日,公司全资附属公司雅博企业与R