Arduino小白教程第五弹 -- 舵机控制
原作者:Jane 授权转载这次要接触到舵机。舵机是一种电机,它使用一个反馈系统来控制电机的位置。可以很好掌握角度。
找到以下材料
[*]1× DFduino UNO R3
[*]1 × Micro Servo 9g
硬件连接
这个项目的连线很简单,只需按图10-1所示连接舵机三根线就可以了,连的时候注意线序,舵机引出三根线。一根是红色,连到+5V上。一根棕色(有些是黑的),连到GND。还有一根是黄色或者橘色,也有可能是白色的,连到数字引脚9。
输入代码
打开Arduino IDE,输入代码。
#include <Servo.h> // 声明调用Servo.h库
Servo myservo; // 创建一个舵机对象
int pos = 0; // 变量pos用来存储舵机位置
void setup() {
myservo.attach(9);// 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop() {
// 舵机从0°转到180°,每次增加1°
for(pos = 0; pos < 180; pos += 1){
myservo.write(pos); // 给舵机写入角度
delay(15); // 延时15ms让舵机转到指定位置
}
// 舵机从180°转回到0°,每次减小1°
for(pos = 180; pos>=1; pos-=1) {
myservo.write(pos); // 写角度到舵机
delay(15); // 延时15ms让舵机转到指定位置
}
}
程序中还涉及了库中以下两个函数
设置引脚:
myservo.attach(pin);
选用任意的数字引脚作为attach(pin)函数中的pin脚。
读取角度:
myservo.write(pos);
该函数可以很方便的读到舵机当前角度值。
tutorials // 声明调用Servo.h库
#include <Servo.h>
Servo myservo; // 创建一个舵机对象
int pos = 0; // 变量pos用来存储舵机位置
void setup()
{
myservo.attach(9); // 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop()
{
// 舵机从0°转到180°,每次增加1°
for(pos = 0; pos < 180; pos += 1)
{
myservo.write(pos); // 给舵机写入角度
delay(15); // 延时15ms让舵机转到指定位置
}
// 舵机从180°转回到0°,每次减小1°
for(pos = 180; pos>=1; pos-=1)
{
myservo.write(pos); // 写角度到舵机
delay(15); // 延时15ms让舵机转到指定位置
}
} awnuxcvbn 发表于 2014-1-25 21:08
这段代码不是一样的吗? awnuxcvbn 发表于 2014-1-25 21:08
发现了 原来的代码第一行 少了#include <Servo.h> 这个零件哪能同意买最好差不多都有 这个零件哪能同意买最好差不多都有 这个零件哪能同意买最好差不多都有 无畏青春 发表于 2014-5-23 14:46
这个零件哪能同意买最好差不多都有
你可以淘宝搜arduino入门套件之类的,不过我推荐https://www.dfrobot.com.cn/goods-149.html 都有配套的文字和视频教程,碰到问题也可以到论坛里请教 原来arduino操作舵机这么简单,节省好多时间啊。 怎么加入按键控制? 不错 读取角度:
myservo.write(pos);
该函数可以很方便的读到舵机当前角度值。
是不是写错了。write()怎么是读取呢?
页:
[1]