網頁最後修改時間:2016/06/24
新的函式庫 (V1.1.0) 已經與賣場所提供的四個範例程式測試過了,只有讀取記憶卡顯示圖面那個城市需要做小部修改之外,其他值接就可使用在 Arduino UNO 和 Arduino Mega2560 板子 ( 其他板子也可以,但同樣的要確認腳位與功能);測試結果與相關注意事項就在接下來的說明中。
硬體環境:
- 2.8 吋 (400x240) 電阻式觸模液晶螢幕
- Arduino Mega2560
- 安裝編輯環境:Arduino IDE 1.6.5-r5
其他可用的版本應該跟程式碼中測試的相同,這裡沒額外去測 ! - 安裝液晶螢幕函式庫:TFTLCD-mPm-v1.1.0
檔案位於 {雲端硬碟}/arduino/codes/libraries
確認 {My Documents}/Arduino/libraries 沒有其他的 TFTLCD 函式庫,不然會造成編譯時候的衝突或是出現編譯錯誤 !
上面注意事項沒問題後,下載 TFTLCD-mPm.zip 後直接解壓縮到 {My Documents}\Arduino\libraries 目錄下,會產生一個 TFTLCD-mPm 的資料夾,裡面會包含下面幾個檔案
TFTLCD-mPm 函式庫檔案列表 |
- 安裝記憶卡函式庫:SdFat.zip
SdFat 函式庫需要手動安裝,安裝方法請參考 readme.txt 的說明。另外,重要的一點 ! 需要開啟該函式庫裡面 Software SPI 的功能,才能讓 Mega2560 正確讀取記憶卡。
有購買套件的使用者,上雲端硬碟下載此函式庫直接安裝就可使用。 - 程式碼:範例程式除了下面這一個需要重新下載之外,其餘三個直接使用就可以了。
tftpics_m2560.zip
下載上面壓縮檔,或是下載 {雲端硬碟}/arduino/codes/tftpics 整個目錄,並解壓縮到 {My Documents}/Arduino/ 目錄下。目錄中有一個 bmp 的資料夾,執行這個程式需要先將資料夾裡面 *.bmp 和 *.lcd 共六個檔案複製到 MicroSD 中,程式才能讀取和執行。
因為到現在個人認為用的最穩定的 Arduino IDE 版本是 1.6.5-r5 ! 如果之前在 Arduino IDE 寫程式編譯上傳成功,但是出現奇怪執行現象時,可以先換版本編譯再上傳試試,或許就會意料中的結果,而不是意想不到的 !
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
Arduino Mega2560 程式範例使用說明:
除了使用記憶卡的 tftpics 程式碼需要下載另外修改的 tftpics_m2560 之外,其餘提供的範例程式可以直接用在 Arduino Mega2560 板子。下面除了需要特別說明之外,程式碼的說明請直接到網頁最下方的連結網頁看,這邊大多只列出執行結果的照片。
/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* graphicstest.ino:
Arduino Mega2560, graphicstest.ino 其中幾個運行畫面 |
* TouchScreen_Calibration:
由於觸摸螢幕校正會取讀取類比電壓訊號,因此之前在 Arduino UNO 的校正值不可以直接使用,必須要再重新校正一次。在運行 tftpaint.ino 程式前,必須更新這些校正值,不然畫筆與螢幕的位置會偏移。
所以可以說,每次更換 Arduino 板子使用時,若是要使用觸摸功能之前,不管如何一定要先校正之後再使用,這一點很重要 !
Arduino Mega2560, TouchScreen_Calibrarion.ino 運行畫面 |
* tftpaint.ino:
Arduino Mega2560, tftpaint.ino 運行畫面 |
* tftpics_m2560.ino:
2.8吋電阻式觸摸螢幕的 MicroSD 卡的 SPI 通訊接腳是使用 <D11>、<D12> 和 <D13> 這三隻接腳 ( <D10> 跟這邊要說的沒關係)。對於 Arduino UNO 來說就是可以直接使用硬體 SPI 來跑;但是對於 Arduino Mega2560 就不行。因此若直接使用 Arduino IDE 內建的 SD 函式庫,就會直接使用預設的硬體 SPI 來跑。對於 Arduino Mega2560 來說,SPI 硬體通訊接腳並不是在 <D11>、<D12> 和 <D13> 這三隻接腳,而是位於其他地方。所以若要讓程式能正常運行,必須使用軟體 SPI。
為了讓生活快意一些,建議使用 SdFat 函式庫。只要更改原程式碼中的標頭檔以及多宣告一個 SdFat SD,最後取 SdFatConfig.h 開啟軟體 SPI 功能,程式碼就可以順利運行在 Arduino Mega2560 板子。
編譯並上傳之後就會看到如下畫面。
Arduino Mega2560, tftpics_m2560.ino 運行畫面-01 |
Arduino Mega2560, tftpics_m2560.ino 運行畫面-02 |
Arduino Mega2560, tftpics_m2560.ino 運行畫面-03 |
雖然有慢了一點,不過總是有壓力才會有成長 ! 經過幾天的撰寫,終於連同函式庫更新與說明網頁都完成,總算可以鬆一口氣開始其他的東西,希望對於手邊有這片液晶螢幕的人有些許幫助。
<<部落格相關網頁連結>>
- { 2.8 吋 (400x240) 電阻式觸模液晶螢幕使用說明 } [ 1/4 ] - 液晶螢幕自我測試程式
- { 2.8 吋 (400x240) 電阻式觸模液晶螢幕使用說明 } [ 2/4 ] - 如何校正電阻式液晶螢幕
- { 2.8 吋 (400x240) 電阻式觸模液晶螢幕使用說明 } [ 3/4 ] - 塗鴉板:圖形與觸摸功能的結合
- { 2.8 吋 (400x240) 電阻式觸模液晶螢幕使用說明 } [ 4/4 ] - 如何讀取 MicroSD 卡中的圖片與在液晶螢幕上顯示
- 2.8 吋 (400x240) 電阻式觸模液晶螢幕函式庫版本更新 - 修正 Arduino Mega 2560 支援的問題與範例使用說明
沒有留言:
張貼留言
留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!
發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?
不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !