
Arduino自带的Servo函数及其语句,先来介绍一下舵机函数的几个常用语句吧。
1、attach(接口)——设定舵机的接口,只有9或10接口可利用。
2、write(角度)——用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°。
3、read()——用于读取舵机角度的语句,可理解为读取最后一条write()命令中的值。
4、attached()——判断舵机参数是否已发送到舵机所在接口。
5、detach()——使舵机与其接口分离,该接口(9或10)可继续被用作PWM接口。
注:以上语句的书写格式均为“舵机变量名.具体语句()”例如:myservo.attach(9)。
下面就来具体分析一个小程序。
#include <Servo.h>//定义头文件,这里有一点要注意,可以直接在
Arduino软件菜单栏单击Sketch>Importlibrary>Servo,调用Servo函数,也可以直接输入#include <Servo.h>,但是在输入时要注意在#include 与<Servo.h>之间要有空格,否则编译时会报错。
Servo myservo//定义舵机变量名
void setup()
{
myservo.attach(9)//定义舵机接口,9或10
}
void loop()
{
myservo.write(90)//设置舵机旋转的角度
}
用PWM控制舵机。
PWM脚有3 5 6 9 10 11六个。
舵机正负接电源,信号
线接这六个PWM脚的一个。
图是UNO的,MINI的一样。
#include <Servo.h>
Servo myservo //创建一个舵机控制对象
// 使用Servo类最多可以控制8个舵机
int pos = 0 // 该变量用与存储舵机角度位置
/*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void setup()
{
myservo.attach(9) // 该舵机由arduino第九脚控制
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void loop()
{
for(pos = 0pos <180pos += 1) // 从0度到180度运动
{ // 每次步进一度
myservo.write(pos) // 指定舵机转向的角度
delay(15) // 等待15ms让舵机到达指定位置
}
for(pos = 180pos>=1pos-=1) //从180度到0度运动
{
myservo.write(pos) // 指定舵机转向的角度
delay(15) // 等待15ms让舵机到达指定位置
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)