aiservoMultiPause()

描述

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

語法

aiservoMultiPause()
aiservoMultiPause(servo1)
aiservoMultiPause(servo1servo2)
aiservoMultiPause(servo1servo2, … , servo64)

參數

servo1 ~ servo64AIServo 型別的變數。

您可以輸入 1 ~ 64 個 AIServo 型別的參數,指定要啟動的伺服機,或者不輸入任何參數;當沒有輸入參數的時候,代表要暫停所有運作中的伺服機。

回傳

範例

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()
- aiservoMultiResume()
- isAIServoMultiMoving()


函式庫參考主頁面

86Duino 參考資料中的文字修改自 Arduino 參考資料,並根據 知識共享署名-許可證方式共享 3.0 授權相同。參考資料中的程式碼範例已發佈到公共領域。