servoMultiRun()
描述
同时命令多颗伺服机转动至它们的目标位置。(此函式行为等同对每一颗指定的伺服机呼叫 run()。)
呼叫 servoMultiRun() 后,您的程式可以去做其他事情,转动伺服机的工作会在背景执行,如果想知道伺服机是否转到目标位置,可以呼叫 isServoMultiMoving() 来检查。
语法
servoMultiRun()
servoMultiRun(servo1)
servoMultiRun(servo1, servo2)
servoMultiRun(servo1, servo2, ... , servo45)
参数
servo1 ~ servo45
:Servo
型别的变数。
您可以输入 1 ~ 45 个 Servo 型别的参数,指定要一起转动的多颗伺服机;您也可以不输入任何参数,当没有输入参数的时候,代表所有已经 attach() 的伺服机都要同时转动。
回传
范例
#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()
- isServoMultiMoving()
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.