<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32設計的門禁照相機

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-06-22 10:34 ? 次閱讀

一、項目介紹

當前文章介紹基于STM32設計的門禁照相機,本項目提供了一種更加智能、安全、便捷的門禁解決方案。門禁照相機采用STM32F103ZET6 MCU作為主控芯片,配合2.8寸LCD顯示屏、OV7725數字攝像頭、SD卡和模擬門鈴按鍵等外設模塊,實現了攝像頭畫面實時顯示、門鈴觸發拍照、圖片存儲等功能。

在使用該門禁照相機時,來訪客人只需按下門鈴按鍵,攝像頭即可自動拍攝照片并保存到SD卡中。同時,用戶也可以通過LCD屏幕進行時間調整和本地圖片瀏覽等操作,提高了門禁系統的可操作性和用戶體驗。

門禁照相機的設計為了提高門禁系統的安全性和智能化程度,解決傳統門禁系統存在的諸多問題。通過采用數字攝像頭替代傳統貓眼,并實現照片自動拍攝和存儲功能,有效提高了門禁系統的安全性。同時,通過LCD屏幕進行時間調整和本地圖片瀏覽等操作,實現了門禁系統的智能化,提高了用戶的使用體驗。

image-20230615205237018

二、硬件設計

本照相機的主要硬件包括 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); // 防止連續拍照
         }
 ?
         /* 更新屏幕顯示內容,包括實時攝像頭畫面、時間日期、照片預覽等 */
     }
 }
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16130

    瀏覽量

    344840
  • STM32
    +關注

    關注

    2245

    文章

    10688

    瀏覽量

    349660
  • 照相機
    +關注

    關注

    0

    文章

    67

    瀏覽量

    26715
  • 門禁
    +關注

    關注

    1

    文章

    159

    瀏覽量

    29446
  • STM32F103ZET6
    +關注

    關注

    9

    文章

    67

    瀏覽量

    20892
收藏 人收藏

    評論

    相關推薦

    STM32照相機

    嵌入式相機照相機攝影攝像
    愛轉的光凌
    發布于 :2021年11月10日 23:07:36

    迷你STM32照相機(OV7670)設計(轉:原理圖+源代碼)

    迷你STM32照相機(OV7670)設計(轉:原理圖+源代碼),對學習stm32的發燒友們有福了,可以學習借鑒!
    發表于 07-26 09:53

    迷你STM32照相機OV7670

    迷你STM32照相機OV7670
    發表于 04-01 12:21

    LDO能提高小型照相機的照片質量嗎

    數字照相電子設備變得越來越便攜,集成了高質量的解決方案。照相機應用的高性能與小型尺寸常常受到照相機中為互補金屬氧化物半導體(CMOS)圖像傳感器供電的低壓差(LDO)穩壓器的影響。
    發表于 05-13 07:15

    迷你STM32照相機(OV7670

    迷你STM32照相機(OV7670
    發表于 06-10 11:22

    求一種基于STM32F4開發板的簡易照相機項目方案

    怎樣去設計一種基于STM32F4開發板的簡易照相機?對基于STM32F4開發板的簡易照相機設計有哪些要求?
    發表于 07-26 09:53

    照相機用簡易閃光燈電路

    照相機用簡易閃光燈電路
    發表于 04-13 12:03 ?1171次閱讀
    <b class='flag-5'>照相機</b>用簡易閃光燈電路

    怎樣識照相機閃光燈電路

    怎樣識照相機閃光燈電路
    發表于 08-28 15:04 ?1082次閱讀
    怎樣識<b class='flag-5'>照相機</b>閃光燈電路

    快修照相機電子閃光燈技巧

    快修照相機電子閃光燈技巧
    發表于 08-28 15:58 ?1173次閱讀
    快修<b class='flag-5'>照相機</b>電子閃光燈技巧

    照相機應如何選擇電池?

    照相機應如何選擇電池?        普通的傻瓜照相機可用一般的堿性電池,其效果較好;數碼相機等高科技產品由于對電流強度等要求較高
    發表于 10-28 15:33 ?836次閱讀

    照相機

    照相機 教學所需要的照片、幻燈片和投影片多數是通過攝影獲得的,因此,照相機及其使用是制作投影軟件的基礎。
    發表于 11-18 15:32 ?3909次閱讀
    <b class='flag-5'>照相機</b>

    照相機測光電路圖

    照相機測光電路圖 B為測光元件,前面裝有由粗到密的山柵。
    發表于 11-19 16:18 ?1092次閱讀
    <b class='flag-5'>照相機</b>測光電路圖

    照相機鏡頭遮光罩

    照相機鏡頭遮光罩           
    發表于 12-23 11:43 ?1185次閱讀

    一次成像照相機

    一次成像照相機的英文名稱是Polaroid,我國常譯為“波拉”、“拉立得”或“寶麗來”。波拉膠片有多種成像原理,我國銷售的主要是采用擴散轉印法成像的膠片。
    的頭像 發表于 11-04 11:18 ?7141次閱讀

    “無人機”到底是“會飛的照相機”還是“帶照相機的飛行器”?

    深圳海關關稅處介紹,“無人機”如果按照“帶照相機的飛行器”歸類,就必須按“飛行器”進行監管,這樣一來各國的貿易管制條件會比較嚴格,容易形成非關稅貿易壁壘;但是如果按照“會飛的照相機”歸類,就可以按“照相機”來進行監管,各國對
    的頭像 發表于 11-06 11:19 ?7450次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>