TFT LCD library
TFT 函式庫實作了使用 86Duino 控制 Arduino TFT LCD 的功能,使用 TFT 函式庫可以簡化控制 Arduino TFT LCD 的過程。
TFT 函式庫是基於 Adafruit GFX 和 Adafruit 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:以動態長條圖的方式表示從類比腳位讀取的值
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.