aiservoMultiRun()

描述

同時啟動多顆伺服機。呼叫此函式後,每一個伺服機的的行為和呼叫 run() 的行為相同。

語法


aiservoMultiRun()
aiservoMultiRun(servo1)
aiservoMultiRun(servo1, servo2)
aiservoMultiRun(servo1, servo2, ... , servo64)

參數

servo1 ~ servo64AIServo 型別的變數。

您可以輸入 1 ~ 64 個 Servo 型別的參數,指定要啟動的伺服機,或者不輸入任何參數;當此函式沒有輸入參數的時候,代表要啟動所有已經 attach() 的伺服機。

回傳

範例

#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()


函式庫參考主頁面

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