描述
同时恢复多颗已暂停的伺服机,让伺服机继续往目标位置转动。呼叫此函式后,每一个伺服机的的行为和呼叫 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 授权相同。参考资料中的程式码范例已发布到公共领域。