外觀與介面
NXT RJ12 Ports
由NXShield正面的配置方式,左右各有一組四個Ports的NXT RJ12接口,右邊為BANK-A(I2C
address:0x06),左邊為BANK-B(I2C address:0x08)。
NXT RJ12 Ports
由NXShield正面的配置方式,左右各有一組四個Ports的NXT RJ12接口,右邊為BANK-A(I2C
address:0x06),左邊為BANK-B(I2C address:0x08)。
Arduino pins中間左右的兩排接腳,即是用來連結Arduino UNO作為擴充板,但是因為NXShield在背面沒有配置堆疊用的接腳,所以,若需要堆疊其它Shield時,NXShield會是在最上層。
不過,Mindsensors已經有考慮到這方面的需求,因此,預先在NXShield配置了一些實用的界面:
[版主回覆11/14/2011 15:33:35]我覺得NXT本身就有保護電路, 再加上對於外接電源, 控制好不要選擇太高電壓值, 應該是還好, 我打算用 PF 7.4V的充電鋰電池 試看看
[版主回覆11/14/2011 15:51:54]利用Arduino的DC Motor Controller, 是可以控制NXT 馬達的方向與速度,
但不能讀取或設定光學編碼器的值,
我想NXShield對於NXT馬達的控制功能就比較完整.
至於價格確實貴一點,
至於串接, 是可以, 但稍微麻煩, 需要去更改預設的I2C位址
不過,Mindsensors已經有考慮到這方面的需求,因此,預先在NXShield配置了一些實用的界面:
RC Servo and PWM在左上角有6組3 pins的RC Servo接腳,所標示對應於Arduino腳位分別為:D3、D5、D6、D9、D10、D11,剛好也是PWM的腳位,所以,除了接RCServo外還可以用來作PWM的應用。
Buttons and RGB LED
在正上方側邊有四個Buttons及一個RGB LED,由左至右為:Left、Right、RGB、Go、Reset,除了Reset鍵以外,所用到的腳位分別是:
●Left / RED:D8,
●Right / BLUE:D12,
●Go / GREEN:A3以上三個介面,在程式庫 NXShield_AVR中的NXShield Class有實作的methods可以運用。
I2C介面
在正下方有兩組4 pins的I2C接腳,其實是同一組,只是比較貼心的的同時提供公/母兩種接腳,腳位都有清楚的標示,用途當然是作為連結I2C裝置。
在收到NXShield一發現這個介面是I2C時,當下第一個念頭就是:NXT可不可以連接使用NXShield,若可行的話,那不就多了兩個NXTMMX可以用嗎?
NXT測試
因為NXShield的兩個Banks ports各有其I2C Address(0x06與0x08),因此,應該是以daisy
chain方式串接在同一個I2C bus。
所以就用NXT作了一個簡單的NXC程式分別去讀取0x06與0x08兩個I2C address的0x10 register address(內容為Device ID),結果確實可行。
不過當下還是有點疑問,為何Mindsensors的文件沒有提到可以這樣使用的功能?隨即寫mail去問Mr. Deepak,今天一早就收到回覆,內容為:
Yes, it works, but we do not recommend connecting NXT to NXShield, as there will be backflow of current from NXShield to NXT, which could damage NXT.
原來是怕由NXShield外接電源的電流會逆流回NXT,也許需要加一個保護電路,這就超出我的知識領域。
Buttons and RGB LED
在正上方側邊有四個Buttons及一個RGB LED,由左至右為:Left、Right、RGB、Go、Reset,除了Reset鍵以外,所用到的腳位分別是:
●Left / RED:D8,
●Right / BLUE:D12,
●Go / GREEN:A3以上三個介面,在程式庫 NXShield_AVR中的NXShield Class有實作的methods可以運用。
I2C介面
在正下方有兩組4 pins的I2C接腳,其實是同一組,只是比較貼心的的同時提供公/母兩種接腳,腳位都有清楚的標示,用途當然是作為連結I2C裝置。
在收到NXShield一發現這個介面是I2C時,當下第一個念頭就是:NXT可不可以連接使用NXShield,若可行的話,那不就多了兩個NXTMMX可以用嗎?
NXT測試
因為NXShield的兩個Banks ports各有其I2C Address(0x06與0x08),因此,應該是以daisy
chain方式串接在同一個I2C bus。
所以就用NXT作了一個簡單的NXC程式分別去讀取0x06與0x08兩個I2C address的0x10 register address(內容為Device ID),結果確實可行。
不過當下還是有點疑問,為何Mindsensors的文件沒有提到可以這樣使用的功能?隨即寫mail去問Mr. Deepak,今天一早就收到回覆,內容為:
Yes, it works, but we do not recommend connecting NXT to NXShield, as there will be backflow of current from NXShield to NXT, which could damage NXT.
原來是怕由NXShield外接電源的電流會逆流回NXT,也許需要加一個保護電路,這就超出我的知識領域。
- 留言者: robotman
- Email: tslinb@hotmail.com
- 網址:
- 日期: 2011-11-14 11:36:01
[版主回覆11/14/2011 15:33:35]我覺得NXT本身就有保護電路, 再加上對於外接電源, 控制好不要選擇太高電壓值, 應該是還好, 我打算用 PF 7.4V的充電鋰電池 試看看
- 留言者: robotman
- Email: tslinb@hotmail.com
- 網址:
- 日期: 2011-11-14 10:19:24
[版主回覆11/14/2011 15:51:54]利用Arduino的DC Motor Controller, 是可以控制NXT 馬達的方向與速度,
但不能讀取或設定光學編碼器的值,
我想NXShield對於NXT馬達的控制功能就比較完整.
至於價格確實貴一點,
至於串接, 是可以, 但稍微麻煩, 需要去更改預設的I2C位址
沒有留言:
張貼留言