完成了 OV7670(圖像傳感器)、 ILI9341(TFT LCD 屏幕)和 XPT2046(電阻式觸摸屏)的程式,便可以將功能合併為一個數位靜態相機(Digital Still Camera,DSC),當然是非常簡單的功能,祇要觸碰觸摸屏,便馬上攝取鏡頭前面的影像,然後在 ILI9341 TFT LCD 屏幕上顯示。
ESP32 OV7670 數位靜態相機 DSC 製作 |
// OV7670 IO 設定
#define pinSCL 22 // OV7670 i2c clock
#define pinSDA 21 // OV7670 i2c data
#define pinVSYNC
39 // OV7670 Vsync
#define pinRCK
4 // FIFO read clock
#define pinRRST
5 // FIFO read pointer reset to beginning of
frame
#define pinWR
19 // FIFO write enable
#define pinD0 32 // FIFO read data pins D0
#define pinD1 33 // FIFO read data pins D1
#define pinD2 34 // FIFO read data pins D2
#define pinD3 35 // FIFO read data pins D3
#define pinD4 36 // FIFO read data pins D4
#define pinD5 2 //
FIFO read data pins D5
#define pinD6 26 // FIFO read data pins D6
#define pinD7 27 // FIFO read data pins D7
// XPT2046 Touch Screen I/O Definition
// XPT2046 CS=Chip Select Pin
#define XPT2046_CS 0
#define XPT2046_CS_0 {GPIO.out_w1tc
= (1 << XPT2046_CS);}
#define XPT2046_CS_1 {GPIO.out_w1ts = (1 << XPT2046_CS);}
//Definitions for T_DI pin Input (MCU Output
MOSI)
#define XPT2046_MOSI 18
#define XPT2046_MOSI_0 {GPIO.out_w1tc
= (1 << XPT2046_MOSI);}
#define XPT2046_MOSI_1 {GPIO.out_w1ts
= (1 << XPT2046_MOSI);}
//Definitions for T_DO pin Output (MCU Input
MISO)
#define XPT2046_MISO 17
#define XPT2046_MISO_IN gpio_get_level(GPIO_NUM_17)
//Definitions for T_CLK pin (SCK) Output
#define XPT2046_SCK 23
#define XPT2046_SCK_0 {GPIO.out_w1tc = (1 << XPT2046_SCK);}
#define XPT2046_SCK_1 {GPIO.out_w1ts = (1 << XPT2046_SCK);}
// XPT2046 Interrupt IRQ
#define XPT2046_IRQ 25
|
ESP32 OV7670 數位靜態相機 DSC 程式:
while(1) {
if
(shutter == 1){
OV7670_captureFrame();
vTaskDelay(100
/ portTICK_PERIOD_MS);
OV7670_rrst();
vTaskDelay(100
/ portTICK_PERIOD_MS);
OV7670_readLine2();
vTaskDelay(100
/ portTICK_PERIOD_MS);
ili9341_hspi_Circle(40,
120, 20, ILI9341_BLACK);
sprintf(dsp_buffer,"Timer=%d",timer);
oled_Print(0, 2, dsp_buffer, 1);
timer++;
shutter
= 0;
}
}
|
操作系統:Windows 7 64-bit 版本
開發環境:AiThinker05 版本
原程碼: ESP32 ESP-IDF V3.0rc1
程式: DIY-ESP32-080-OV7670_06_XTP2046-20181030
Sanwa YX360TRF 盒樣本 |
ESP32 + OV7670 DSC 拍攝樣本 |
ESP32 + OV7670 DSC 拍攝樣本在 ILI9341 LCD 屏顯示 |
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器介紹(十八)
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器原理(十九)
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器控制(二十)
※ DIY - ESP32:AverLogic AL422B FIFO 晶片介紹(二十一)
※ DIY - ESP32:AverLogic AL422B FIFO 晶片原理(二十二)
※ DIY - ESP32:OV7670 + AL422B FIFO 圖像傳感器模組介紹(二十三)
※ DIY - ESP32:ESP32 + OV7670 + AL422B 攝像頭模組硬件(二十四)
※ DIY - ESP32:ESP32 + OV7670 + AL422B 攝像頭模組程式(二十五)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組電路(二十六)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組 I/O 程式(二十七)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組 INT 程式(二十八)
2018年 11月 12日 天氣報告
氣溫:24.2度 @ 20:10
相對濕度:百分之 83%
天氣:大致多雲
沒有留言:
張貼留言