[模組] 實現小尺寸 TFT LCD 的控制 (以 ST7735 模組為例)
一個系統是由多數個大大小小模組所構成,學習各類模組的開發有助於設計一個系統,其中 TFT LCD 模組是常見的人機溝通介面,接下來針對小尺寸模組(1.8吋)的硬體接線方式與程式調用進行說明。 模組硬體 以 ST7735 晶片驅動的 TFT LCD 模組的控制介面是 SPI,再加上 DC 與 Reset 兩根控制接腳。模組與 Arduino UNO 相連的方式如下: CLK -- pin 13 (SPI clock) MISO -- pin 12 (因為 LCD 是輸出顯示,可以不接) MOSI -- pin 11 (SPI MOSI) CS -- pin 10 (SPI chip select) DC -- pin 9 (Data/Command 這個接腳可換,與程式碼的調用有關) Reset -- pin 8 (這個接腳可換,與程式碼的調用有關) 驅動程式封裝 在 Arduino IDE 環境下,Adafruit 已經將 TFT LCD 控制的函數封裝起來了,並提供繪圖的 API 讓使用者調用。首先,我們要先下載 Adafruit TFT library ,安裝成功後,可以在 \Arduino\libraries 路徑下找到 TFT 目錄夾,這底下就是 Adafruit 提供的函數庫。整個函數庫被封裝成圖一的架構,我們從最上層的 API 開始研究,先到 Arduino 網站上查詢 https://www.arduino.cc/en/Reference/TFTLibrary 有哪些函數,發現 API 就是畫點、畫線、畫矩形、 畫圓、設定長與寬...等。 Adafruit 將 Arduino 最上層的 API 實現在 GFX 這一層裡面,只要打開原始碼 Adafruit_GFX.cpp 可以查看所有繪圖功能的實現,無論是哪種尺寸的 LCD,GFX 這一層都能做到點線面的繪圖功能。承接 GFX 的底層就是 TFT LCD 的驅動程式,以 ST7735 面板為例,上面的