2015年2月15日 星期日

3.5" LCD for Arduino MEGA 2560 & UTFT library


原本想要買一個可以使用在 Arduino 上的小面板,可以做為單機操作時的資訊顯示 (那就不需要接電腦了);於是上露天拍賣找了又找.......本來看上一個要價不到兩佰的 2.5" LCD,下單沒多久卻接到賣家電話,說不建議買那個小面板,原因是產品有問題......

賣家提供了其它幾個選擇,最後我選了一個 3.5" LCD + touch,特別標榜可以使用在 Arduino MEGA 2560;剛好我就有這個板子,那就是它了!賣家發貨的速度頗快的,等兩天我就收到這個 3.5" LCD

 

另外賣家也提供了一些電子書、example code;電子書的部分就還好,反正就收集一堆和 Arduino 有關的中、英文資料;至於那個 example code,完全和 Arduino 無關,是某個 C51 compiler 平台下的 code,對於想要很快在 Arduino MEGA 2560 上看到面板運作,可以說完全沒有幫助。


這個時候又得要發揮上網找資料的功力,看能不能找到什麼。這個時候注意到板子背面有個網址 (http://www.mcufriend.com),馬上就連上去看看有沒有資料可用。不過連上去之後才發現許多技術資料的連結根本就沒有,不然就是失效。而且也發現原來這個 3.5" 面板有多種 main chip,那麼我手上這個面板到底是那一種?


再次回頭看看賣家在網站上的說明,上面列了 RenesasSP / R61581 的資料說明,這是在明示說此面板的 main chip 是 R61581 嗎?(最後證明根本就不是!)


既沒有 Arduino sample code,也沒有面板相關技術資料,更沒有它的線路圖、I/O defination,那該如何才能使用此面板呢?本來還打算就這麼傻傻地看著 R61581 datasheet,一點一點把 code 建出來;再拿著三用電表,把線路完整重建出來 (這絕對不是個好主意!)。我記得不管是 Yahoo 或 Google 的圖片搜尋也能夠依照關鍵字,把相關照片都搜尋出來;再比對手上面板的外觀,找到相同的東西,進而回朔出照片出處。

另外還有一種可能,就是這個面板的原始設計是出自 Arduino ForumArduino Playground,某個人開放的大作,所以有可能可以直接取得相關的線路、source code。不論是從 Yahoo / Google 上找尋,或是在 Arduino 官網上尋找,都比呆呆地自己 K datasheet 要來得容易多了;最後在這兩個方向中都指向了一個 Library:UTFT library。它便是解決問題的最終答案了!

UTFT library 可以支援多種不同的小尺寸面板,可以應用在 Arduino、PC32、ARM 三種不同開發平台上;不過從它的說明文件上可以看出來,它的應用在 Arduino 上才是最主要的。UTFT library 本身也有許多 sample code 以及說明文件,函式應用也很簡單;只要拿 sample code 來改一行 code,就讓我新買的 3.5" LCD 點起來了,真的是讓人爽快!


原本參照賣家網站說明而套用 R61581 設定,面板雖然可以顯示,但是有很嚴重的閃爍問題;於是開啟 UTFT.h 檔案,看看 library 在初始上有那些可用的參數,再嘗試一下,結果設定成 ILI9327 才是這個面板真正的 main chip。

沒有留言:

張貼留言