文章

顯示從 11月, 2020 起發佈的文章

[模組] 實現小尺寸 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 面板為例,上面的