描述
同时检查多颗伺服机状态。
语法
isAIServoMultiMoving()
isAIServoMultiMoving(servo1)
isAIServoMultiMoving(servo1, servo2)
isAIServoMultiMoving(servo1, servo2, … , servo64)
参数
servo1 ~ servo64:AIServo 型别的变数。
您可以输入 1 ~ 64 个 Servo 型别的参数,指定要启动的伺服机,或者不输入任何参数;当没有输入参数的时候,代表要检查所有伺服机状态。
回传
至少有一个伺服机正在转动,则回传 true,当所有伺服机状态为暂停、停止、释放或到达目标位置,则回传 false。
范例
|
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(Serial3, 1000000);
servo1.attach(bus, 9); servo2.attach(bus, 10);
servo1.setPosition(150);
servo2.setPosition(150);
aiservoMultiRun(servo1, servo2); // 将 servo1、servo2 转到 150 度
delay(1000);
}
void loop()
{
servo1.setPosition(280, 2000);
servo2.setPosition(80, 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()
- servoMultiRun()
86Duino 参考资料中的文字修改自 Arduino 参考资料,并根据 知识共享署名-许可证方式共享 3.0 授权相同。参考资料中的程式码范例已发布到公共领域。