Servo库允许大多数Arduino开发板(如Arduino Uno)同时控制12个舵机;对于Arduino Mega,您可以用Servo库同时控制48个舵机。
Servo库函数使用语法及说明见下表:
注意:使用Servo库可能会影响Arduino开发板的某些引脚的PWM功能
当使用了Servo库,UNO开发板的9号和10号引脚的PWM功能是无法使用的;Mega开发板上的引脚11和引脚12是要受到影响的。
实例程序如下:
#include<Servo.h>
Servo my_servo; //创建一个舵机对象
void Change_my_servo(int angle,int delay_time) //该算法可以控制舵机的运转速度
{
for(int i=my_servo.read();i != angle; )
{
if(i > angle) i--;
else i++;
my_servo.write(i);
delay(delay_time);
}
}
void my_servoInit() //舵机初始化
{
my_servo.attach(44);
my_servo.write(95);
}
void setup()
{
my_servoInit();
}
void loop() //注意观察舵机现象:括号里面的第二个值越小,舵机运转速度越快
{
Change_my_servo(100,10);
delay(1000);
Change_my_servo(10,5);
delay(1000);
}
总结:通常舵机需要的供电功率比较高,如果您需要控制1个以上的舵机,那么您必须使用单独的电源为舵机供电,而不能使用Arduion开发板的+5V引脚,为1个以上的舵机供电。另外也请注意,如果使用独立电源为舵机供电,那么独立电源与Arduino必须共地(电源GND与Arduino的GND相互连接在一起)。
详情请关注亿航创客官方抖音账号:EhangGroup