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.