舵机是一种旋转执行器或线性执行器,可以精确控制角度或线性位置,速度和加速度。它由一个电机和一个传感器组成,用于位置反馈。简单来说,它更像是一个可以用户指定的角度旋转的步进电机。 伺服电机有多种尺寸,具体取决于它们可以承载的负载。
目录
第一步 准备材料
- 舵机
- Arduino uno
- 若干杜邦线
第二步 原理介绍
Micro Servo是一款微型舵机,重量约为9g,可轻松承载高达200g的负载。它可以在大量的小型项目中使用,如机器人,自动鱼食喂食器等。
舵机的技术规格如下: 尺寸:23x11x29毫米 电压:3V至6V DC 重量:9克 速度:0.12秒/ 60(4.8V) 扭矩:1.6千克 – 厘米
舵机是一种精确控制角度的装置,您可以使用任何舵机的代码,硬件或库来控制这些舵机,主要是控制舵机的旋转角度。一般在Arduino里,舵机控制都有一个库,直接操作库,传入一定的角度值,舵机就会旋转到指定的角度。
第三步 电路连接
连接舵机非常简单: 红色线连接ardunio的VCC。 黑色或褐色线连接arduino的GND。 橙色或黄色是信号线连接arduino的数字引脚。图中连接的9号脚。
第四步 上传代码
Arduino IDE内置了两个不同功能的Servos测试示例。它们是旋钮和扫描。对于这个例子,我正在使用扫描程序测试舵机。
您还可以使用串行监视器中提供的输入更改代码并控制舵机。为此,您需要创建一个变量,该变量将保存您输入的角度值。
下面是简单的程序:
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
#include <Servo.h>
Servo myservo; // 创建舵机对象来控制伺服
//大多数电路板上都可以创建12个舵机对象
int pos = 0; // 用于存储舵机角度的变量
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
[/scu]
上面的程序需要使用舵机的库,下面是舵机库下载:
第五步 验证与测试
输出:
如果使用的是上面的简单程序,您将看到如上图所示的内容,舵机将以全方位的方式旋转。
如果要手动控制舵机,可以打开串行监视器并输入0到180之间的值。您可以看到舵机从参考点旋转到你想要的角度。
支持
赞赞
太好了
谢谢