TFT LCD library

TFT 函式庫實作了使用 86Duino 控制 Arduino TFT LCD 的功能,使用 TFT 函式庫可以簡化控制 Arduino TFT LCD 的過程。

TFT 函式庫是基於 Adafruit GFXAdafruit ST7735 所擴展而來。Adafruit GFX 負責畫圖的功能而 Adafruit ST7735 負責和 Arduino TFT LCD 的控制晶片溝通。TFT 函式庫的運作方式盡可能被設計成與 Processing 應用程式介面(Application Programming Interface,API)相似。

TFT 函式庫使用 SPI 函式庫 來和 Arduino TFT LCD 溝通,必須在草稿碼被引入。

如何使用函式庫

與 Arduino TFT LCD 連接的方式有兩種,一種是使用 86Duino 的硬體 SPI 介面,另一種是使用軟體模擬的 SPI 介面。這兩種連接方法除了硬體 SPI 反應稍微比較快以外,其他的功能並沒有不同。

使用硬體 SPI 時,創建 TFT 物件的方式會類似以下:

#define CS   7
#define DC   0
#define RESET  1

TFT myScreen = TFT(CS, DC, RESET);

使用軟體 SPI 時,創建 TFT 物件的方式會類似以下,與使用硬體 SPI 相比,你必須多給 MOSI 和 SCLK 這兩個參數,所有數位腳位都可以用來當作 MOSI 和 SCLK:

#define SCLK 4
#define MOSI 5
#define CS   6
#define DC   7
#define RESET 8 

TFT myScreen = TFT(CS, DC, MOSI, SCLK, RESET);

與 Processing 相似

Processing 是一個開放原始碼的開發環境,主要被用來開發電腦與瀏覽器上的圖形應用。而 TFT 函式庫盡可能的被設計成與 Processing 相似,藉以減少在轉變開發環境時所遇到的阻力。

函式

TFT
begin()
background()
stroke()
noStroke()
fill()
noFill()
text()
setTextSize()
point()
line()
rect()
width()
height()
circle()
image()
loadImage()
PImage
PImage.height()
PImage.width()
PImage.isValid()

範例

以下是 Arduino 提供的 TFT 函式庫使用範例,這些範例在 86Duino 上都運作正常(如果範例中有使用到 SD 插槽,要使用 86Duino 上的 SD 插槽,而不是 Arduino TFT LCD 上的)

TFT Bitmap Logo:從 SD 卡裡讀取圖示並在 LCD 上隨機顯示
TFT Display Text :讀取感測器的值並顯示該值在 LCD 上
TFT Pong:實作 pong 遊戲
Etch a Sketch:實作蝕刻素描板(Etch-a-Sketch)
Color Picker:用可變電阻控制 LCD 顯示的顏色
Graph:以動態長條圖的方式表示從類比腳位讀取的值


DEMO


函式庫參考主頁面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.