KSB065 的彩色 TFT 螢幕

 KSB065 內建 TFT 彩色液晶螢幕(型號 ST7735),解析度為 160X128。使用時,DIP SW1-5 到 SW1-8 這四個一定要 ON,訊號才能送到螢幕,其他 SW 可視需要決定。(使用 ESP32 時DIP SW3 及 SW4 要全部都 ON)


在 TFT 螢幕的右側有一個比較小的電源開關,要打開螢幕才會亮。大的開關則是針對鋰電池或它旁邊 USB 電源插座通到整塊板子的電源開關,若由 ESP32 的 USB 供電則此開關不影響整個板子的電源。



吉哥積木的 KSB065 TFT 積木放在「吉哥積木/ESP32/模組/TFT彩色螢幕」,請注意不是在「吉哥積木/ESP32/KSB065」裡面喔!

初始化設定

螢幕方向是控制內容顯示的旋轉方向,KSB065 的方向要設定成 1,上方的方向才會正確。
文字前景色是你想要顯示的文字顏色,用背景色填滿螢幕相當於清除螢幕內容。

螢幕座標

電腦螢幕的座標都習慣以左上角為原點,X 座標向右為正,但 Y 座標向下為正(英文書寫習慣:由左而右,由上而下),整個螢幕的座標如下圖所示:


使用「顯示中文字」積木時,中文字為 16*16 點,所以這個螢幕的寬有 10 個中文字(或 20 個英文字母),高有 8 行。

顯示中文字

「顯示中文字」的積木,記得要自己設定顯示的座標,例如第 1 行的 Y=0、第 2 行的 Y=16,而且顯示的內容長度若超過螢幕寬度會被切掉不見,而且也沒有上捲的功能。


因為文字是用「畫」上去的,「背景透明」設為 NO,則下次顯示時才可以把上次顯示的內容覆蓋掉。但是只有這次顯示的內容的部份才會有清除殘餘文字的功能,若舊的內容位置沒有被這次顯示給覆蓋到,則會有殘餘的文字在上面。如下圖,第一行原先有「ABCDEFGHIJKLMNOPQRST」字顯示在上面,而溫度的文字長度只到 J 的位置,所以後面的文字就還會殘留在螢幕上造成干擾。

最簡單的解決辦法是在每次要顯示之前先使用「填滿顏色」把背景色填滿,相當於清除螢幕,就不會有殘餘的文字。但是這樣做也會有缺點,就是螢幕會有閃爍的現象,而且很明顯。要解決這個問題,就要用到「繪圖精靈」了。

繪圖精靈

「繪圖精靈」是在螢幕控制晶片裡的緩衝記憶體,把要顯示的內容先放在緩衝區裡,等內容都準備好了,再一口氣把緩衝區的內容直接顯示出來,這樣子就不會有畫面閃爍的現象。(很像在綜藝節目裡的問答遊戲,先把答案寫在板子上,等寫好再把板子翻出來給大家看)

首先建立繪圖精靈,名稱可以自訂,並且設定緩衝區螢幕的最大寬度與高度。接著在區塊裡清除畫面(填滿顏色),寫入你想要顯示的內容。到目前為止,這些動作都還不會真正出現在螢幕上。直到使用「顯示繪圖精靈」時,緩衝區的內容才會出現在螢幕上。




留言

這個網誌中的熱門文章

ESP32 大型程式碼的空間設定與 PSRAM 設定

MIT App Inventor 2 MQTT

V7RC BLE 藍牙版