所需材料:
- 白色珍珠板一塊約2公尺*1公尺
- 黑色膠帶一卷
- LEGO NXT 本體
- Motor 驅動馬達兩個
- Light Sensor 光感應器一個
- Ultrasonic Sensor 超音波感應器一個
- LEGO建構零件
- 想像力...................^_^
目標:讓LEGO NXT 軌跡車沿著黑色膠帶前進並且遇到障礙物時能避開後再繼續前進
沿用上次的車體那就來個 LEGO NXT 「障礙」越野的 Pose !!
這次 NXC 程式的撰寫重點就是讓 LEGO NXT 同時運作兩件事(Task):A 持續前進 、B 偵測前方障礙物時要停止並後退一些再繞過障礙物繼續前進,實際測試時你會發現LEGO NXT 遇到障礙物時會發生突然前進又後退的困擾意外。
這是因為 AB兩件事同時發生沒有先後順序導致 LEGO NXT 無所適從,這時我們需要一個交通號誌類似路口的紅綠燈「Mutex」,看AB Task誰先取得 Mutex 的控制權誰就執行而另一個Task就要先暫停等待對方程序完成。
NXC 程式碼:
程式執行影片
你好 我想試試你的程式 我有寄信給你 不知道方不方便
回覆刪除