2011-12-17

NXShield_AVR程式庫相容Arduino 1.0更新版(0.0.95)已釋出

Arduino 1.02011/11/30正式釋出:Arduino 1.0下載
新版的Arduino 1.0 sketch附加檔名已由原來的.pde更改為.ino,以避免與ProcessingSketch混淆。同時無論在IDELibraries都有相當程度的更新:Arduino Software Release Note
(Arduino IDE 0.0.22
0.1.00比較)


NXShield_AVR程式庫也在2011/12/14更新了相容版本(0.0.95)
下載點:NXShield_AVR-0.0.95經過測試功能正常。

2011-12-10

NXShield API的功能擴充-加入Hitechnic IRReceiver裝置

NXShield API中提供了多款NXT類比式與I2C數位感應器的Device Class,幾乎涵蓋了Mindsensors所有上市中的產品,而如果要運用其他沒有預先提供Device Class的裝置,如HitechnicDexter的產品,特別是I2C裝置,也可以透過以下兩種方式來建立使用的功能:
(1)  Arduino sketch中使用NXShieldI2C class的通用I2C access methods,對於該裝置的registers進行存取或寫入指令,以實現所需要的控制功能。
(2)  製作該裝置的Device class加入NXShield _AVR程式庫中,後續就可以比照預設Device class的用法,在Arduino sketch中使用相關methodsproperties
以下以HitechnicIRReceiver sensor為範例,整理以上兩種運用方式。


(
NXShield API架構參考:NXShield Arduino API摘要整理)

2011-12-03

NXShield arduino API 摘要整理

NXShieldAPI(下載點)是以它的硬體配置以及Firmware功能作為發展基礎,使用的是C++語言,整體架構具結構化與彈性,運用時非常直覺,同時也很容易增加新的Device Class或擴充功能,對於NXT users不會覺得陌生且很容易上手。
NXShield的硬體配置分成兩種介面
(1)
使用Arduino IO pins:含ButtonsRGB LED63-pinRC Servo接腳.
(2)
使用I2C界面:含兩個Port Banks(BANK-ABANK-B各有兩個NXT motor
ports
sensor ports) ,以及一對4-pinI2C接腳.
NXShield firmware內建對於兩個port banks的控制功能兩個Port banks各有預設的I2C位址(0x060x08)以及一組registers,作為控制Motor ports (M1M2)動作與讀取Sensor ports (S1S2)類比式感應器Raw Value(10 bits)I2C操作界面.Registers相關資料:Advance Development Guide.Motor ports的控制功能與NXTMMX一樣,參考資料:Mindsensors NXTMMX的功能特性.ArduinoI2C bus腳位只有一組A5A4 pin (SCLSDA)NXShield串接在I2C bus的界面有:BANK-ABAN-B4-pinI2C接腳以及BANK-AS1 port(BAS1).所以,BAS1 port是可以接NXT的數位感應器.

NXT也可以使用BAS1 port來控制
NXShield.
因為這4個介面串接在同一個I2C bus上,所以彼此的I2C address必須唯一
.而其他的三個sensor ports就只能接類比式感應器.