近期,我利用 ESP32 和 GC9D01 0.71’'TFT 進行了一次有趣的顯示項目開發,成功實現了在該小尺寸屏幕上繪制逼真眼睛和寫輪眼的效果。
硬件準備
- 主控板 :ESP32,具備強大的處理能力和豐富的接口資源,能夠高效地處理圖像數據并與 TFT 屏幕通信。
- 顯示屏 :GC9D01 0.71’'TFT,小巧玲瓏但顯示效果出色,色彩鮮艷且響應速度快,非常適合進行各種圖形繪制和動畫展示。
軟件環境
- 開發 IDE :Arduino,其簡潔易用的界面和豐富的庫支持,方便快速編寫和上傳代碼到 ESP32 進行調試和運行。
軟件準備
- 在 Arduino 的 “TFT_eSPI” 庫中,根據實際硬件連接情況,修改 “User_Setup.h” 文件中的引腳定義,具體如下:
#define TFT_MOSI 15 // 在一些顯示驅動板上,可能被標記為 "SDA" 等
#define TFT_SCLK 14
#define TFT_CS 5 // 芯片選擇控制引腳
#define TFT_DC 27 // 數據命令控制引腳
#define TFT_RST 33 // 復位引腳(也可連接到 Arduino 的復位引腳)
#define TFT_BL 22 // LED 背光引腳
同時還需要配置下屏幕的分辨率,對于GC9D01 0.71’'TFT分辨率是160*160。
#define TFT_WIDTH 160
#define TFT_HEIGHT 160
當前發現最新的包TFT_eSPI暫時還沒有適配GC9D01驅動,如果發現使用的包確實沒針對GC9D01驅動的適配,需要單獨手動適配下。
確認路徑:Arduino\libraries\TFT_eSPI\User_Setup.h
// Only define one driver, the other ones must be commented out
// #define ILI9341_DRIVER
//#define ILI9341_2_DRIVER
//#define ST7735_DRIVER
//#define ILI9163_DRIVER
//#define S6D02A1_DRIVER
//#define RPI_ILI9486_DRIVER
//#define HX8357D_DRIVER
//#define ILI9481_DRIVER
//#define ILI9486_DRIVER
//#define ILI9488_DRIVER
//#define ST7789_DRIVER
//#define ST7789_2_DRIVER
//#define R61581_DRIVER
//#define RM68140_DRIVER
//#define ST7796_DRIVER
//#define SSD1351_DRIVER
//#define SSD1963_480_DRIVER
//#define SSD1963_800_DRIVER
//#define SSD1963_800ALT_DRIVER
//#define ILI9225_DRIVER
// #define GC9A01_DRIVER
#define GC9D01_DRIVER // (GC9D01驅動,如果沒有則需要手動適配 )
適配所需文件:見上傳資源
適配路徑:Arduino\libraries\TFT_eSPI\TFT_Drivers
源碼實現
綁定資源中包含繪制逼真眼睛和寫輪眼代碼以及;TFT_eSPI\TFT_Drivers中GC9D01驅動的適配。
眼睛轉動+寫輪眼.zip
提取碼: 5fw9
實驗展示【動圖非靜止畫面】
通過上述硬件連接和代碼實現,當程序運行后,在 GC9D01 0.71’'TFT 屏幕上成功展示了逼真眼睛和寫輪眼的效果。眼睛的色彩鮮艷、層次分明,寫輪眼的勾玉圖案清晰可見,展現了 ESP32 和 GC9D01 TFT 在圖形繪制方面的強大能力,為小型顯示設備上的創意圖形展示提供了良好的范例。
參考ESP32C3+GC9D01