2015-07-23

EVShield筆記(4 - 1) : 結合 Arduino WiFi Shield 的 EVShield Web Server(硬體介面)

以EVShield 結合 Arduino WiFi Shield,就可以實現透過無線網路控制 EV3/NXT 的馬達與感應器。
而最簡單便利的人機控制介面就是在 Arduino UNO建置 Web server,這樣任何平台的裝置,即只需以瀏覽器開啟網頁方式遙控機器人的操作,而不需要開發專屬的 App。

下圖為本次所計畫建置的 EVShield WiFi Web server,將會以瀏覽器控制 EVShield 上兩組 RGB LED 的顏色顯現,並同時在 UI Module 的 LCD 螢幕上顯示目前所執行的顏色設定指令。 

【示範影片】


【擴展板推疊方式】
EVShield WiFi Web server 的所有組件如下圖:除Arduino UNO之外,另還包含 UI Module shield、EVShield 以及 WiFi Shield 等三個擴展板。
  

至於擴展板堆疊的方式,由於 WiFi shield 與 UNO 間需以 6-pin 的 ICSP 連接,所以如下圖由上而下依序為:UNO + WiFi Shield + EVShield + UI Module shield。
【Arduino腳位配置】
由於每個擴展板各有其功能與介面,經過堆疊之後所使用的Arduino腳位資源會有重複的情形,因此,需要調整以避免造成衝突而影響功能

  • SPI介面
    Wifi Shield 與 UI Module Shield 都是硬體 SPI 介面,參考 Arduino原廠官方文件,WiFi Shield 以 D7 作為與 UNO 之間的Handshake,而 SS pin 則分別為D10(WiFi)  與 D4(SD)。
    因此,會將 D4 pin 移作 
    UI Module Shield 的 SS pin ,而不用於 on board SD 槽。
      
  • EVShield Servo pins
    EVShield 使用 Servo.h 程式庫定義的 D3/ D5/ D6/ D9/ D10/ D11 6 個腳位,其中 D10 與 D11 與硬體 SPI 重複 ,在 Sketch code 中應避免產生衝突。
※ 軟體 與 網頁 功能將另整理於下一篇筆記中



  

沒有留言:

張貼留言