2012-09-18

MaKey Makey(Make Anything Into A Key)

MaKey MaKey是今年在KickStarter中非常有話題性的專案,連台灣的媒體都曾報導過,而最後也以超過22倍的高人氣成功達成募款目標。
MaKey指的就是〝Make Anything Into A Key〞,原理是利用任何稍具導電性的物質,透過MaKey MaKey就可以取代鍵盤與滑鼠作為電腦的輸入裝置。
示範影片,比較能夠清楚它的創意在於豐富了人與電腦之間的互動體驗,不再侷限於原來的鍵盤、滑鼠或搖桿,而融入生活周遭中大部分信手可得的素材,無論大人、小孩或藝術表演者,都可藉以創造出本身獨特的操作方式,確實是非常的有趣與好玩。
(Video-From MaKey MaKey.com)


2012-09-02

Arduino WiFi Shield 簡單測試及功能初灠

Arduino官方版的WiFi擴充板自八月中在Arduino Store上市後,
直到下旬(8/23)終於Sparkfun也開始販售,價格為$84.95,比定價便宜了將近$19。雖然還是有人質疑價格太貴,據Sparkfun的回覆,這個板子的零件成本並不便宜。
不過Sparkfun上架的25組,大約兩天就全部賣光了,下次就還得再等46週之後。
而在上週收到之後,利用周末進行了一些簡單的功能測試,結果算是符合預期。
(1Arduino WiFi Shield)

2012-08-25

NXT RGB LED訊息看板(Message Board):(III) I2C實作

NXT訊息看板I2C作為NXT的控制介面,所提供的功能包含:

接收來自Master傳送的文字(Text),並依據指定的字型顏色於RGB矩陣中顯示,   預設的顏色有:BlackRedGreenBlueBrownPurpleWhite七種選擇。
改變文字字型的背景顏色設定,預設為Black
接收由Master指定要顯示的圖案編碼(中文或圖形),以及前景與背景顏色指定。


2012-08-15

Arduino official WiFi shield發佈產品說明與程式庫(8/16已公佈價格)

2012.8.16補充》
ArduinoStore出來了

這是所知所有Arduino Wifi shield中最貴的一個
※※※※※※※※※※※※※※※※※※※※※
Arduino官方版本的WiFi Shield終於出現在Arduino.ccOfficial Arduino Shields的清單中,同步也提供了:Gettingstarted with the WiFi Shield以及專屬程式庫WiFi Library的說明與<WiFi.h下載,看來上市日期已經指日可待

2012-08-11

NXT RGB LED訊息看板(Message Board):(II) 軟體功能

前一篇Arduino UNOSparkfun RGB LED矩陣製作的NXT訊息看板中,所使用的介面分別是I2CSPI
其中I2C是作為外部Master裝置(也就是NXT)的控制介面。
SPI則是Arduino UNO傳送字型資料至RGB LED矩陣控制板進行顯示的傳輸介面。
至於結合這兩個介面成為示範影片所展示的效果,則是由Arduino sketches的軟體功能來實現,主要含:
(1)
外部I2C Master的控制功能,含:接收自Master(NXT)傳送的文字字串(Text
string)
、自訂字型代碼與字型與背景顏色的設定值等。

(2)
將文字(Text)轉換成字型(Font),含:大小寫英文字母、數字以及部分的標點符號。
(3)
自訂字型,屬於非文字類型的圖案,例如:中文字型。
(4)
跑馬燈效果,RGB LED矩陣以捲動方式顯示(2)(3)的字型(Font)
程式的功能架構圖:

2012-07-29

NXT RGB LED訊息看板(Message Board):(I)介面與機構

幾週前在KICKSTARTER見到這個ProjectL8 SmartLight :: The SoundLess Speaker :: for Phone/PC
據稱是作為智慧型手機以及電腦的〝無聲喇叭〞,也就是以8*8 RGB LED矩陣的動態圖示來取代聲音的提醒,雖然應用上不算很創新,因為對於產品包裝得宜,所以已經過了募款門檻。
而這也提示了我想做一個NXT的〝無聲喇叭〞,讓NXT可以有表達訊息的管道。
同樣也是採用8*8 RGB LED矩陣,製作一個可以顯示接收自NXT傳送字串訊息的看板,同時為了能夠清楚且完整的顯示訊息,所以打算用跑馬燈方式播放,完成後效果還算OK


2012-07-10

2012 Lego New PowerFunctions Elements

週日收到訂閱的YouTu影片通知,其中有一部由Sariel介紹與測試的三款2012年上市的Power Functions產品,分別是:
l   Power Functions L Motor
l   Power Functions Servo Motor(沒看錯 ! 確實是LEGO第一款Servo Motor)
l   以及 IR Receiver V2
(Video from Sariel)

