玩转树莓派arduino玩转Arduino

Arduino基础入门篇28—舵机控制

2019-03-22  本文已影响0人  TonyCode

舵机是一种位置「角度」伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具、航模、机器人中已经得到普遍使用。舵机是一种俗称,其实是一种伺服马达。本篇通过官方驱动库来实现舵机控制。

1. 舵机介绍

内部结构 PWM控制 控制线

由于Arduino的驱动能力有限,当需要控制多个舵机时,需要外接电源以及使用专用的舵机控制板。

舵机控制板

2. 实验材料

3. 实验步骤

1. 根据原理图搭建电路。

线路连接非常简单,舵机红色线接开发板5V,棕色线接开发板GND,橙色信号线接开发板数字引脚9。

实验原理图如下图所示:

实验原理图

实物连接图如下图所示:

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

#include <Servo.h>

Servo myservo;  // 定义Servo对象来控制
int pos = 0;    // 角度存储变量

void setup() {
  myservo.attach(9);  // 控制线连接数字9
}

void loop() {
  for (pos = 0; pos <= 180; pos ++) { // 0°到180°
    // in steps of 1 degree
    myservo.write(pos);              // 舵机角度写入
    delay(5);                       // 等待转动到指定角度
  }
  for (pos = 180; pos >= 0; pos --) { // 从180°到0°
    myservo.write(pos);              // 舵机角度写入
    delay(5);                       // 等待转动到指定角度
  }
}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

程序下载

4. 实验现象

舵机在0°和180°间不断转动。

实验现象

5. 库函数介绍

用Arduino控制舵机一般有两种方法:

  1. 通过Arduino的普通数字引脚产生占空比不同的方波,模拟产生PWM信号进行舵机控制。
  2. 直接利用Arduino自带的Servo库进行控制,但是自带库只支持数字引脚9和10接口。

Servo库常用函数:

上一篇下一篇

猜你喜欢

热点阅读