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.