原作者:Jane 授权转载
这次要接触到舵机。舵机是一种电机,它使用一个反馈系统来控制电机的位置。可以很好掌握角度。
找到以下材料 - 1× DFduino UNO R3
- 1 × Micro Servo 9g
硬件连接
这个项目的连线很简单,只需按图10-1所示连接舵机三根线就可以了,连的时候注意线序,舵机引出三根线。一根是红色,连到+5V上。一根棕色(有些是黑的),连到GND。还有一根是黄色或者橘色,也有可能是白色的,连到数字引脚9。
输入代码
- #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);
该函数可以很方便的读到舵机当前角度值。
|