描述
同時恢復多顆已暫停的伺服機,讓伺服機繼續往目標位置轉動。呼叫此函式後,每一個伺服機的的行為和呼叫 resume() 的行為相同。
語法
aiservoMultiResume()
aiservoMultiResume(servo1)
aiservoMultiResume(servo1, servo2)
aiservoMultiResume(servo1, servo2, … , servo64)
參數
servo1 ~ servo64
:AIServo
型別的變數。
您可以輸入 1 ~ 64 個 Servo 型別的參數,指定要啟動的伺服機,或者不輸入任何參數;當沒有輸入參數的時候,代表要恢復所有暫停的伺服機。
回傳
無
範例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <AIServo86.h>
AIServoPort(ROBOTIS, AX12) bus;
AIServo servo0;
AIServo servo1;
void setup()
{
bus.begin(Serial1, 1000000);
servo0.attach(bus, 6);
servo1.attach(bus, 10);
servo0.setPosition(150);
servo1.setPosition(160);
aiservoMultiRun(servo0, servo1); // 啟動 servo0、servo1 伺服機
delay(500);
}
void loop()
{
servo0.setPosition(90, 2000);
servo1.setPosition(200, 2000);
aiservoMultiRun(servo0, servo1); // 使 servo0、servo1 往新目標位置轉動
delay(1000);
aiservoMultiPause(servo0, servo1); // 暫停所有伺服機
delay(3000); // 暫停 3 秒
aiservoMultiResume(servo0, servo1); // 所有伺服機恢復轉動
while (isAIServoMultiMoving() == true ); // 等待所有伺服機轉到目標位置
servo0.setPosition(150, 2000);
servo1.setPosition(160, 2000);
aiservoMultiRun(servo0, servo1); // 使 servo0、servo1 往新目標位置轉動
while (isAIServoMultiMoving() == true ); // 等待所有伺服機轉到目標位置
}
|
See also
- attach()
- setPosition()
- run()
- aiservoMultiRun()
- isAIServoMultiMoving()
86Duino 參考資料中的文字修改自 Arduino 參考資料,並根據 知識共享署名-許可證方式共享 3.0 授權相同。參考資料中的程式碼範例已發佈到公共領域。