2011-12-24

NXT-G的多工拉線方式


『多工』,意思就是讓NXT樂高機器人同時做兩件事,例如左手寫字,右手抓東西吃。

一般程式都是依順序執行,要進行多工,需要使用一些特殊的指令,在應用上比較麻煩。

相對的,NXT-G圖控式程式要進行多工就比較簡單,只要拉出積木軌道連接命令方塊,就能讓機器人同時執行兩段程式(當然也可以三段,四段.....)

以下圖為例,原程式是一個機器人向前,馬達轉100圈的命令方塊。

要同時『多工』讓機器人唱歌,也就是邊走邊唱,首先拉出你所需要的命令方塊,例如Loop Block,放在適當的位置,一般來說會是在原先程式積木軌道的下方,建議中間間隔空出四個方格以上,如果原先程式的Loop或Switch將程式展開,可能會遮到多工分支程式。

將滑鼠游標移到起始回字圖形的下方,游標會從箭頭變成『線軸』(有點像小坦克車),



按下滑鼠左鍵向下拖曳:



下圖:滑鼠轉個彎,連接到Loop Block前方的積木軌道。



下圖:Loop Block從灰色變成彩色,就表示程式已經連接成功。



在程式最開頭的地方,回字圖形的上下各有一個分支積木凸出來,我們可以直接連接多工程式。

那麼在程式執行到中間可以進行多工嗎?答案是OK的。

下面的例子就是先讓機器人前進(不唱歌),接著機器人後退時才同時唱歌,

寫好主程式後,拉出多工的Loop Block,一樣放在適當位置。

下圖:將滑鼠游標移到想開始進行多工的積木軌道位置,滑鼠游標會變成『左右鍵頭』,這時候可以將積木軌道伸長或縮短,不過我們目前用不到這個功能。



請按下鍵盤的『Shift』鍵,滑鼠游標會變成『線軸』(小坦克)。



下圖:同樣地,請按住滑鼠左鍵,拖曳連接Loop Block前端的積木軌道。Loop block變成彩色。

這樣就是多工,請趕快試試看吧!



延伸閱讀:

NXT-G多工程式測試



NXT-G教學:多工應用(馬達同時以不同方向轉動)


沒有留言:

張貼留言

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