هفته گذشته یک آلبوم عکس الکترونیکی درست کردم که می توانستم آن را روی میز کارم بگذارم تا چند عکس را نشان دهم. وقتی در محل کار خسته هستم، می توانم به آرامش نگاه کنم. قبلاً نمایش تصاویری را که فرمت آنها BMP است روی LCD پیاده سازی کرده ام. امروزه بیشتر تصاویری که با استفاده از تلفن های همراه یا دوربین ها می گیریم با فرمت JPG هستند که روی LCD کار نمی کنند.
در این آموزش میخواهم نحوه ساخت آلبوم دیجیتالی را به اشتراک بگذارم که بتواند تصاویر را با فرمت JPG نمایش دهد. این آموزش قرار بود به اهداف زیر دست یابد:
- خواندن و نمایش تصاویر با فرمت JPG از کارت SD.
- تصاویر را به صورت خودکار یا دستی تغییر دهید.
تدارکات
ESP32 لمسی 3.2 اینچی TFT با دوربین
مرحله 1: سخت افزار
![](https://duino4projects.com/wp-content/uploads/2021/07/Hardware.jpg)
ماژول ESP32 TFT LCD با دوربین مجهز به صفحه نمایش LCD 320×240 است که از کتابخانه درایو ili9341 استفاده می کند. تراشه لمسی STMPE610 روی برد برای کنترل لمسی مجهز شده است. علاوه بر این، ماژول کارت SD روی برد یکپارچه شده است.
ESP32 TFT LCD با دوربین تمام نیازهای من را برآورده می کند که لازم نیست به دنبال ماژول های دیگر باشم. اگر همه آن ماژول ها را برای جایگزینی دارید، می توانید آلبوم دیجیتال خود را بسازید.
مرحله 2: راه اندازی آردوینو IDE
1. برد ESP32 را نصب کنید.
2. کتابخانه TFT_eSPI را نصب کنید. فراموش نکنید که فایل 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
3. کتابخانه TJpg_Decode را برای رمزگشایی JPG نصب کنید.
4. کتابخانه Adafruit STMPE610 را نصب کنید.
مرحله 3: سیستم عامل
1. Github: https://github.com/Makerfabs/Project_Touch-Camera-ILI9341/tree/master/example/Album_V2
2. لیستی از تصاویر JPG را روی کارت SD دریافت کنید.
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);
3. از آنجایی که پین های SPI (SPI_SCLK/SPI_MISO/SPI_MOSI) مشترک هستند، سیگنال انتخاب باید به صورت دستی هنگام استفاده از ارتباطات SPI تنظیم شود تا از موفقیت ارتباط اطمینان حاصل شود. این بدان معناست که ESP32 با ماژول SD توسط SPI ارتباط برقرار می کند زمانی که سیگنال انتخاب تراشه ماژول SD LOW و سیگنال انتخاب چیپ دیگر HIGH باشد.