2011-11-12

Mindsensors NXShield for Arduino裝置介面摘要

2011.11.11收到了NXShield,有了實際的產品,就可以先就硬體的外觀與介面進行觀察,後續再對於控制功能進行測試。
外觀與介面
NXT RJ12 Ports

NXShield正面的配置方式,左右各有一組四個PortsNXT RJ12接口,右邊為BANK-A(I2C
address
0x06),左邊為BANK-B(I2C address0x08)
 
Arduino pins中間左右的兩排接腳,即是用來連結Arduino UNO作為擴充板,但是因為NXShield在背面沒有配置堆疊用的接腳,所以,若需要堆疊其它Shield時,NXShield會是在最上層




2011-11-06

Mindsensors Arduino NXShield功能初探

MindsensorsNXShield在這個月初上市
這是一個可以提供Arduino UNO連接NXT週邊的硬體實作裝置,規格上就是具備NXT RJ12 IO 界面的Arduino擴充板,雖然還沒有實際的產品可以測試,不過由已經公佈的使用手冊API程式庫以及範例程式,先就它的功能與特性做初步的探討,同時也預先規劃一下收到產品時需要測試的重點。

NXShield硬體外觀
使用手冊來看,NXShield規劃了兩組各4RJ12Ports,這兩組各有其I2C位址:Bank-A: 0x06Bank-B: 0x08,而每一組分別具有兩個Motor Ports與兩個Sensor Ports,也就是說一個NXShield最多可以接4NXT馬達以及4個感應器。

對於Sensor Port,無論類比或數位感應器都可以使用,也可以透過MindsensorsPort Splitter連接更多的I2C數位感應器(I2C位址需不一樣)。同時,若再串接另一個NXShield,就可以多增加幾乎一倍的Ports可以使用,不過需要變更NXShield Bank的預設I2C位址,以維持惟一性。

至於Motor Port,參考NXShield Advanced Development Guide的說明,會發現其實它的功能就是移植自NXTMMX,無論Register LayoutI2C Command都是一模一樣,用法可以參考之前所整理的文章:〝 Mindsensors NXTMMX的功能特性〞。


此外,NXShield側邊還有4個按鍵開關,分別為Reset/Go/Left/Right,依據User Guide說明,後三個鍵是可以程式化控制的,不過似乎目前只有Mega版有列出對應的Digital IO pinsUNO版還是TBD,有待確認。
而在產品頁面有提到可以連接6RC Servo,同樣在說明文件中也沒有,所以應該就是直接使用Servo.h的功能。

NXShield所使用的Arduino腳位(IO Pins)
為了讓4Sensor Ports都可以連接I2C數位裝置,MindsensorsNXShield的程式庫實作了SoftI2cMaster的功能,以突破Arduino只能有一個Hardware I2C界面的限制,因此UNO版共使用了A0A1A2A4A5D2D4D7這些Pin以及Hardware Timer 2 (D3D11),詳細在NXShield Advanced Development Guide中有說明或直接參考API中的常數定義檔(SHDefines.h)


NXShield的程式開發
MindsensorsNXShield發展了功能相當齊全的程式庫:NXShield_AVR,以及整理完善的明文件與範例程式,這些也都包含在下載的程式庫檔案中,事實上這個版本的API也就是以原來的NXTI2CDevice Library為基礎所發展出來,以下為Class的架構圖:


以後如果想要自行擴充標準API的功能或製作新的Device Class,都可以運用以這個程式庫的功能為基礎來開發,比較能事半功倍,因為到底NXShield還算是一個有相當複雜程度的裝置。


結論摘要
Arduino的系統資源比起NXT可以說是差了一大截,不過NXShield卻幾乎移植了NXT主要的 IO裝置功能到Arduino來,而且尚有餘裕的空間可以再擴充NXT所缺的功能,例如TCP/IP的網路通訊。
我想最主要的原因有兩個,首先,
NXShield本身無論在Motor Control或類比式感應器等這些處理功能的齊全,分擔了Arduino相當多的工作,事實上,一個NXShield相當於結合兩個NXTMMX再加上許多額外的功能

其次,API程式庫的功能規劃的相當完善且很容易上手使用,這是個人覺得最值得讚賞的部份。

等到收到產品之後,接下來要測試的重點會是:
(1)
有沒有可能成為NXT的有力助手。
(2)
附加其他擴充版的應用。




  • 留言者: robotman
  • Email: tslinb@hotmail.com
  • 網址:
  • 日期: 2011-11-14 10:30:22
看到這篇文章..理論上看起來應該可以串接!!





  • 留言者: Yean
  • Email: drlego.tw@yahoo.com.tw
  • 網址:
  • 日期: 2011-11-08 00:17:44
可以借分享嗎,我們訂購的NXshield也快要到貨了,若您有意的話,到貨後我們送上一片給您測試。
[版主回覆11/08/2011 07:49:44]

沒有問題, 也歡迎一起研究與分享心得
我自己也訂了兩片, 所以已經有了, 感謝您的好意 : )