RTL8720DN 與 TFT_eSPI
這期簡單介紹 RTL8720DN 使用 TFT_eSPI 控制 ILI9341 240 x 320 規格的顯示器,目標是顯示 240 x 320 的圖檔。 硬體部分是 A1 Pico 搭配 擴充板
設置 TFT_eSPI
首先, 先行安裝 TFT_eSPI Library ,我這裡安裝的是 V2.5 版本。
安裝完成後,打開 Arduino Library 的位置。如果不知道在哪裡,請在 File / Preferences 找到 Sketchbook location 欄位。這就是目前您的 Arduino Library 的位置。
並找到 TFT_eSPI 的 資料夾,我們要在這裡設定一些項目。
首先下載這個檔案
https://github.com/cold63/TFT_eSPI/blob/master/User_Setups/Setup302_BW16_ILI9341.h
下載完成後,複製到 TFT_eSPI/User_Setups 的位置。
接下來,在 TFT_eSPI 找到 User_Setup_Select.h 並使用 notepad 打開它編輯
找到這一行 ,並在前面給它加註解 //
//#include "User_Setup.h"
在這一系列的 User_Setups 內找出最後一行,並加入底下這一敘述
#include "User_Setups/Setup302_BW16_ILI9341.h"
以下這 3 pin ,就按照實際狀況調整。如果是 A1 Pico 的擴充板,就不需要更改。
#define TFT_CS 9 // Chip select control pin
#define TFT_DC 3 // Data Command control pin
#define TFT_RST 2 // Reset pin (could connect to RST pin)
製作圖片
我們的目標是 240 x 320 pix 的顯示,而且想輸出滿版的畫面。所以,先將圖片製作好。我的圖片是
然後到這個網站
http://www.rinkydinkelectronics.com/t_imageconverter565.php
在 Picture to convert 選擇剛剛製作好的圖片,並上傳。
上傳完畢,再點 Make File 按鈕。便會要求下載 *.C 的 檔案。
開啟 Arduino IDE 並建立 新的Sketch。
在 Arduino IDE 最右邊,有個 點點點
它會要 輸入 file name
我這裡是取名為 sample.h ,或是其他的名字的 *.h
並將剛剛下載的 *.c 打開並全部複製到 sample.h 裡
以下是主程式內容
#include "TFT_eSPI.h"
#include "SPI.h"
#include "sample.h"
TFT_eSPI tft = TFT_eSPI();
void setup() {
// put your setup code here, to run once:
tft.init();
tft.setRotation(1); // landscape
tft.fillScreen(TFT_BLACK);
// Swap the colour byte order when rendering
tft.setSwapBytes(true);
// Draw the icons
tft.pushImage(0, 0, 320, 240, sample);
}
void loop() {
// put your main code here, to run repeatedly:
}
編譯好並上傳。
以下是呈現的結果。
Github 原始碼
https://github.com/cold63/Arduino_Code/tree/main/ShowLogo_240_320
相關連結
A1 Pico / RTL8720DN
https://www.makdev.net/2021/09/ameba-ameba-bw16-arduino-ide.html
RTL8720DN 二合一擴充板
https://www.makdev.net/2022/09/ameba-bw16-type-c-shield.html
影片展示
0 comments:
發佈留言