2007-11-29

Motor命令方塊--NXT Ferris Wheel --NXT摩天輪

LEGO Engineering 發表 Moter vs. Move系列第二篇文章Part II:Action

教導大家Motor Block裡面Action的設定,該文還教導大家做一台很迷你很可愛的旋轉木馬,藉由旋轉木馬的動作,可以瞭解Action設定的意義。

探奇教室特別設計一台簡單的迷你摩天輪,小朋友除了製作旋轉木馬,也可以用這台摩天輪學習Action的使用。


從另一個角度觀看摩天輪:


摩天輪上面有四個車廂,猜猜看是哪些零件組合的呢?


言歸正傳,回到Motor命令方塊的解釋。

當大家在使用Motor命令方塊時,每個方塊只能控制一顆馬達,馬達直接使用設定的馬力值在運轉。


當你設定POWER為75的時候,馬達直接輸出75%的馬力進行運轉,如果馬達是裝在車子型的機器人,這種馬達的運轉方式並沒有什麼太大的差別。


但是對於旋轉木馬或是摩天輪,就會發生突然快速用力轉動的情況,由於慣性的緣故,很容易造成人體(或物體)受傷。

在這些特殊場合,我們希望馬達的啟動是緩慢加速,就像是爸爸媽媽開車時,車子是慢慢向前加速;有些時候馬達需要緩慢減速,就像遇到紅燈,慢慢煞車,車子慢慢停止。

這個時候就可以選擇Action下拉式菜單的選項:
Constant:表示固定速度
Ramp Up: 緩緩加速
Ramp Down: 緩慢減速



我們寫了這個簡單的程式讓摩天輪轉動


程式中三個馬達命令方塊的設定值如下圖




摩天輪的動作:
1. 摩天輪從靜止緩慢加速到馬力40%,總共旋轉5圈。
2. 摩天輪以40%的固定馬力旋轉3圈
3. 摩天輪從馬力40%緩慢減速到馬力為0,總共旋轉5圈。

要注意的地方有下列幾點:

1. Duration需要設定為Rotations或degreeds,才能選擇Ramp Up或是Ramp Down

2. 程式會自動均勻分配馬力輸出。以第一個馬達命令方塊為例:程式會在從靜止開始啟動馬達,旋轉5圈後達到馬力40%。

3. 使用Ramp Down需要先設定另一個Constant的馬達命令方塊。這樣NXT-G才能有所依據,計算分配在旋轉5圈內,將馬達輸出馬力由高變低。所以在Ramp Down(第三個命令方塊)之前要設立Constant(第二個命令方塊) 。

4. 設定Constant的命令方塊也要將Next Action設為Coast(浮動)。如果設為Break,馬達就會煞車停止,第三個命令方塊就只能執行馬力0到馬力0的減速動作,馬達不會動,無法旋轉5圈,程式永遠不會結束。

讓我們看看實際的運轉影片:

沒有留言:

張貼留言

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