2012-08-25

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

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

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


2012-08-15

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

《2012.8.16補充》
ArduinoStore的價格出來了,

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

2012-08-11

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

在前一篇以Arduino UNO及Sparkfun RGB LED矩陣製作的NXT訊息看板中,所使用的介面分別是I2C與SPI。
其中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見到這個Project:L8 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之間的藍芽通訊

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

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



藍芽通訊屬於較為嚴謹的session-based protocol,需要先透過:配對、識別並建立連結(connection)之後才能開始進行資料交換。至於Xbee通訊則屬於較為彈性的message-based,只需指定好目標位址,就可以開始傳送訊號,並能夠隨時變更對象甚至使用廣播方式,而缺點則是可靠性較低,無法確認接收端的收信狀態。
實作上, 當以XBEE通訊時,NXT是使用S4的Hi-Speed port,Arduino則使用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)簡單測試

Mindsensors的Touch Panel與Numeric 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 )