資料介紹
描述
上周我制作了一個(gè)電子相冊(cè),可以放在辦公桌上展示一些照片。工作累了可以看看放松一下。以前我已經(jīng)實(shí)現(xiàn)了在 LCD 上顯示格式為 BMP 的圖片。現(xiàn)在我們使用手機(jī)或相機(jī)獲取的大多數(shù)圖片都是JPG格式的,無(wú)法在LCD上使用。
在本教程中,我想分享如何建立一個(gè)可以顯示JPG格式圖片的數(shù)字相冊(cè)。本教程將實(shí)現(xiàn)以下目標(biāo):
從 SD 卡讀取并顯示 JPG 格式的圖片。
自動(dòng)或手動(dòng)切換圖片。
硬件
ESP32 TFT LCD with Camera 模塊配備 320 x 240 LCD 顯示屏,使用 ili9341 驅(qū)動(dòng)庫(kù)。板上裝有觸控芯片STMPE610,用于觸控。此外,板上還集成了 SD 卡模塊。
帶攝像頭模塊的 ESP32 TFT LCD 滿足我的所有需求,我無(wú)需尋找其他模塊。如果您有所有這些模塊來(lái)替換它,您就可以構(gòu)建自己的數(shù)字相冊(cè)。
Arduino IDE 設(shè)置
安裝 ESP32 開發(fā)板。
安裝 TFT_eSPI 庫(kù)。不要忘記根據(jù)您的硬件更新庫(kù)中的 UserSetup.h 文件。我將在下面列出您需要更新的代碼。
?
// Only define one driver, the other ones must be commented out #define ILI9341_DRIVER //#define ST7735_DRIVER // Define additional parameters below for this display //#define ILI9163_DRIVER // Define additional parameters below for this display
?
?
#define TFT_MISO 12//19 #define TFT_MOSI 13//23 #define TFT_SCLK 14//18 #define TFT_CS 15 // Chip select control pin #define TFT_DC 33// 2 // Data Command control pin //#define TFT_RST // 4 // Reset pin (could connect to RST pin) #define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
?
安裝 TJpg_Decode 庫(kù)來(lái)解碼 JPG。
安裝 Adafruit STMPE610 庫(kù)。
固件
獲取 SD 卡上的 JPG 圖片列表。
?
int get_pic_list(fs::FS &fs, const char *dirname, uint8_t levels, String wavlist[30]) file_num = get_pic_list(SD, "/", 0, file_list);
?
由于SPI管腳(SPI_SCLK/SPI_MISO/SPI_MOSI)是共用的,所以在使用SPI通訊時(shí)需要手動(dòng)設(shè)置選擇信號(hào),以保證通訊成功。表示當(dāng) SD 模塊的片選信號(hào)為 LOW 且其他片選信號(hào)為 HIGH 時(shí),ESP32 通過 SPI 與 SD 模塊通信。
?
#define SPI_ON_TFT digitalWrite(TFT_CS, LOW) #define SPI_OFF_TFT digitalWrite(TFT_CS, HIGH) #define SPI_ON_SD digitalWrite(SD_CS, LOW) #define SPI_OFF_SD digitalWrite(SD_CS, HIGH) #define STMPE_ON digitalWrite(STMPE_CS, LOW) #define STMPE_OFF digitalWrite(STMPE_CS, HIGH)
?
TJpg_Decoder.h庫(kù)提供了直接從SD卡中讀取JPG圖片數(shù)據(jù)并顯示在屏幕上的功能。
?
TJpgDec.drawSdJpg(0, 0, file_list[file_index].c_str());
?
獲取觸摸時(shí)屏幕的位置值。
?
if (touch.touched()) { // read x & y & z; int pos[2] = {0, 0}; delay(100); // delay for SPI receive the data while (!touch.bufferEmpty()) { touch.readData(&x, &y, &z); pos[0] = x * 240 / 4096; pos[1] = y * 320 / 4096; }
?
準(zhǔn)備圖片
?
我們通常使用手機(jī)或相機(jī)拍照。照片的尺寸比LCD大得多。當(dāng)您直接使用 LCD 顯示這些圖片時(shí),并沒有完全顯示整個(gè)圖片。我們需要提前使用圖像處理軟件,比如微軟系統(tǒng)上的繪圖工具,將圖片壓縮裁剪成320×240大小。
將準(zhǔn)備好的圖片復(fù)制到 SD 卡中,并將 SD 卡插入模塊中。重啟模塊,一張數(shù)碼相冊(cè)就完成了。
觸摸屏幕的右半部分可切換到下一張圖片。
輕觸屏幕左半邊切換到最后一張圖片。
如果沒有觸摸,十秒后畫面會(huì)自動(dòng)切換。
另外,我用網(wǎng)站把一些GIF圖片轉(zhuǎn)換成很多JPG圖片,和數(shù)字相冊(cè)一起播放。只需將ESP32設(shè)置為以非??斓乃俣惹袚Q圖像,LCD就會(huì)播放GIF圖片。雖然這種方法只能用于播放小尺寸的 GIF 圖像。
?
?
- 如何制作ESP32 CAM板監(jiān)控機(jī)器人汽車
- ESP32到ESP32通過Internet進(jìn)行通信
- 使用ESP32制作ESP RainMaker IoT項(xiàng)目
- 樂鑫ESP32-MINI-1參考設(shè)計(jì)
- 樂鑫ESP32-MINI-1U參考設(shè)計(jì)
- 樂鑫ESP32-SenseKit參考設(shè)計(jì)
- 樂鑫ESP32-WROOM-32UE參考設(shè)計(jì)
- 樂鑫ESP32-LyraTD-DSPG_用戶手冊(cè)
- 樂鑫ESP32-PICO-MINI-02參考設(shè)計(jì)
- 樂鑫ESP32-LyraTD-SYNA_用戶手冊(cè)
- 樂鑫ESP32-PICO-MINI-02U參考設(shè)計(jì)
- 樂鑫ESP32-MeshKit-Light_使用指南
- esp32-s3_datasheet
- 制作 NodeMCU ESP32 自定義固件
- esp32s下載電路原理圖下載 28次下載
- ESP32能取代STM32嗎?哪個(gè)更好? 1.3w次閱讀
- 什么是ESP32-CAM攝像頭? 2.4w次閱讀
- 基于ESP32的簡(jiǎn)易web服務(wù)器設(shè)計(jì) 3990次閱讀
- 使用ESP32連接騰訊云實(shí)現(xiàn)遠(yuǎn)程控制 3745次閱讀
- 使用ESP32實(shí)現(xiàn)UDP通信的方法 6519次閱讀
- ESP32使用MiroPython編程環(huán)境搭建 3047次閱讀
- 基于ESP32制造有趣的超級(jí)馬里奧主題時(shí)鐘 4783次閱讀
- ESP8266/ESP32自動(dòng)下載原理 4742次閱讀
- 基于ESP-WROOM-32E專為IoT設(shè)計(jì)的FireBeetle ESP32-E主控板介紹 5025次閱讀
- esp32物聯(lián)網(wǎng)的應(yīng)用實(shí)例 LoRa網(wǎng)關(guān)制作、觸屏DIY電視、Sygic導(dǎo)航HUD 6040次閱讀
- ESP32的數(shù)字遙測(cè)實(shí)現(xiàn) 1779次閱讀
- 如何使用ESP32創(chuàng)建一個(gè)氣象站 4040次閱讀
- 如何利用ATSAMD21G18 M0設(shè)計(jì)音樂相冊(cè) 4082次閱讀
- 采用數(shù)字電壓表專用IC來(lái)制作數(shù)碼管電壓表 7311次閱讀
- dfrobotBeetle-ESP32控制器簡(jiǎn)介 2974次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫(kù)封裝庫(kù)安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論