基于 ESP32 和 GC9D01 0.71寸TFT屏幕的逼真眼睛與寫輪眼動態顯示

近期,我利用 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904144.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904144.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904144.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode58_最后一個單詞的長度

LeetCode58_最后一個單詞的長度 標簽:#字符串Ⅰ. 題目Ⅱ. 示例 0. 個人方法 標簽:#字符串 Ⅰ. 題目 給你一個字符串 s,由若干單詞組成,單詞前后用一些空格字符隔開。返回字符串中 最后一個 單詞的長度。 單詞 是指僅由字母組成、…

論文閱讀:MAXIM Multi-Axis MLP for Image Processing

這是 2022 CVPR 上的一篇文章,介紹了用 MLP 做 low-level 圖像處理的工作 Abstract 近年來,Transformer 和多層感知機(MLP)模型的發展為計算機視覺任務提供了新的網絡架構設計。盡管這些模型在圖像識別等許多視覺任務中已被證明…

PostgreSQL初試

文章目錄 1 PostgreSQL 簡介2 PostgreSQL 與 MySQL 的區別3 PostgreSQL 的安裝1_Linux部署2_容器化部署 4 PostgreSQL的配置1_遠程連接配置2_配置數據庫的日志3_設置數據庫密碼 5 PostgreSQL 基本操作1_用戶操作2_權限操作3_創建一個自己的用戶4_差異補充 6 安裝圖形化界面1_使…

Fortran語言,do-end do循環,相互包含測試,自動性能優化

1)上代碼 !$omp parallel private(n, j, dx, dy, dz, r, a)do n 1, nsteps!$omp dodo i 0, nparticles - 1x_tmp(i) x(i) vx(i) * dty_tmp(i) y(i) vy(i) * dtz_tmp(i) z(i) vz(i) * dtdo j 0, nparticles - 1dx x(j) - x(i)dy y(j) - y(i)dz z(j) - z(…

Cona編譯問題

問題描述 Clion 使用conan插件配置了C工程,然后想通過命令行進行編譯執行。 出現以下錯誤 CMake Error at /usr/local/Cellar/cmake/3.30.1/share/cmake/Modules/CMakeDetermineSystem.cmake:152 (message):Could not find toolchain file: conan_toolchain.cmake…

Qt實現 hello world + 內存泄漏(5)

文章目錄 實現hello world的兩種方式通過圖形化的方式通過純代碼的方式1. 新老頭文件的說明2.堆或棧上創建對象的選擇3.QString的說明 內存泄漏問題 實現hello world的兩種方式 通過圖形化的方式 通過圖形化的方式,在界面上創建出一個控件,顯示出hello …

【翻譯、轉載】【譯文】模型上下文協議(Model Context Protocol, MCP)簡介

原文地址: https://michaelwapp.medium.com/model-context-protocol-mcp-an-introduction-guide-25736f3dd672 在人工智能和 AI 驅動應用日新月異的格局中,一種與大型語言模型(LLM)交互的新方式正在興起。隨著 AI 智能體&#x…

[方法論]軟件工程中的軟件架構設計:從理論到實踐的深度解析

文章目錄 軟件架構設計:從理論到實踐的深度解析引言一、軟件架構設計的核心目標體系1.1 質量屬性矩陣1.2 架構權衡藝術 二、架構設計方法論演進2.1 傳統設計范式2.2 現代架構方法論2.3 設計模式演化路徑 三、主流架構風格全景圖3.1 單體架構(Monolithic&…

【win11 】win11 鍵盤測試

我的鍵盤是支持mac和win的,fn tab 就能切換,有可能是用錯了模式,導致 我alt a 就會彈出 win11的 wifi 等菜單控制 鍵盤測試網站 https://keyboard.bmcx.com/ 識別到我按下的是alt

Linux環境部署iview-admin項目

環境:阿里云服務 系統:CentOS7.X系統 1、下載源碼安裝包 wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz2、解壓并放入指定目錄 tar -xf node-v14.17.3-linux-x64.tar.xz && mv node-v14.17.3-linux-x64 /usr/local/no…

VSCode常用插件推薦

文章目錄 VSCode常用插件推薦1 Git相關插件2 代碼格式3 AI工具4 語言插件通用工具參考 VSCode常用插件推薦 1 Git相關插件 2 代碼格式 3 AI工具 4 語言插件 通用工具 參考 50 個 VSCode 必裝插件推薦 https://mp.weixin.qq.com/s/b_OKvg3hdavtnv7pbWcKWg

【Unity】使用XLua進行熱修復

準備工作: (1)將XLua的Tool拖入Asset (2)配置熱修復 (3)運行Genrate Code (4)運行Hotfix Inject In Editor 編寫腳本(注意類上帶有[Hotfix]) [Hot…

javaEE——單例模式

目錄 前言1.概念2. 實現3. 比較和改進總結 前言 本篇文章來介紹單例模式,并講述在保證線程安全的前提下,單例模式的寫法。 1.概念 單例模式是一種設計模式,可以說是寫代碼的一種模板,如果在一些固定的場景下按照設計模式進行寫…

TS 對象類型

給對象添加類型注解 ![在這里插入圖片描述(https://i-blog.csdnimg.cn/direct/6c413992c11142d88106633ec442b905.png) 格式:數據類型名:類型別名 注意:對象類型限制使用分號,如果對象中存在方法就寫成:方法(&#x…

C++類_虛基類

在 C 里,虛基類是用來解決菱形繼承問題的。菱形繼承問題是指當一個派生類從兩個或更多基類派生,而這些基類又從同一個基類派生時,派生類會包含多份間接基類的數據副本,這可能會引發數據冗余和二義性問題。虛基類可以保證在派生類中…

詳細案例,集成算法

以下是一個使用 隨機森林(RF) 和 XGBoost 解決結構化數據分類問題的完整案例(以泰坦尼克號生存預測為例),包含數據處理、建模和結果分析: 案例:泰坦尼克號乘客生存預測 目標:根據乘客…

《C#數據結構與算法》—201線性表

線性表的實現方式 順序表 線性表的順序存儲是指在內存中用一塊地址連續的空間依次存放線性表的數據元素,用這種方式存儲的線性表叫順序表。 特點:表中相鄰的數據元素在內存中存儲位置也相鄰。 順序表接口實現: 方法名參數返回值描述GetLen…

深入解析C++11委托構造函數:消除冗余初始化的利器

一、傳統構造函數的痛點 在C11之前,當多個構造函數需要執行相同的初始化邏輯時,開發者往往面臨兩難選擇: class DataProcessor {std::string dataPath;bool verbose;int bufferSize; public:// 基礎版本DataProcessor(const std::string&am…

LeetCode 熱題 100 189. 輪轉數組

LeetCode 熱題 100 | 189. 輪轉數組 大家好,今天我們來解決一道經典的算法題——輪轉數組。這道題在LeetCode上被標記為中等難度,要求我們將數組中的元素向右輪轉 k 個位置。下面我將詳細講解解題思路,并附上Python代碼實現。 問題描述 給定…

GAEA商業前景和生態系統擴展

GAEA情感坐標系不僅增強了AI對人類情感的理解,也為Web3生態注入了新的活力。通過去中心化的數據存儲和共享,GAEA構建了一個開放透明的數據市場,為AI訓練提供了優質的數據源。同時,貢獻數據的用戶將獲得靈魂積分(SOUL P…