Articles Posted by the Author:

  • resume()

    resume()

    描述 恢复暂停中的伺服机,使伺服机继续往目标角度转动。 语法 servo.resume() 参数 servo:AIServo 型别的变数。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial3, 1000000);   myservo.attach(bus, 3);   myservo.write(150);  // 将伺服机转到 150 度的位置   delay(100); […]


  • pause()

    pause()

    描述 暂停转动中的伺服机。 请注意,暂停后的伺服机仍会出力,请勿用手大力转动,否则容易造成伺服机损坏。 若要使暂停的伺服机继续转动,请呼叫 resume()。 语法 servo.pause() 参数 servo:AIServo 型别的变数。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial3, 1000000);   myservo.attach(bus, 3);   myservo.write(150);  // 将伺服机转到 […]


  • run()

    run()

    描述 启动伺服机(即伺服机开始出力)。 假如您之前已经有呼叫 setPosition() 设定目标角度,伺服机会开始转动至您设定的角度。 请注意,由于此函式会让伺服机立即出力,请避免以手大力转动伺服机,以免受伤或损坏伺服机。 语法 servo.run() 参数 servo:AIServo 型别的变数。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial3, 1000000);   myservo.attach(bus, 3);   myservo.setPosition(200); // 设定以最快速度转动到 200 度   myservo.run(); // […]


  • setRealTimeMixing()

    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 […]


  • setVelocity()

    setVelocity()

    描述 设定伺服机的转速。 请注意,此函式只有在尚未设定转动时间的情况下有效,若您已经呼叫 setPosition() 设定了转动时间,此函式设定的转速将不会有效果。 语法 servo.setVelocity(value) 参数 servo:AIServo 型别的变数。 value:伺服机的转速,单位为 度/秒,若设定的速度超越伺服机极限,伺服器将以最快速度转动。若输入值为 0 或 0.0,代表伺服机将会以最快的速度转动。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial1, 1000000);   myservo.attach(bus, 9);   myservo.write(150); // 将伺服机转动到 150 度   myservo.setVelocity(100); […]


  • setPosition()

    setPosition()

    描述 设定伺服机的目标角度。 语法 servo.setPosition(position) servo.setPosition(position, time) 参数 servo:AIServo 型别的变数。 position:浮点数型别的目标角度,例如 90.0,目标位置单位为"度",即伺服机的 90 度。 time(可选):转到目标角度要花费的时间,若没有输入值或输入值为 0,代表伺服机将会以最快的速度转动。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial1, 1000000);   myservo.attach(bus, 9);   myservo.setPosition(150); // 设定以最快速度转动到 150 度 […]


  • setOffset()

    setOffset()

    描述 设定伺服机的偏移角度。 此函式可用来微调伺服机初始化后的角度,一旦设定了偏移值,往后函式库在计算伺服机目标角度时,会自动加入该偏移值来计算实际的目标角度。 语法 servo.setOffset(value) 参数 servo:AIServo 型别的变数。 value:以浮点数表示之偏移植,单位:度。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <AIServo86.h>    AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;    void setup() {   bus.begin(Serial1, 1000000);   myservo.attach(bus, 9);   myservo.setOffset(-5); // 设定 -5 度的微调角度   myservo.write(150); // 将伺服机转动到 150 度 (实际上是 150 - […]


  • read()

    read()

    描述 读取伺服机角度。 语法 servo.read() 参数 servo:AIServo 型别的变数。 回传 伺服机目前的角度,如果伺服机尚未出力,回传值为 -1。 (单位:度) 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <AIServo86.h>   AIServoPort(ROBOTIS, AX12) bus; AIServo myservo; double position;   void setup() {   bus.begin(Serial1, 1000000);   myservo.attach(bus, 9);   myservo.write(90.0);  // 让伺服机转到 90 度   delay(100); // 延迟 […]


  • detach()

    detach()

    描述 卸载已 attach() 的 AIServo。 语法 servo.detach() 参数 servo:AIServo 型别的变数。 回传 无 See also - attach()  - attached() 函式库参考主页面 86Duino 参考资料中的文字修改自 Arduino 参考资料,并根据 知识共享署名-许可证方式共享 3.0 授权相同。参考资料中的程式码范例已发布到公共领域。


  • attach()

    attach()

    描述 挂载 AIServo。 语法 servo.attach(bus, ID) 参数 servo:AIServo 型别的变数。 bus:AIServoPort(Vendor, Servo) 宣告产生之物件。 ID:伺服机之 ID。 回传 无 范例 1 2 3 4 5 6 7 8 9 10 11 12 #include <AIServo86.h>   AIServoPort(ROBOTIS, AX12) bus; AIServo myservo;   void setup() {   bus.begin(Serial1, 1000000);   myservo.attach(bus, 9); // 将 myservo 挂载至 bus,且 myservo 的 ID 为 9 […]