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.