在 Java Developer Day 2014 中,有去的人應該都看過廠商攤位上有組 Lego Mindstorms EV3 機器人,大會講師之一 Stephen Chin 也在其議程〈在平板,Pi 以及樂高上的 Java 8〉中進行了展示,其實一直以來,就有想要試試這高級玩具,忙著忙著到了年底,最近終於有點時間來玩玩了。
EV3 可以使用 Java 來撰寫程式,可以參考〈樂高 Mindstorms EV3 之 LeJOS 安裝說明 - Windows 篇〉與〈樂高 Mindstorms EV3 之 LeJOS 安裝 - Mac OS 篇〉瞭解如何開始,這是我有興趣的,不過,我對於 EV3 的視覺化程式語言也覺得有趣,換個視角來設計程式,似乎也是個不錯的體會。
我的這系列 EV3 Tutorial,將只用來記錄我玩弄 EV3 的過程,玩到哪寫到哪,以有別於 EV3 官方的文件等介紹,因此,我不急著照說明書組裝實體積木,也不會詳細介紹每個軟體積木怎麼用,用到什麼講什麼。
安裝 LEGO MINDSTORMS EV3 Home Edition
好吧!也許還沒買 EV3,不過,你也可以直接到 Lego 的網站,下載 LEGO MINDSTORMS EV3 Home Edition,然後組裝一些簡單的軟體積,來體會一下 EV3 視覺化程式語言是什麼樣子,軟體有 Windows 版本與 OS X 版本。
安裝完畢後開啟的畫面就像這樣:
如果你已經有購買 EV3,想要先來個實機體會,那麼可以先看右下角那個「Getting Started」影片,照著做,你就可以寫個簡單的程式,讓你的 EV3 大型馬達轉個一圈,如果沒有的話呢?…
模擬器中的 Hello, World
你可以下載 Virtual NXT,這是個付費軟體,不過可以免費體驗 15 天,這個軟體也可以支援 EV3 的模擬,不過實際測試,有些 EV3 中的軟體積木選項不支援,或者是積木種類不支援,像是陣列運算,不過,就體驗一下簡單的 Hello, World 顯示應該是足夠的!安裝好 Virtual NXT 後開啟它,接著打開 EV3 軟體,就會把 Virtual NXT 當成已連接的 EV3 主機。
在你的 EV3 軟體中,可以執行「File -> New Project」,或者按一下前圖中左上的「+」來新增專案,新專案上會有個綠色箭頭積木,代表程式的進入點,下方是各積木分類區,用顏色來區分:
綠色是輸出裝置,像是馬達、主機(聲音、顯示等),橙色是流程控制,黃色是輸入裝置,也就是放著各種感應器,紅色是資料操作,藍色是一些進階積木,像是檔案存取等,藍綠色是自訂積木區,你自訂的積木會放在這個分類中。
積木顏色在你的程式畫面堆滿了積木時,是很重要的辨識依據,可以讓你很快地看出哪些是輸入,哪些是輸出,而哪些又是流程控制等等。
接下來,可以拉出一些積木如下圖組裝:
我打算在螢幕上一直顯示 "Hello, World"
。橙色部份是個迴圈,右下設定為 ∞ 表示無窮迴圈,用來表示「一直」;在中間的綠色是顯示方塊,會在 EV3 主機上顯示指定的文字或圖像等,當按左下設定為「T」時,也就是「Text -> Pixels」時,就可以在右上角設定想要顯示的文字,如你看到,這邊設定為 “Hello, World”。
橡皮擦圖示設定為打勾時,表示繪製前重清文字,x
與 y
分別是設定文字顯示時的座標,EV3 的螢幕是以左上角為 (0, 0)
,往右寬為 177
像素,往下高為 127
像素。
完成程式之後,按下綠色箭頭積木,就會看到模擬器中顯示了 Hello, World 字樣!
更新 EV3 韌體
接下來,你可以在實機上測試看看,不過在這之前,你可以先更新韌體,基本上你下載的 EV3 軟體中,就會附有韌體的檔案,只要使用 USB 將 EV3 主機與電腦連接,執行 EV3 軟體選單「Tools -> Firmware Update」,就可以看到檔案直接進行更新:
如果你的 EV3 主機韌體並不是最新的,就可以按下「Download」來進行更新,你也可以使用 「Online Updates」來檢查是不是有最新的韌體。
EV3 實機上的 Hello, World
如果你連接 EV3 實際,那麼軟體積木選項也會稍有不同,主要是多了顏色選擇與字體兩個選項,顏色只有黑色與白色兩個選擇,而字型有 0(Normal)、1(Bolad)、2(Large)三個選擇。
如上圖設定好程式之後,按下綠色箭頭,就可以看到 EV3 主機上顯示的 Hello, World:
就這樣,不忙著組裝機器人,而是遵循每個程式語言介紹的傳統,硬是先來看 Hello, World,其實要在 EV3 主機上顯示「哈囉!世界!」也是可以的,就是在一張圖上寫「哈囉!世界!」,然後設定顯示那張圖而已,這就等下一篇再來談了 …