2013-11-07

使用EV3軟體控制NXT主機


期待EV3軟體

年初樂高公司宣佈發表EV3樂高機器人後,探奇就一直關心EV3軟體是否能夠撰寫程式控制NXT主機。

現在EV3已經上市,樂高公司也開放大家下載家用版的EV3軟體,這真是一個好消息。

因為探奇一直認為,有很多人才剛購買NXT套件,無法立即更新EV3,而且NXT主機設備的狀況也還堪用,那麼利用免費的EV3軟體撰寫程式控制NXT,應該是一個很不錯的選擇。如此一來,可以先行熟悉EV3軟體,將來有機會購買EV3樂高機器人套件時,也能做到無痛接軌。





探奇現在還是使用NXT進行教學,所以也優先考慮變更使用EV3軟體。


探奇測試


但是EV3軟體適用嗎?答案是肯定的。

經過一段時間的測試,探奇認為一般情況下,使用EV3軟體撰寫程式控制NXT是利多於弊。(當然也是有弱點的,文末會整理詳述。)

首先探奇將所有EV3 Block整理列表,發現有些命令方塊無法使用在NXT上,如下表:


Palettes Block NXT-G for NXT EV3 for NXT EV3 Education EV3 Home Edition Edu v.s. Home
Action Blocks Medium Motor X x v v
Large Motor o v v v
Move Steering o v v v
Move Tank X v v v
Display o v v v
Sound o v v v
Brick Status Light X X v v
Flow Blocks Start X v v v
Wait o v v v
Loop o v v v
Switch o v v v
Loop Interrupt X v v v
Sensor Blocks Brick Buttons o part v v
Color Sensor o v v v
Gyro Sensor X X v x LEGO
Infrared Sensors X X v v
Motor Rotation o v v v
Temperature Sensor o v v x LEGO
Timer o v v v
Touch Sensor o v v v
Ultrasonic Sensor o Part v x LEGO
Energy Meter o v v x LEGO
NXT Sound Sensor o v v x LEGO
Data Blocks Variable o v v v
Constant v v v v
Array Operations X X v v
Logic Operations o v v v
Math o Part v v
Round X v v v
Compare o v v v
Range o v v v
Text o v v v
Random o v v v
Advanced Blocks File Access o v v v
Data Logging o ? v x Special
Messaging o X v v
Bluetooth Connection o X v v
Keep Awake o v v v
Raw Sensor Value X v v v
Unregulated Motor X v v v
Invert Motor X X v v
Stop Program o v v v
My Blocks o v v v



下面是一些命令方塊的圖片,在EV3軟體環境中,將USB線接上NXT主機,EV3軟體會很貼心地將無法使用的命令方塊打上驚嘆號,並且變成淺灰色,明確告知你無法使用這個命令方塊。





使用EV3軟體的好處

這個好處當然是說不完的啦!其實就是EV3軟體的改良強項

1. 軟體介面:程式一目瞭然,畫面可以放大縮小。
2. 參數設定:資料線好拉,參數容易設定。
3. 沒接上NXT主機就無法下載程式:不再出現一堆錯誤訊息。
4. 可能不會像NXT-G那麼容易搞到PC當機。
5. 支援半自動硬體設定。
6. 不再需要Number to Text。
7. Switch Block接受資料線輸入。

使用EV3軟體控制NXT主機的弱點

世界上沒有十全十美的事,所以用這種方式一定也有弱點:

1. 無法下載NXT韌體。
2. 無法使用藍芽命令方塊。
3. 無法使用Data Logging命令方塊。
4. 無法使用Math Block 的 Advanced功能。(NXT-G也沒有)
5. 程式佔用空間較大,圖檔聲音檔都一樣。(NXT只有118KB,EV3有64MB,當然可以任意揮霍)
6. File Browser超難用,只能按照檔名排列,不容易刪除特定檔案。
7. 程式中有My Block時,通通複製一份到NXT主機。
8. 沒有NXT Light Sensor專用命令方塊。(目前可以利用Sound Sensor Block暫代使用,希望將來樂高會釋出專用命令方塊)
9. 程式執行效能如何?還沒完全測試,所以有風險。(探奇測空迴圈,次數比較少)

大家一起來試試

說了一堆,如果你不使用藍芽通訊,不用資料蒐集,那麼EV3軟體一定是NXT主機的好朋友。(還是要想想弱點的痛苦指數)

探奇鼓勵大家試試,用EV3軟體控制NXT主機,即使沒有EV3,也能體會EV3的程式設計。

EV3 家用版軟體下載連結

延伸閱讀:

High Tech Kids:EV3 software running on NXT bricks

LEGO Engineering:Using EV3 software to run the NXT

5 則留言:

  1. 請問NXT(firmware 1.5),可以使用EV3嗎?

    回覆刪除
    回覆
    1. 你好:

      EV3軟體應該都能控制NXT主機,建議最好將韌體更新至1.31。

      (我不知道你的韌體1.5是從何而來?)

      刪除
  2. 請問是直接以EV3軟體來控制NXT,還是需要下載EV3的韌體?如果已經在NXT上使用EV3軟體,是否就無法改回NXT的韌體了?

    回覆刪除
    回覆
    1. 你好:
      直接以EV3軟體控制NXT,NXT主機不需要更改韌體(維持最新版1.31即可),
      沒有更新韌體,不需煩惱韌體變更。

      刪除
  3. 作者已經移除這則留言。

    回覆刪除

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