Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

Arduino 以其易用性及強大的程序控制功能已經迅速吸引了國內外眾多電子愛好者和產品開發人員的眼球,很多創客和中小學也使用Arduino進行機器人編程相關的教學!

普通的Arduino電子積木都是一些數字量和模擬量的傳感器。如果要驅動顯示屏,Arduino就有些吃力,目前常用的還是1602單色液晶。給Arduino UNO掛上一個彩屏是一件高大上的事情。

前期找了一些顯示屏,比如尺寸在1.8寸~4.3寸之間的小彩屏,價格還是比較親民,但我發現使用UNO來驅動會很麻煩:需要寫初始參數、設定BLOCK等底層函數、如果要顯示字體,還得自己做軟字庫,更要命的是,寫個圖片什麼的,還得找個NorFlash才能存得下(一張240*320分辨率的圖片就佔用了15360000字節,放在的UNO的主控FLASH空間是吃不消的)

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

商家已經開發了相關的庫和例程,但用起來還是很吃力,像這段清屏代碼,初學者就不容易讀懂。

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

這個函數先使用Address_set()設置了刷新區域,然後把LCD_CS針腳電壓拉低,之後循環寫入color。color分兩次寫入,一次寫入高八位(16位整形前面8個bit),一次寫入低八位。但loop()函數中LCD_Clear()卻是直接用十六進制寫入的。

這種操作對於有一定應用基礎的用戶還可以,但對初學者,想把彩屏用起來,相當有難度。

那有沒有適合Arduino新手使用的彩屏呢?你別說,還真有:ATLLet035的3.5寸電阻觸摸彩屏。價格還算親民。這是這款彩屏的圖片。

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

從外觀看,和其他彩屏沒太大區別。但從背面圖片看,彩屏增加了一顆ARM處理器,還有一個TF卡槽,板子上還留有外部FLASH。接口呢,使用串口就可以驅動。

這款彩屏雖然尺寸更大,還帶有觸摸,但用法實在是超級簡單。

拿到手,就先測試了一下:

先打開了Arduino自帶的例程“ASCIITable”,這個程序是串口打印字符串的例子。可以通過Arduino IDE自帶的串口監視器查看輸出結果。

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

現在就是在Arduino IDE串口監視器裡面看到的串口字符串打印結果。

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

下面我把ATLLet035彩屏的VCC-TX-RX-GND接到Arduino UNO主板上。我們看下彩屏的顯示效果:

Arduino驅動TFT彩色觸摸屏-有沒有更好的方法?

串口監視器的顯示數據,在ATLLet035彩屏上得到完整顯示。沒有修改代碼、沒有加庫文件,接上就可以顯示。

有關這款屏的更多玩法,後續有跟多分享。


分享到:


相關文章: