2014-05-06

Scratch 2.0 控制 EV3 樂高機器人

探奇在上個月曾經發文介紹『Scratch 2.0 Online Editor 線上編輯器可以使用 LEGO WeDo』,

當時就希望有高手能協助做出控制EV3的Plug-in,果然就有玩家提供相關資訊。


高手玩家 botkop (還是這個網路暱稱)提供 ev3-scratch-helper-app 作為中介程式,讓大家可以使用Scratch 單機程式控制 EV3 樂高機器人。

這種控制方式的基本原理應該是:

Scratch <-- Scratch Extention --> Helper App <-- 藍牙或usb --> EV3

我還沒有試過這個Helper App,應該是使用Java完成控制,所以需要在EV3上安裝leJOS(?),目前已經可以讀取感應器數值及馬達控制。

如果讀友有實驗結果,很歡迎跟大家分享使用心得。

leJOS論壇的討論文章連結

Scratch 論壇的討論文章連結


台灣的實作

其實最近台灣也有人作這種實驗,大頭老師的部落格文章,EV3藍芽遙控程式開發 - EV3 Remote Control,用Python撰寫控制EV3的程式,透過Scratch Exention,就能以Scratch程式控制 EV3。

請參考大頭老師的文章:Scratch 2.0 連結樂高EV3 的創意教學

當然這個 Scratch Extention 與 Helper App 有很嚴謹的定義,才能避免程式邏輯上的衝突,開發這些並不是一件容易的事。


Scratch 與 NXT

話說回來,NXT就有許多人玩過以Scratch控制的主題。

探奇邱老師也有一些實驗,那時也是用Python作中介,透過 Scratch 1.4 的 Scratch Connections,可以讀取NXT的感應器數值,不過隨著筆電陣亡,通通忘光了。

(請參考探奇文章:Scratch and LEGO NXT

但是以上都還是採用連線方式進行控制,我認為能夠將程式獨立在樂高機器人主機中執行才是正道。

Enchanting 就是我很欣賞的作品,雖然也是利用leJOS,但是安裝簡便,使用方式也很直覺簡單。

它並不是使用中介程式遙控,而是將 Scratch 程式轉編譯成Java程式,可以直接在NXT主機上直接執行。

目前 Enchanting 最新版本是 0.2.4.2,除了是開放源碼,支援三大作業系統(Windows, Mac OS X, Linux),更重要的是現在還在持續更新中!

真是感謝 Clinton Blackmore 的貢獻。

由於WeDo的軟體需要另外收費,所以使用Scratch控制WeDo變成一個重要替代選項。

雖然樂高公司已經免費提供NXT與EV3軟體,可以直接控制樂高機器人,所以使用 Scratch 控制NXT或EV3,似乎不是很有必要性。但是 Scratch 容易上手的特性,加上還能配合使用電腦螢幕的聲光效果,Scratch 仍是一個不錯的選擇。

期待有更多高手分享它們的研究成果!








沒有留言:

張貼留言

探奇歡迎大家留言討論!謝謝分享你的意見。