servoBeginSplineMotion()

描述

開啟伺服機的曲線運動模式。呼叫此函式後,後續使用 playPositions() 來播放動作,伺服機的運動軌跡會自動轉為指定的曲線軌跡(預設是線性內插)。大部分情況下能減少 Frame 轉換時產生的震動,讓機器人動作表現較為柔和。

語法


servoBeginSplineMotion(mode, Frames, frameTime, numFrames)

參數

modeint 型別的變數。

您可以輸入兩種曲線模式:

      NATURAL_CUBIC:該曲線會讓通過每個 Frame 的速度和加速度一樣
      CONSTRAINED_CUBIC:該曲線會讓通過每個 Frame 的速度一樣

modeint 型別的變數。

回傳

範例

#include <Servo86.h> 
 
Servo servo1;
Servo servo2;
 
void setup() 
{ 
  servo1.attach(6); servo2.attach(10); // 使用 pin 6、10
  servo1.setPosition(1500);
  servo2.setPosition(1500);
  servoMultiRun(servo1, servo2); // 將 servo1、servo2 轉到初始位置
} 
 
void loop() 
{
  servo1.setPosition(2000, 2000);
  servo2.setPosition(1800, 2000);
  servoMultiRun(servo1, servo2); // 使 servo1 和 servo2 同時往新目標角度轉動
  while(isServoMultiMoving()  == true); // 等待所有伺服機都轉到目標位置
  servo1.setPosition(1700, 2000);
  servo2.setPosition(1600, 2000);
  servoMultiRun(); // 使 servo1、servo2 同時往新目標角度轉動
  while(isServoMultiMoving()  == true); // 等待所有伺服機都轉到目標位置
} 

See also

attach()
setPosition()
run()


函式庫參考主頁面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.