positions[]

描述

储存所有伺服机位置的列表。 此列表中存放所有 channel 的 AIServo 位置,其值可由使用者自行指定。 position[] 中第一个元素值,代表第一 channel 的 AIServo 位置,第二个元素值代表第二 channel 的 AIServo 位置,依此类推。 您可以呼叫 attach() 来指定 positions[] 对应到的 AIServo ID。

语法

aiservoframerobotis.positions[channel]

参数

aiservoframerobotisAIServoFrameRobotis 型别的变数。

channel:范围:0 ~ 63,其值代表第 n channel 的 Servo。 假如您是使用 load() 读取 RoboPlus Motion 帧档案,那么 channel 数将会固定是 26 组,第 0 至第 25 组 channel 的 Servo 角度分别存放在 positions[0]、positions[1] … positions[25],第 26 组以后 positions[] 的内容皆为 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

- setPostions


函式库参考主页面

86Duino 参考资料中的文字修改自 Arduino 参考资料,并根据 知识共享署名-许可证方式共享 3.0 授权相同。参考资料中的程式码范例已发布到公共领域。