setRealTimeMixing()

描述

动态设定伺服机的偏移角度。 当伺服机正在运转时,用此函式设定的偏移值会即时加入伺服机目标角度的运算,让原来的目标角度产生正、负偏差。此函式可让一些身上带有感测器(陀螺仪或加速度计)的机器人,用来接收其回馈值,使回馈值能即时反应在机器人的动作中。

语法

servo.setRealTimeMixing(value)

参数

servoAIServo 型别的变数。

setRealTimeMixing:偏移角度,单位:度。

回传

范例

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

33

#include <AIServo86.h>

 

AIServoPort(ROBOTIS, AX12) bus;

AIServo myservo;

unsigned long _time = 0L;

 

void setup()

{

  bus.begin(Serial3, 1000000);

  myservo.attach(bus, 3);

}

 

void loop()

{

  myservo.setPosition(300); // 设定目标角度:300 度

  myservo.run(); // 启动伺服机

  delay(1500);

  double i = -1;

  _time = millis();

  myservo.setPosition(125, 3000); // 设定目标角度:125 度,花费时间:3 秒

  myservo.run(); // 启动伺服机

  while(myservo.isMoving() == true)

  {

    if((millis() - _time) < 1000L)

    {

      i = i*2;

      if ( i < -100)

        i = -1;

      myservo.setRealTimeMixing(i);

    }

  }

  while(1);

See also

attach()


函式库参考主页面

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