資料介紹
描述
上周我制作了一個(gè)電子相冊(cè),可以放在辦公桌上展示一些照片。工作累了可以看看放松一下。以前我已經(jīng)實(shí)現(xiàn)了在 LCD 上顯示格式為 BMP 的圖片?,F(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 開(kāi)發(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 通過(guò) 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í),并沒(méi)有完全顯示整個(gè)圖片。我們需要提前使用圖像處理軟件,比如微軟系統(tǒng)上的繪圖工具,將圖片壓縮裁剪成320×240大小。
將準(zhǔn)備好的圖片復(fù)制到 SD 卡中,并將 SD 卡插入模塊中。重啟模塊,一張數(shù)碼相冊(cè)就完成了。
觸摸屏幕的右半部分可切換到下一張圖片。
輕觸屏幕左半邊切換到最后一張圖片。
如果沒(méi)有觸摸,十秒后畫面會(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通過(guò)Internet進(jìn)行通信
- 使用ESP32制作ESP RainMaker IoT項(xiàng)目
- 樂(lè)鑫ESP32-MINI-1參考設(shè)計(jì)
- 樂(lè)鑫ESP32-MINI-1U參考設(shè)計(jì)
- 樂(lè)鑫ESP32-SenseKit參考設(shè)計(jì)
- 樂(lè)鑫ESP32-WROOM-32UE參考設(shè)計(jì)
- 樂(lè)鑫ESP32-LyraTD-DSPG_用戶手冊(cè)
- 樂(lè)鑫ESP32-PICO-MINI-02參考設(shè)計(jì)
- 樂(lè)鑫ESP32-LyraTD-SYNA_用戶手冊(cè)
- 樂(lè)鑫ESP32-PICO-MINI-02U參考設(shè)計(jì)
- 樂(lè)鑫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ì)音樂(lè)相冊(cè) 4082次閱讀
- 采用數(shù)字電壓表專用IC來(lái)制作數(shù)碼管電壓表 7311次閱讀
- dfrobotBeetle-ESP32控制器簡(jiǎn)介 2974次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論