setPostions()

描述

將代表 Frame 的目標位置列表分別指定給各伺服機。

語法

asiervoframerobotis.setPositions() asiervoframerobotis.setPositions(servo1) asiervoframerobotis.setPositions(servo1, servo2) asiervoframerobotis.setPositions(servo1, servo2, ... , servo64) asiervoframerobotis.setPositions(time) asiervoframerobotis.setPositions(time, servo1) asiervoframerobotis.setPositions(time, servo1, servo2) asiervoframerobotis.setPositions(time, servo1, servo2, ... , servo64)

參數

asiervoframerobotisAIServoFrameRobotis 型別的變數。

servo1 ~ servo64AIServo 型別的變數。

time(可選):伺服機轉到目標位置所需的時間,若沒有設定值或設定值為 0,代表伺服機將會以全速轉動。

回傳

範例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include <AIServo86.h>

  

AIServoPort(ROBOTIS, AX12) bus;

AIServo myservo0;

AIServo myservo1;

AIServo myservo2;

AIServoFrameRobotis myframe; // 宣告一個 AIServoFrameRobotis 物件

  

void setup()

{

  bus.begin(Serial1, 1000000);

  myservo0.attach(bus, 9);

  myservo1.attach(bus, 11);

  myservo2.attach(bus, 5);

  myframe.positions[0] = 180; // 設定 Frame 內容

  myframe.positions[1] = 130;

  myframe.positions[2] = 200;

  // 設定以 500ms 的時間將伺服機轉動到 Frame 指定的位置 (myservo0 轉動到 position[0]

  // 位置, myservo1 轉動到 position[1] 位置, myservo2 轉動到 position[2] 位置)

  myframe.setPositions(500, myservo0 , myservo1, myservo2);

  aiservoMultiRun(); // 根據設定值轉動所有伺服機

}

  

void loop() {}

See also

- positions[]
- playPositions()


函式庫參考主頁面

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