練習 2:讓機器人動起來

實驗目的:
 
    經由練習 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,1500NormalSpeed_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,1500NormalSpeed_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)  副程式的呼叫方式,只需於主程式中輸入副程式的名稱即可。
 
Comments