買了Adafruit的Adafruit的2.8吋觸控式TFT螢幕擴充板,開箱並簡單介紹,詳細設定步驟請看Adafruit的文件;我買的是Arduino擴充板形式,另外也有分線板形式。
我的環境:Windows 10、Arduino IDE 1.8.1、Arduino Uno板子。
這款產品主要有三個部分,都是SPI介面:
- TFT LCD,對角線長2.8吋,解析度240x340像素,18-bit顏色(262000個色彩),不過Adafruit的程式庫使用16-bit色彩模式,背光是4個白光LED,驅動器是ILI9341。LCD有8-bit模式與SPI模式,前者需要的腳位較多、速度較快,後者需要的腳位較少、速度較慢。
- 觸控螢幕,屬於電阻式觸控技術,只能感測一個接觸點,控制器是STMPE610。
- microSD插槽,SPI介面。
因為已經是Arduino擴充板了,硬體方面直接插上即可。
軟體方面需要的程式庫:
Adafruit_ILI9341,LCD低階操作動作的程式庫,附帶許多範例。
Adafruit-GFX-Library,高階的泛用圖形繪製程式庫,API參考文件。
Adafruit_STMPE610,觸控螢幕的程式庫。
先執行Adafruit_STMPE610程式庫的測試範例TouchTest,然後用手指按一按觸控螢幕,應可在序列埠監控視窗看到類似下列的訊息。
注意:這支範例程式預設使用I2C介面,需要修改,拿掉I2C的部分,加上底下這兩行使用SPI:
#define STMPE_CS 8
Adafruit_STMPE610 touch = Adafruit_STMPE610(STMPE_CS);
然後執行Adafruit_ILI9341程式庫的範例touchpaint,從左邊選擇顏色,當個小畫家吧。
板子的正面就是螢幕,背面如下圖:
- 左下方,可看到TFT LCD與觸控螢幕(touchscreen) 的控制器晶片型號與介面。
- 左邊中間,microSD卡插槽。
- 右邊中間,可看到腳位編號。
- 右下方,backlite控制要不要從腳位3控制背光(預設為開);TS int控制要不要接收觸控螢幕的中斷訊號;右邊的六個,控制SPI的腳位要不要連到13、12、11與ICSP排針,Leonardo與Mega板子需要修改。
參考資料:
- Resistive vs Capacitive Touchscreen | Tech Explainer,觸控技術簡易說明與比較。
- 2.8 TFT Touch Shield for Arduino with Resistive Touch Screen ID: 1651 - $34.95 : Adafruit。
- 2.8 TFT LCD with Touchscreen Breakout Board w/MicroSD Socket [ILI9341] ID: 1770 - $29.95 : Adafruit。
- 2.8 TFT Touch Shield for Arduino w/Capacitive Touch ID: 1947 - $44.95 : Adafruit,電容式觸控技術,控制器是FT6206,I2C介面。
- 2.8 TFT LCD with Cap Touch Breakout Board w/MicroSD Socket ID: 2090 - $39.95 : Adafruit。
- Downloads | Adafruit 2.8" TFT Touch Shield v2 - Capacitive or Resistive | Adafruit Learning System,資料規格表、電路設計圖。
請問一下 arduino 以往都是8位元微處理器,到了Due改成32位元,在程式中是否有專屬的寫法?可以增加效率之類?
ReplyDelete還是說使用者根本不用擔心這些,對於設備來說,相同的sketch在不同的機台就會有不同的運作效率而已?!(目前已知一些資料範圍不同int long ......)
先問你有需要增加效率嗎?
Delete沒有的話,就不需要特別寫法;要不然,豈不多此一事。
例如,一般迴圈會這樣寫,for(int i = 0; i <= 99; i++),
但若可以的話,可寫成這樣for(int i = 99; i >= 0; i--),
這樣一來,可少掉一個register儲存終點值99。
但有那個需求嗎?
Due是84 MHz,比一般的Arduino 16MHz高。
差異的話,Due是3.3V,Uno是5V,連接電子元件時要注意。
Uno與Due各個腳位,功能不一樣;以前的程式移植時要改寫。
等等。
了解 感謝前輩!
Delete這次拋出這個問題,最主要是最近為了偵測多個馬達旋轉相位變化速度,回推慣量在加入需要影響的條件,最後帶出煞車或加速的輸出量⋯⋯之類需要一些計算,又想他算的快,又想準,又想簡單易讀。就是一整個很貪心
先前在網路上爬到的文章都是說32位元多好或優缺點,實在找不到可以快速體驗一下兩者差異的作法,但對我一般使用者而言真想去體驗一下文章說的好或是差。
就像是買了新電腦,總想知道他可以厲害到什麼程度?!
(灌個以前跑不動的遊戲試試)
嗯,我不是什麼前輩,寫寫入門文章而已。
Delete多個馬達相位變化?哇,這麼厲害,
就用用看uno與due,比較看看不就知道了,呵,我這是不懂的人的說法。
葉老師:
ReplyDelete不知道你有沒有開課可以好好了解arduino ,網路上爬文對於一些可以網路下載的程式範例,怎麼下載都無法成功執行也不知道錯在哪裡,想好好了解一番
沒有。
Delete想要當面問人的話,現在各處不是有很多makerspace/hackerspace,應該都有熟悉Arduino與各種技術的高手。
萬事起頭難,加油吧。
你只形容最終結果【怎麼下載都無法成功執行】,
沒有告知任何資訊、錯誤訊息、環境設定等等,無法回答。
請問1.8.1新版IDE的範例裡第三方程式範例是甚麼意思?
ReplyDelete第三方程式庫的範例,
Delete顧名思義,
就是非官方、非Arduino IDE內建的第三方程式庫所提供的範例。
IDE的範例用甚麼電路該去哪邊查呢
ReplyDelete範例應該要提供,
Delete看看範例的資料夾,裡面會有電路圖檔。
如果是ARDUINO所提供的範例電路圖會在哪一個資料夾呢?開檔的程式是不是需要下載呢?因為libraries裏的資料夾的檔案我都無法開啟
Delete不就是examples子目錄底下嗎?
Delete什麼檔案?.ino與.pde是Arduino的sketch檔,從IDE去開。
怎麼可能都無法開啟,裡面有C++語言的原始碼檔,一般文字編輯器就可以開;也有.txt文字檔,以及其他。
建議你找本入門書看看吧。
有可以推薦的入門書嗎?我進入examples子目錄沒有看到電路圖,不是所有的檔案都不能開,不好意思因為剛接觸,所以問的問題都沒有程度
Delete看看我寫的Arduino介紹文章
Deletehttp://yehnan.blogspot.tw/2012/02/arduino_21.html
以及拙作
http://yehnan.blogspot.tw/2014/02/arduino_21.html
以及趙老師的曠世鉅作
http://yehnan.blogspot.tw/2013/04/arduinoarduino.html
有些範例很簡單,電路的接法,寫在範例程式碼裡,
有些範例的電路圖是圖檔,如ADXL3xx裡有schematic.png與layout.png。
謝謝你
Delete是因為我下載壓縮檔,存入libraries所產生的嗎
ReplyDeleteyes
Delete葉老師:我想做一個停車繳費的專案,它的作用如下:1個取票機(rfid感應模組)一個驗票機(rfid感應模組)一個主機(儲存rfid讀取的資料並做比對)還有一個繳費機,如果用兩個樹梅派作主機和繳費機的主機,2個arduino做取票機和驗票機,那他們之間需要甚麼硬體做聯結嗎?他們之間的資料可以互相傳輸嗎?
ReplyDelete> 需要甚麼硬體做聯結嗎?
Delete有線的,乙太網路、I2C、SPI等等。
無線的:紅外線、藍牙、WiFi、ZigBee等等。
> 可以互相傳輸嗎?
可以。
那樹梅派加裝攝影鏡頭可以做車牌辨識嗎?
Deletehttp://lukagabric.com/raspberry-pi-license-plate-recognition/
Delete謝謝!!
Delete如果控制主機要連上網路,還需要甚麼硬體呢?(做網路線上控制)
ReplyDelete樹莓派3已經內建乙太網路、WiFi、藍牙。
Delete現在物聯網這麼夯,到處都是各式各樣的開發板,
如Particle Photon、ESP8266、LinkIt、等等。
一般Arduino板子若要上網,要加裝擴充板。