實驗目的:
經由練習 1 的測試,可暸解機器人移動與360°伺服機參數的關係。
因此產生了Forward、Backward…等等的副程式,以下述程式為例
使用者只需要呼叫前進副程式後執行Pause 1000後再呼叫停止副程
式,即可完成簡單的前進1秒後停止的動作。
透過本程式,使用者可自行組合成想要的移動路經並暸解副程式的
使用方式。
程式說明:
'模組名稱、代碼宣告 Peripheral mySer As ServoRunner8 @ 0 '設定伺服機控制模組參數名稱 '固定常數宣告 #DEFINE NormalSpeed_L 500 ‘設定左輪伺服機速度參數 #DEFINE NormalSpeed_R 500 ‘設定右輪伺服機速度參數
Sub Main() '主程式區塊 '執行前進動作 1 秒後停止。 Forward() '呼叫前進副程式 Pause 1000 '等待 1 秒 Stop() '停止 End Sub
'副程式區塊 Sub Stop() '停止 mySer.SetPosAndRun(7,1500) mySer.SetPosAndRun(6,1500) End Sub
Sub Forward() '前進 mySer.SetPosAndRun(7,1500 + NormalSpeed_L) mySer.SetPosAndRun(6,1500 – NormalSpeed_R) End Sub Sub Backward() '後退 mySer.SetPosAndRun(7,1500 - NormalSpeed_L) mySer.SetPosAndRun(6,1500 + NormalSpeed_R) End Sub
Sub Rotate_R() '右旋 mySer.SetPosAndRun(7,1500 + NormalSpeed_L) mySer.SetPosAndRun(6,1500 + NormalSpeed_R) End Sub
Sub Rotate_L() '左旋 mySer.SetPosAndRun(7,1500 - NormalSpeed_L) mySer.SetPosAndRun(6,1500 – NormalSpeed_R) End Sub
Sub Turn_R() '右轉 mySer.SetPosAndRun(7,1500 + NormalSpeed_L) mySer.SetPosAndRun(6,1500 ) End Sub
Sub Turn_L() '左轉 mySer.SetPosAndRun(7,1500 ) mySer.SetPosAndRun(6,1500 – NormalSpeed_R) End Sub 補充說明:
(1)由於每顆伺服機的動作會有少許的差異,因此將左右輪的參
數分開設定。
(2) #DEFINE NormalSpeed_L 500 ‘設定左輪伺服機速度參數
#DEFINE NormalSpeed_R 500 ‘設定右輪伺服機速度參數
上述2行程式可將 NormalSpeed_L、NormalSpeed_R分別
定義代表的數值。也就是說定義過後,只要程式內容有
NormalSpeed_L、NormalSpeed_R時代表數值500。
(3) 副程式的呼叫方式,只需於主程式中輸入副程式的名稱即可。
|
課程目錄 聯 絡 我 們
|