(照片來源technicBricks)


以上三個新PF 產品將會附在Technic 9398, 4x4 Crawler這一組set(預計2012.8開賣)
其中Servo Motor使用在轉向驅動,因為具有自動歸位(Return to center)的功能,使得往後在使用PF Motor時,控制方面的彈性與便利上可以更上層樓。

2012-07-07

Cubelets - 模組化機器人

Modular Robotics 這家公司的名稱,很直接的就表示他們提供模組化機器人的產品
再由產品的命名:Cubelets,也可以想像得出來是以方塊堆積木的方式來組合機器人,而確實也真的是以這種概念來實現模組化的構想。
(Cubelets unboxing)

2012-06-02

Mindstorms NXT 與 Arduino之間的藍芽通訊

過去幾次在NXTArduino之間無線通訊的應用,都是採Xbee方式,如:『以瀏覽器控制Mindstorms NXT』以及『以瀏覽器控制HTWay』。

而本次則是以NXT內建的藍芽功能來與Arduino進行另外一種無線通訊方式。
(photo)



藍芽通訊屬於較為嚴謹的session-based protocol,需要先透過:配對、識別並建立連結(connection)之後才能開始進行資料交換。至於Xbee通訊則屬於較為彈性的message-based,只需指定好目標位址,就可以開始傳送訊號,並能夠隨時變更對象甚至使用廣播方式,而缺點則是可靠性較低,無法確認接收端的收信狀態。
實作上, 當以XBEE通訊時,NXT是使用S4Hi-Speed portArduino則使用Serial port
而當藍芽通訊時,NXT使用的是COMM Module功能,Arduino的藍芽模組(BluetoothBee)雖然也是透過Serial port,但必須符合NXT的封包交換規範。(DFRobot Bluetooth)

2012-05-21

使用Mindsensors NXT觸控面板(Touch Panel)製作筆勢控制機器人

Mindsensors NXTTouch Panel會記錄觸控筆在面板上移動過程的連續座標資料,使用NXT讀取之後,藉由分析筆勢(Gesture)軌跡,可以辨識出觸控筆的移動方式,如:由上往下、由左往右或從左下往右上滑動等動作,接下來將這些所解析出來的各式動作轉換成為指令,這樣就可以運用NXT Touch Panel來作為以筆勢控制機器人的輸入裝置。
根據這個構想,本次實作會以兩部NXT透過藍芽來進行遙控。
(Fig-1)
在上圖中接上Touch Panel的為遙控端NXT,會將偵測到觸控筆在面板上的動作,製作成資料字串經由藍芽傳送給被控端的NXT機器人,而被控端NXT在接收到資料之後,會進行解析並轉換為馬達控制指令來執行。
運作的程序參考下圖
(Fig_2)
(video-1)
(video-2)

2012-04-22

Mindsensors NXT觸控面板(Touch Panel)簡單測試

MindsensorsTouch PanelNumeric Pad同樣都是作為NXT的輸入裝置,但功能與特性還是有相當的差異。
對於Touch Panel,應用的定位是成為NXT螢幕的觸控介面,所以,建議的用法即是套疊在NXT螢幕的上方,同時也附了一枝觸控筆。
(Fig-1)

Touch Panel的面板介面分成兩個區域,分別是:兩側各四個共八個的按鍵區,以及中間對應NXT螢幕座標的觸控區,由提供下載的面板範本,就可以瞭解這兩種介面的配置方式。
(Fig-2)

2012-04-04

以瀏覽器控制HiTechnic自主平衡機器人HTWay

HTWay除了最初以IRReceiver接收PF IR遙控方式之外,在HiTechnic Blog中,相繼也介紹了Android APP以及NXT等兩種控制版本,事實上這兩者都同樣是以藍芽無線方式控制,只是採用不同的使用者介面(UI)
這裡將再運用前一篇“以瀏覽器控制Mindstorms NXT”的方式,以瀏覽器為操作介面,經由Arduino Web Server透過XBee無線方式傳送指令來對HTWay進行控制。
也因此會以NXTBee取代原來的IRReceiver作為接收遙控指令。
(Controlling HTWay via Browser)

(Video )

2012-03-21

以瀏覽器控制Mindstorms NXT

若要以瀏覽器來控制NXT,會需要透過Web Server處理來自Client端的HTTP Request,主要是解析HTTP Header中對NXT的控制資訊。 而能使用瀏覽器的最大優點在於不限裝置,只要能支援TCP/IP,則無論是電腦蘋果(iOS)還是芒果(Windows Mobile7.5),都能用來控制NXT,而且只需要Arduino開發環境,也不需要XCodeVisual Studio,簡單又容易。
(All Devices)




2012-03-07

