setRealTimeMixing()

説明

サーボのオフセット角度を動的に設定します。サーボの動作中、この関数で設定されたオフセット値はサーボの目標角度に即座に加算され、元の目標角度から正または負の偏差が生じます。この関数により、センサー(ジャイロスコープまたは加速度センサー)を搭載したロボットは、それらのセンサーからのフィードバックを受け取り、そのフィードバックをロボットの動作にリアルタイムで反映することができます。

構文

servo.setRealTimeMixing(value)

パラメーター

servo: AIServo 型の変数。

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);

参照

attach()


ライブラリリファレンスホーム

86Duino リファレンス資料のテキストは、Arduino リファレンス資料 から改変されており、Creative Commons Attribution-Share Alike 3.0 License に基づいてライセンスされています。リファレンス資料内のコード例はパブリックドメインとして公開されています。