TTGO T-Display
TTGO T-Display,把ESP32加上二個按鈕,再加上一個TFT彩色螢幕,便組合成T-Display。所以T-Display有一個TFT彩色螢幕當做顯示輸出界面,長寬為240*135像素,彩色的螢幕,對於需要有酷炫輸出的專案是個不錯的選擇。今日針對T-Display設計了可以使用的積木,讓大家能夠對彩色液晶的控制快速上手。
這個顯示器因為需要安裝額外的函式庫TFT_eSPI以及U8g2_for_TFT_eSPI,所以吉哥積木必須手動安裝,吉哥積木下載20210505版本,便可以使用了!安裝方式請參考「如何安裝吉哥自製積木」。
本頁面所有範例的程式結果
TTGO T-Display開箱測試
已設計好的TTGO積木如下:
包含二個按鈕及彩色TFT的積木,積木選的位置在「吉哥積木」→「ESP32」→「TTGO」選單內,使用的時候,初始化的積木請選擇「ESP32」,燒錄時,開發板選擇「ESP32 dev Module」,選好com port,便可以燒錄了。
範例一:顯示英文及數字
關於英文和數字相關的積木有二個,一個是字型編號,一個是字的大小。
一、字的大小:為1~7的數字,可以設定字的大小,可將字放大或縮小。
二、字型編號:為1~8的數字,字型編號愈大,字愈大。編號1~4,字的內容包含英文及數字共96個字元,編號6~8則只包含以下引號內所包含的字元:「1234567890:-.」。(字的編號3及5是空的,沒有這二個編號的字)。
1號字:高8像素,包含英文及數字共96個字元
2號字:高16像素,包含英文及數字共96個字元
4號字:高26像素,包含英文及數字共96個字元
6號字:高48像素,只包含「1234567890:-.」這些字元
7號字:高48像素,只包含「1234567890:-.」這些字元,七節字,適合用來當時鐘或計時的數字
8號字:高75像素,只包含「1234567890:-.」這些字元
以下的範例字型大小為1的情形下,列出字型編號1~8的字型。TTGO T-Display若沒有額外設定,螢幕的方向是縱向。
顯示結果:
顯示1~8號字型
顯示1~8號字型
範例二:顯示中文字
中文字的高度都是16像素,無法調整大小。螢幕可利用「設定螢幕方向」積木更改為橫向或縱向。所有設定顏色的積木,可以使用下拉式的顏色挑選器,或是使用RGB方式設定都可以。
按下A鍵,螢幕變為橫向,並出現高度為像素16的中文字
按下B鍵,螢幕變為橫向,並出現高度為像素16的中文字
範例三:顯示內建圖型字
不管是TFT或是OLED都有內建的圖型字可以使用,只要設定好字型名稱以及圖形編號,便能夠在螢幕上顯示一些內建的圖案,
圖型的索引請參照以下的連結,https://github.com/olikraus/u8g2/wiki/fntgrpiconic,字型編號的大小如下:
1x的字:像素8*8
2x的字:像素16*16
4x的字:像素32*32
6x的字:像素48*48
8x的字:像素64*64
有些字型雖然索引網站有列出來,但是實際上是沒有這個字型的,例如索引中有列出「open_iconic_embedded_8x」以及「open_iconic_embedded_8x8」,但是「open_iconic_embedded_8x」實際上有這個字型,但字型名稱後面是「8x8」的就沒有這個字型。通常字型名稱後面是「數字x」的字型就有,字型名稱後面是「數字x數字」的字型就沒有。
以下的圖例便在說明上面索引的使用方法,以「open_iconic_embedded_8x」為例,每個圖型大小為64*64像素,圖型編號為64~80號,挑好自己想要顯示的圖型號碼,便可以開始編寫程式了。
以下的範例,按下A鍵,會在螢幕上顯示「open_iconic_embedded_8x」字型,編號64及65的圖案。按下B鍵,則會以迴圈的方式,顯示「open_iconic_weather_6x」字型,編號64~68的字,字的顏色會隨機取色。
顯示結果
按下A鍵會顯示open_iconic_embedded_8x的圖型
按下B鍵會顯示open_iconic_weather_6x的圖型
範例四:電子時鐘
透過網路NTP校正時間,然後以7號字型,顯示時間
顯示結果:
範例五:指針式電子時鐘
透過網路NTP校正時間,然後設定時針、分針、秒針及時鐘刻度的顏色,便可以開始繪製指針式時鐘。繪製時鐘時也可以設定要置中、靠左、或靠右。(此為2021/5/12日新增之功能)
顯示結果:
時鐘積木結果
範例六:以圖表方式顯示類比讀取值
如果TFT彩色液晶螢幕能夠把感測的資料,以視覺化的折線圖或是長狀圖等統計圖來顯示的話,在視覺上比較能夠感受到數據高低起伏的改變。以下的範例讀取GPIO15的類比數值,顯示在TFT彩色液晶螢幕上。
最簡單的使用範例,讀取GPIO15腳位的類比值放置在「輸入值」的空間中。
在ESP32,類比的讀取若是沒自行修改的話,最小值是0,最大是4095,可以將這兩個數字放入最小值及最大值中。(注意:不同的開發板預設值不同,必須依照自己的開發板種類來決定)
圖表型式可選擇「折線圖」或是「長條圖」。
捲動方向可選擇「由右到左」或是「由左到右」。
程式執行結果
範例七:以圖表方式顯示類比讀取值並增加標題
宣告一個全域變數myValue,要用來記憶GPIO15的類比讀取值。
雖然類比讀取是0~4095,但是,如果在上方想要留一個標題的位置,可以將最大值修改大一些,在這個例子最大值變更為4700,這樣便能預留標題的空間,標題的內容可放置於「額外程序」的區塊中。
在額外程序的區塊中,如果有想要呈現什麼訊息在TFT液晶螢幕上,可以將TFT的積木置入此區塊中,螢幕便不會只有折線圖。在這個例子中,加上一個標題,並且將myValue和標題組合在一起顯示在液晶螢幕的最上方。
程式執行結果