跳至主要內容

控制舵机

大约 1 分钟

简介

本章介绍使用 Air001 开发板在 Arduino 平台上实现驱动舵机的方法。

提示

SG90舵机是一种位置(角度)伺服的驱动器,适用于需要角度不断变化并可以保持的控制系统。

硬件准备

☁️ Air001开发板入门,将Air001DAPLink调试器使用排针排母连接。

SG90舵机一个,air001开发板一块,接线示意如下:

SG90air001
棕色GND
红色3.3V
黄色PWM

提示

你也可以使用其他可通过PWM控制的舵机型号。

软件部分

提示

Servo库为 AirMCU 软件包自带

代码如下

开头通过#include调用Servo包,并实例化对象my_servo,后续仅需调用my_servo对象即可启动舵机,

#include <Servo.h>

Servo my_servo;

setup()函数中设置my_servo使用引脚PB_3来输出PWM:

void setup()
{
  my_servo.attach(PB_3);
}

loop()函数中添加如下代码:

void loop()
{
  my_servo.write(0);
  delay(1000);
  my_servo.write(90);
  delay(1000);
  my_servo.write(180);
  delay(1000);
  my_servo.write(90);
  delay(1000);
  my_servo.write(0);
  delay(1000);
}
  • 使用write方法,设置舵机旋转。其中变量即为旋转角度。
  • 使用delay函数延时1秒。

注意

write方法中传入的变量为绝对角度。
本例中观察到的现象应为:顺时针旋转90°两次、再逆时针旋转90°两次。

输出结果

舵机旋转