offsets[]
描述
存放機器人各軸伺服機偏移量微調值的整數陣列,每個陣列元素數值範圍為 -256 ~ 256,單位為 us。
若 ServoOffset 在初始化時,沒有指定載入偏移量微調值檔案,則使用者可改由直接設定此陣列的元素值來設定偏移量微調值。
語法
myoffset.offsets[channel]
參數
myoffset:ServoOffset 型別的物件。
channel:指定陣列元素,範圍為 0 ~ 44。第 n 個元素值代表要指定給第 n 個 Servo 的位置,請見下面範例說明。(注意:在 86Duino One 上所有陣列元素都有效;在86Duino EduCake 上只有 0 ~ 25 的範圍有效;在 86Duino Zero 上只有 0 ~ 16 的範圍有效。)
回傳
無
範例
#include <Servo86.h>
Servo myservo0; // 第 0 個 Servo
Servo myservo1; // 第 1 個 Servo
Servo myservo2; // 第 2 個 Servo
ServoFrame myframe; // 宣告一個動作幀物件
ServoOffset myoffset; // 宣告一個伺服機偏移量物件
void setup()
{
myservo0.attach(9);
myservo1.attach(11);
myservo2.attach(5);
myoffset.offsets[0] = -200; // 設定各 Servo 的偏移量微調值
myoffset.offsets[1] = 50;
myoffset.offsets[2] = -100;
// 將偏移量微調值設定給各伺服機,即令:
// myservo0 的偏移量微調值為 offsets[0],
// myservo1 的偏移量微調值為 offsets[1],
// myservo2 的偏移量微調值為 offsets[2]。
myoffset.setOffsets(myservo0, myservo1, myservo2);
myframe.positions[0] = 1800; // 設定動作幀內容
myframe.positions[1] = 1300;
myframe.positions[2] = 2000;
// 設定以 500ms 的時間將伺服機由當前位置轉動到 myframe 指定的位置
myframe.setPositions(500, myservo0 , myservo1, myservo2);
// 命令所有伺服機開始轉動 (將自動以先前設定的偏移量微調值修正各伺服機位置)
servoMultiRun();
}
void loop() {}
See also
The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.
