描述
同時啟動多顆伺服機。呼叫此函式後,每一個伺服機的的行為和呼叫 run() 的行為相同。
語法
aiservoMultiRun()
aiservoMultiRun(servo1)
aiservoMultiRun(servo1, servo2)
aiservoMultiRun(servo1, servo2, … , servo64)
參數
servo1 ~ servo64
:AIServo
型別的變數。
您可以輸入 1 ~ 64 個 Servo 型別的參數,指定要啟動的伺服機,或者不輸入任何參數;當此函式沒有輸入參數的時候,代表要啟動所有已經 attach() 的伺服機。
回傳
無
範例
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
|
#include <AIServo86.h>
AIServoPort(ROBOTIS, AX12) bus;
AIServo servo1;
AIServo servo2;
void setup()
{
bus.begin(Serial1, 1000000);
servo1.attach(bus, 6); servo2.attach(bus, 10); // 使用 pin 6、10
servo1.setPosition(150);
servo2.setPosition(150);
aiservoMultiRun(servo1, servo2); // 將 servo1、servo2 轉到初始位置
delay(500);
}
void loop()
{
servo1.setPosition(250, 2000);
servo2.setPosition(50, 2000);
aiservoMultiRun(servo1, servo2); // 使 servo1 和 servo2 同時往新目標角度轉動
while (isAIServoMultiMoving() == true ); // 等待所有伺服機都轉到目標位置
servo1.setPosition(170, 2000);
servo2.setPosition(160, 2000);
aiservoMultiRun(); // 使 servo1、servo2 同時往新目標角度轉動
while (isAIServoMultiMoving() == true ); // 等待所有伺服機都轉到目標位置
}
|
See also
- attach()
- setPosition()
- run()
86Duino 參考資料中的文字修改自 Arduino 參考資料,並根據 知識共享署名-許可證方式共享 3.0 授權相同。參考資料中的程式碼範例已發佈到公共領域。