還未上市的新版Arduino WiFi Shield初灠

Arduino2011.9Maker Fair中,曾發佈了即將要推出的Arduino WiFi Shield,不過,直到現在都還沒有任何上市的訊息。
最近由Making Things Talk (2nd Edition)這本書Chapter 6. Wireless Communication的章節中,發現了以這個Shield作為WiFi通訊功能的說明,內容附有照片與程式庫運用範例,應該是由Arduino原廠所提供的測試板,剛好可以初灠一下這個即將上市的官版無線網路介面擴充板的功能。

根據書中的內容, WiFi ShieldEthernet Shield有相同的Network Stack,程式庫也一樣具備了Server
ClientClass定義。因此,就如同當初在Maker Fair中對Arduino WiFi Shield描述的一樣,對於原來在Ethernet環境所開發的程式碼,只需稍微修改一下,就可以移轉至WiFi無線網路環境中運作。
WiFi shield連接Arduino也與Ethernet Shield一樣使用SPI介面,並提供有:WEP(含:40-bit128-bit兩種)WPAWPA2等加密方式。
以上這些都是由書中所提到的,並非Arduino正式釋出的最終規格。
API功能
書中的程式範例,說明了部份的API功能在程式庫方面,Arduino sketch與使用Ethernet
Shield
時一樣,也需要Include SPI.h>,同時新增了一個WiFi Shield使用的程式庫<WiFi.h>。

依據書中的說明,WiFi.h同樣定義有ServerClientclass,而在Arduino 1.0新增的DHCPDNSUDP等功能也都可以使用。
在網路初始化程序,在Ethernet.h,至少須提供MAC address作為網路設定:
Ethernet.begin(mac);其餘的IPGatewaysubnet等可以由dhcp取得。
至於WiFi.h則至少須提供SSID以及加密資訊作為初始化設定:
WiFi.begin(ssid, key);
而同樣也可以由dhcp來取得IP
無線網路診斷
在使用電腦或手持裝置的無線網路介面時,都會有提供查詢網路狀態的功能,而WiFi.h也具有診斷網路狀態的工具,以下是書中的範例程式。
l   掃瞄並列示鄰近無線網路的SSIDbyte numSSID = WiFi.scanNetwork(); // Scan nearby networks
for (int cnt=0; cnt<numSSID; cnt++) {
   Serial.print(cnt);
   Serial.print(“. Network: “);
   Serial.println(WiFi.SSID(cnt)); // Print network name
}

l   顯示信號強度
long rssi = WiFi.RSSI();
Serial.print(“RSSI: “);
Serial.println(rssi);

2012-03-04

使用Mindsensors的Magic Wand來呈現LED特效

MindsensorsMagic Wand是依據Extreme NXT這本書中的I2C專題所製作的套件,原設計是藉由連接在一個搖擺機構以及控制8LED的輸出作出能夠顯示圖案的視覺暫留”(POV)效果。
兩年多以前,曾經由Mr. Deepak提供了一組作測試
(
加油)

(Lego)
 
控制方式
控制Magic Wand 8LED開與關的方式是透過I2C寫入8 bits(1Byte)的資料到裝置位址 (0x70) 中。
每個bit(b0 ~ b7)分別對應一顆LED(D0 ~ D7),當bit值為0時會ON該顆LED1則為OFF。所以,若寫入byte值為0時,8LED全亮,而0xFF時則全部OFF
視覺化應用
按照前面的控制方式,就可以運用Magic Wand來作為NXT的視覺化輸出,例如,當使用超音波感應器偵測障礙物時,以顯示的LED數目來表示接近物體的程度,愈近LED亮的愈多,非常的直覺與有提醒效果。
LED特效
另外,還可以用來製作一些有趣的特效,以下影片共展示了三種效果:
霹靂車(Knight Rider)
煙火(Firework)
心跳(Heart Beats)
((Video))

2012-02-13

Arduino與Mindstorms NXT之間的XBee無線通訊(802.15.4)

對於ArduinoMindstorms NXT之間的有線通訊,之前共測試了RS485(連接NXTArduinoRS485通訊)以及I2C(Mindstorms NXTArduino之間的I2C通訊)兩種方式,接下來的則是要建構兩者之間的無線通訊。
NXT目前可以選擇的無線應用,除了內建的藍芽功能之外,透過周邊廠商所提供的裝置,也可以使用IRWi-FiXBee等。
其中XBee具有操作簡單、低耗電的優點,實務上也常被應用在無線感應器方面。
所以在本次測試中將會用來建立與Arduino之間的無線通訊,使用的模組是通稱為Series 1XBee 802.15.4,只需透過簡單的設定,雙方就可以進行非同步序列通訊。
(
Arduino wirelessComm with NXT-01)