isServoMultiMoving()

描述

检查多颗伺服机是否皆已转动到目标位置。

语法


isServoMultiMoving()
isServoMultiMoving(servo1)
isServoMultiMoving(servo1, servo2)
isServoMultiMoving(servo1, servo2, ... , servo45)

参数

servo1 ~ servo45Servo 型别的变数。

您可以输入 1 ~ 45 个 Servo 型别的参数,指定要检查的多颗伺服机;您也可以不输入任何参数,当没有输入参数的时候,代表要检查所有运作中的伺服机。

回传

若至少还有一颗伺服机正在转动,则回传 true;当所有指定的伺服机皆已到达目标位置,或处于暂停、停止、释放的状态,则回传 false。

范例

#include <Servo86.h> 
 
Servo servo1;
Servo servo2;
 
void setup() 
{ 
  servo1.attach(6); servo2.attach(10); // 使用 pin 6、10
  servo1.setPosition(1500);
  servo2.setPosition(1500);
  servoMultiRun(servo1, servo2); // 将 servo1、servo2 一起转到初始位置
} 
 
void loop() 
{
  servo1.setPosition(2000, 2000);
  servo2.setPosition(1800, 2000);
  servoMultiRun(servo1, servo2); // 使 servo1 和 servo2 同时往新目标角度转动
  while(isServoMultiMoving()  == true); // 等待所有伺服机都转到目标位置
  servo1.setPosition(1700, 2000);
  servo2.setPosition(1600, 2000);
  servoMultiRun(); // 使 servo1、servo2 同时往新目标角度转动
  while(isServoMultiMoving()  == true); // 等待所有伺服机都转到目标位置
} 

See also

servoMultiRun()


函式库参考主页面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.