1、硬件部分
舵机是一种电机,它使用一个反馈系统来控制电机的位置。可以很好掌握电机角度。大多数舵机是可以最大旋转180°的。也有一些能转更大角度,甚至360°。舵机比较多的用于对角度有要求的场合,比如摄像头,智能小车前置探测器,需要在某个范围内进行监测的移动平台。又或者把舵机放到玩具,让玩具动起来。还可以用多个舵机,做个小型机器人,舵机就可以作为机器人的关节部分。所以,舵机的用处很多。
Ardruino也提供了<Servo.h>库,让我们使用舵机变得更方便了。
先从简单入手,套件这个9G小舵机是180°的,我们就让它在0~180°之间来回转动,此卡片与下一卡片共用一个图,此卡更简单,不需要接右侧的三根线和可调开关即可实现。
2、软件部分
实现效果是:舵机0~180°来回转动。
#include<Servo.h> //声明并调用一个Servo.h库
Servo myServo; //创建一个舵机对象
int pos = 0; //用来存储舵机的位置
void setup() {
//将引脚9上的舵机与声明的舵机对象连起来
//此处接线引脚只能接到支持PWM的脚上
myServo.attach(9);
}
void loop() {
for(pos=0;pos<180;pos++){ //舵机从0度到180度
myServo.write(pos); //给舵机写入角度并延迟15ms让舵机转到指定位置
delay(15);
}
for(pos = 180;pos>0;pos--){
myServo.write(pos);
delay(15);
}
}
3、核心回顾
#include <Servo.h> <pre name="code" class="cpp">Servo myServo; //创建一个舵机对象
这个库已经在Arduino IDE中了,可以打开Arduino-1.X.X/ libraries/ Servo/ Servo.h,这就是Servo库所在位置。
我们怎么理解库呢?和我们前面讲到的函数意义是差不多的。函数通常按一个个功能来划分的,就像一个个小的储物柜,函数名好比储物柜标签名。我们使用的时候,直接看标签就好了,方便我们使用。那库是什么呢?库则是把多个函数封装打包起来,好比大的储物柜,里面含有一个个小的储物柜。不知道这样说,你是不是能理解库和函数的关系?
同样,大储物柜也需要一个标签,这标签的学术名叫做“对象”。所以这里叫创建一个对象。就是我们接下来的这句语句: