控制舵机
大约 1 分钟
简介
本章介绍使用 Air001 开发板在 Arduino 平台上实现驱动舵机的方法。
提示
SG90舵机是一种位置(角度)伺服的驱动器,适用于需要角度不断变化并可以保持的控制系统。
硬件准备
按☁️ Air001开发板入门,将Air001
和DAPLink调试器
使用排针排母连接。
SG90舵机一个,air001开发板一块,接线示意如下:
SG90 | air001 |
---|---|
棕色 | 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°两次。
输出结果
舵机旋转