概述
=“ i class =” fa fa-exclamation-circle“》 本教程適用于原始的2.8” TFT突破,有關此產品的最新版本,請訪問https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以獲取更新的教程,但仍保留此教程作為歷史參考
通過彩色觸摸屏LCD向您的項目中添加爵士樂和爵士樂。此TFT顯示屏大(對角線為2.8英寸)明亮(4個白光LED背光)和彩色(16位262,000種不同的陰影)! 240x320像素具有單獨的像素控制,比黑白128x64顯示器具有更高的分辨率。作為獎勵,此顯示器已經連接了電阻式觸摸屏,因此您可以檢測屏幕上任何地方的手指按下情況。
此顯示器內置有帶RAM緩沖的控制器,因此微控制器幾乎不做任何工作。您需要8條數字數據線和4或5條數字控制線來讀取和寫入顯示器(總共12條線)。觸摸屏需要4針(2個數字,2個模擬),但是由于電阻式觸摸屏的工作方式,我們可以與LCD共享引腳,因此整個設置可以由12個針(10個數字,2個模擬)運行。
當然,我們不會只留下數據表和“好運!” -我們已經編寫了一個完整的開源圖形庫,可以繪制像素,線條,矩形,圓形和文本。我們還有一個觸摸屏庫,可檢測x,y和z(壓力),并提供示例代碼來演示所有內容。該代碼是為Arduino編寫的,但可以輕松移植到您最喜歡的微控制器!
今天在Adafruit商店取一件!
規格:
2.8英寸對角線LCD TFT顯示屏
240x320分辨率,16位(262,000)彩色
ILI9325(數據表)或帶有內置視頻RAM緩沖區的ILI9328(數據表)控制器
8位數字接口,以及4或5條控制線
5V兼容!與3.3V或5V一起使用邏輯
板載3.3V @ 150mA LDO穩壓器
4個白色LED背光燈,已連接晶體管,因此您可以PWM調暗背光燈
1x20接頭連接器,以便輕松進行電路板設計,或者2x10排針,用于電纜連接
4 x 0.125“/3mm安裝孔,帶有卡舌
4線電阻觸摸屏
本指南專門針對TFT LCD 分支板 。有 此顯示屏的Arduino屏蔽版本的單獨教程 。
連接選項
本教程適用于原始的2.8“ TFT突破,我們現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
TFT LCD需要使用很多引腳才能與您的處理器配合使用。我們提供兩個分接頭,您可以根據自己的應用使用。
第一個(右側)是間距為0.1“的單個1x20標頭條。非常適合面包板使用或需要手工接線的情況。您可以使用“直”插頭或“直角”插頭,使其直立(盡管如果用這種方式焊接可能會更難觸摸)。
要焊接插頭,我們建議將20pin的排針長條插在面包板上。
將LCD放在頂部并焊接每個引腳。
第二個是間距為0.1英寸的2x10雙接頭帶。這非常適合用于IDC電纜進行遠程訪問。我們建議使用6英寸電纜,但您也許可以使用12英寸的顯示器,這取決于您在屏幕上寫入的速度(速度越快,意味著需要的電纜越短)。
這根電纜是2x5而不是2x10,但是較大的電纜看起來像
您可以以2美元的價格從digikey那里購買插座電纜-也可以從任何其他電子產品商店購買。
安裝選項
本教程適用于原始的2.8“ TFT突破,現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
我們希望確保您可以輕松地將此顯示器放在一個盒子中。在選項卡上有四個安裝孔。如果您真的不需要可以用鋼鋸或錫片剪掉。這些孔在短方向上相距2.25英寸,在長方向上相距2.95英寸。鉆孔為0.125英寸,很容易采用#4英制或M3( 3mm)螺絲。 PCB的厚度為0.063英寸。
背光布線
本教程適用于原始的2.8“ TFT突破,現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
LCD有三個基本的“組件”。
背光是第一個,由4個組成白色LED與一個晶體管并聯以控制它們。這些LED最多可吸收80mA的電流,但是您可以通過PWM的背光將其調暗-晶體管可以輕松連接任何類型的微控制器輸出。
我們首先假設您使用的是1x20連接器和Arduino,然后再將其一直連接到3V或5V引腳。對您的微控制器而言有所不同。
首先連接第一個LCD的接地引腳接地,第二個 3-5V 引腳則為5V(您可以使用3-5V,該引腳將為TFT和背光供電,因此請確??梢蕴峁?00mA)。然后跳過5個引腳,并將#8 Backlite 引腳連接到5V。
啟動設備,您將看到4個白色LED背光。如果這不起作用,則說明您的電源設備有問題。返回并修復接線!
TFT接線
本教程適用于原始的2.8“ TFT接線盒,我們現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
現在,背光燈可以正常工作了,我們可以使TFT LCD正常工作了,需要很多引腳,并且為了保持代碼的快速運行,我們有用于8條數據線的``硬編碼‘’Arduino數字引腳#2-#9。
從TFT的末端(電源引腳的另一側)開始,然后依次將引腳連接到數字7至2。如果您使用的是Mega,請按此順序將TFT數據引腳#0-7連接到Mega引腳#22-29。這些Mega引腳位于“ double”接頭上。
然后連接下兩個引腳分別連接到數字9和8。
如果您使用的是Mega,請按此順序將TFT數據引腳#0-7連接到Mega引腳#22-29。這些Mega引腳位于“雙”標題上。
除了8條數據線外,您還需要4或5條控制線。
連接第三個引腳 CS (芯片選擇)到模擬3
連接第四個引腳 C/D ( Command/數據)到模擬2
將第五個引腳 WR (寫入)連接到模擬1 span》
將第六個引腳 RD ( Read )連接到模擬0
將第七個引腳 RST ( Reset )連接到Arduino重置線。當Arduino重置時,這將重置面板。您還可以將數字引腳用于LCD復位,但這將為我們節省一個引腳。
現在我們可以運行一些代碼了!
LCD測試
本教程適用于原始的2.8“ TFT突破,現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
我們已經準備好可與這些TFT一起使用的示例代碼,它是為Arduino編寫的,通過適應C ++可以移植到任何微控制器中。
兩個庫需要下載并安裝:首先是TFTLCD庫(該庫包含特定于該設備的低級代碼),下載ZIP文件,解壓縮并將其重命名為“ Adafruit_TFTLCD”,將其放置在Arduino庫文件夾中,然后重新啟動Arduino IDE。如果不熟悉,我們有一個介紹Arduino庫概念和安裝的教程。
您還需要安裝GFX li喝彩您可以通過Arduino庫管理器執行此操作。
打開Arduino庫管理器:
搜索 Adafruit GFX 庫并安裝
Arduino庫安裝教程,位于:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use
在TFTLCD庫文件夾中,您將需要編輯TFTLCD.h。在第12行上,您會看到“#define USE_ADAFRUIT_SHIELD_PINOUT” 。注釋掉這一行并保存文件。
重啟Arduino軟件后,您應該在內部看到一個名為 Adafruit_TFTLCD 的新示例文件夾。 ,稱為 graphicstest 的示例。將該草圖上傳到您的Arduino。您可能需要按“重置”按鈕來重置arduino和TFT。您應該會在TFT上看到一組圖形測試。
現在您知道一切正常。如果遇到問題,請檢查串行端口監視器。草圖要做的第一件事是從TFT讀取驅動程序代碼。它應該是 0x9328 或 0x9325 ,因此,如果看到類似 0x8328 的信息,則表示D8引腳未正確接線,并且得到 》 0x9228 ,則D0引腳未正確接線。請記住,這兩個字節是一個接一個地讀取的。
圖形庫
本教程適用于原始的2.8“ TFT突破,我們現在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上獲得有關該產品的最新版本的更新指南,但仍保留此指南作為歷史參考
圖形庫中有一些隨時可用的功能,可以幫助您從項目開始。它并不詳盡,如果有可能,我們將嘗試對其進行更新。我們發現一個非常有用的功能。
首先要注意的是顏色是16位的,其中包括紅色,綠色和藍色 在一個16位變量中,顏色的填充方式是前5位是紅色,中間6位是綠色,后5位是藍色。
對于純色,我們有這個方便的備忘單當然,您可以選擇262,000種顏色中的任何一種,但在開始時可能會有所幫助ful。
下載:文件
復制代碼
// Color definitions
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF // Color definitions
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Adafruit GFX庫是繪制所有點,線,形狀和文本的庫。它相當詳細,有很多很酷的東西,有關大量信息,請訪問http://learn.adafruit.com/adafruit-gfx-graphics-library
這里是GFX lib的基本介紹,它沒有。不能涵蓋所有內容,但它可以告訴您一些最流行的形狀是什么樣的?首先是最基本的像素推動器。您可以使用兩個坐標和一個顏色來調用它,它會產生一個點:
下載:文件
復制代碼
void drawPixel(uint16_t x, uint16_t y, uint16_t color); void drawPixel(uint16_t x, uint16_t y, uint16_t color);
您還可以繪制帶有起點和終點以及顏色的線。
下載:文件
復制代碼
void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color); void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
如果您的線條是垂直還是水平,您可以調用一個優化的繪圖函數,該函數不會進行所有角度計算。
下載:文件
復制代碼
void drawVerticalLine(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
void drawHorizontalLine(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color); void drawVerticalLine(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
void drawHorizontalLine(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
接下來,可以使用以下過程繪制和填充矩形和正方形。如果您希望矩形具有對比的輪廓顏色,請先 fillRect ,然后在其上 drawRect 。
下載:文件
復制代碼
void drawRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
void fillRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color); void drawRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
void fillRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
同樣,對于圓圈,您可以繪制和填充。
下載:文件
復制代碼
void drawCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
void fillCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color); void drawCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
void fillCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
文本略有不同。您將設置文本大小,顏色和位置,然后 print() (就像Serial.print()?。?/p>
下載:文件
復制代碼
void setCursor(uint16_t x0, uint16_t y0);
void setTextColor(uint16_t color);
void setTextSize(uint8_t size); void setCursor(uint16_t x0, uint16_t y0);
void setTextColor(uint16_t color);
void setTextSize(uint8_t size);
首先從 setCursor(x,y)開始,這將使文本的右上角隨心所欲。最初,其設置為(0,0)。然后使用 setTextColor(color)設置文本顏色,默認為白色。然后使用 setTextSize(size) 設置“大小”,這會將文本“乘以”縮放比例。在上面可以看到比例為1(默認),2和3。這是因為我們只以簡單的字體提供了庫,以節省空間。您只需縮放它即可獲取更大的文本,而無需使用新字體。
最后,您可以像使用類似一樣使用 print()或 println()您可以使用序列!例如,要打印字符串,請使用 print(“ Hello world”)-是上圖的第一行。要打印變量,也可以使用 print(),第二行是 print(1234.56),第三行是 print(0xDEADBEEF,HEX) 》。
您還可以旋轉圖形。請注意,這不會旋轉您已經繪制的內容,但是會重新放置所有新圖形。
下載:文件
復制代碼
void rotate(uint8_t rotation); void rotate(uint8_t rotation);
旋轉變量可以為0、1、2或3。旋轉0使其處于縱向模式,并且右上方的USB插孔。旋轉2為縱向,USB插孔在左下方。旋轉1是橫向模式,USB插孔在右下方,旋轉3也是橫向,USB插孔在左上方。
旋轉時,原點會隨之移動。您可能需要參考屏幕尺寸,該尺寸在縱向和橫向之間變化,請使用 width()和 height()!要獲取大小。
下載:文件
復制代碼
uint16_t width();
uint16_t height(); uint16_t width();
uint16_t height();
這些原語應該可以幫助您入門!
觸摸屏
本教程適用于原始的2.8“ TFT突破,有關此產品的最新版本,請訪問https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以獲取更新的教程,但仍保留此教程作為歷史參考
LCD上粘貼了一個2.8英寸4線電阻觸摸屏。您可以使用它來檢測手指的按壓,手寫筆等。您需要4個圖釘才能與觸摸面板進行對話 ,但是您可以重復使用 一些TFT LCD的引腳!這是因為面板的電阻足夠高,不會干擾數字輸入/輸出,并且當不使用引腳時,我們可以在TFT訪問之間查詢面板。
您可以如下連接其余4個引腳。最左邊的一個( Y-橙色)可以連接到數字 9 ,下一個( X-綠色)連接到模擬2 ,下一個( Y + 藍色)連接到模擬3 ,最后一個( X + 灰色)連接到數字 8 。 X-和Y +引腳幾乎必須連接到這些模擬引腳(或模擬4/5),但是Y-/X +可以連接到任何數字或模擬引腳。
下載庫
首先打開Arduino庫管理器
搜索 Adafruit觸摸屏 庫并安裝
我們還提供了有關Arduino庫安裝的出色教程,網址為:
http://learn.adafruit.com/adafruit-all- about-arduino-libraries-install-use
現在在Arduino庫中啟動 tftpaint 示例。右側將帶有“顏色框”,您可以按“顏色框”來選擇要繪制的顏色。如果按屏幕結束處左側的區域,則會擦除屏幕。
您可以用指尖繪制。
如果按屏幕結束處左的區域,則會擦除屏幕。
位圖
本教程適用于原始的2.8“ TFT突破,有關此產品的最新版本,請訪問https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以獲取更新的教程,但仍保留此教程作為歷史參考
我們在庫中有一個示例草圖,顯示了如何顯示存儲在SD卡上的全彩色位圖圖像,您將需要一個SD或microSD分支板
現代版本的Arduino軟件(0023或1.0或更高版本)已包含SD卡庫。如果您使用的是舊版Arduino IDE,則可以下載我們的庫單擊下載ZIP 按鈕,解壓縮檔案并將結果文件夾重命名為“ SD ”。將該文件夾移至Arduino庫文件夾(通常為[home]/Documents/Arduino/Libraries),然后重新啟動IDE。
Wire像以前一樣打開TFT(請參見上一頁),然后連接microSD卡的接線。
在Uno/Duemilanove上,您將需要使用以下連接:將SD卡與 DI 連接》固定 11 , DO 固定 12 和 SCK 固定 13 (這是我們所有防護罩的標準配置),然后將 10 引腳轉到 CS 。對于MEGA,檢查SPI連接轉到Mega的SPI引腳(不是10-13)。
將 woof.bmp 和 miniwoof.bmp 文件復制到microSD卡并將其插入分組討論中。在TFTLCD庫中運行 tftbmp 示例草圖,您應該看到顯示的圖像。如果不是,請檢查串行監視器以獲取有關為什么它可能無法工作的提示。
下載
本教程適用于原始的2.8“ TFT突破,有關此產品的最新版本,請訪問https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以獲取更新的教程,但仍保留此教程作為歷史參考
觸摸屏庫
TFT LCD庫
GFX庫
SD卡庫(如果運行最新的Arduino IDE,則不需要?。。?/p>
責任編輯:wv
-
觸摸屏
+關注
關注
42文章
2291瀏覽量
116008 -
TFT
+關注
關注
10文章
384瀏覽量
110964
發布評論請先 登錄
相關推薦
評論