问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Arduino Uno驱动舵机

创作时间:
作者:
@小白创作中心

使用Arduino Uno驱动舵机

引用
1
来源
1.
https://lingshunlab.com/book/arduino/arduino-uno-drive-servo

实例效果

使用Arduino Uno驱动一个9克舵机,实现从0度转到90度,然后从90度又转回0度,如此不断往复。

元件说明

技术参数:

  • 产品尺寸:323012mm
  • 工作扭矩:1.6kg·cm(4.8V)
  • 使用温度:-30至+60摄氏度
  • 死区设定:5微秒
  • 工作电压:3.5V-6V
  • 插头类型:JR、FUTABA通用
  • 转动角度:180度
  • 结构材质:塑料齿
  • 适用范围:固定翼、直升机kt、滑翔、小型机器人机械手等模型

引脚说明

引脚
PIN / IO
颜色
地线(GND)
棕色或黑色
电源线(VCC)
红色
信号线(PWM)
橙色或白色

Bom表

名称
数量
Arduino Uno
x1
9克舵机
x1
跳线(杜邦线)
若干

接线方式

注意:舵机接收的是PWM(Pulse Width Modulation)信号,也就是脉宽调制。而在Arduino Uno开发版上,并不是所有引脚都具备PWM功能,只有引脚旁边带有「~」符号才有,例如引脚3、5、6、9、10、11。然而不同的开发板的PWM引脚定义也是不一样的,具体请查阅对应开发板的资料。

程序代码

图形化编程块

本次图形化编程使用的是Tinkercad平台

文本编程代码

// 加载 舵机 库
#include <Servo.h> 
// 创建一个名为 servo_9 的 舵机实例 (名称可随你喜欢命名)
Servo servo_9;
// 初始化程序,在最开始时运行,只运行一次
void setup()
{
  // 使用实例方法 .attach(pin, min, max) 进行配置
  // pin: 舵机所连接的引脚号
  // min: (可选)脉冲宽度(以微秒为单位),对应于舵机上的最小(0度)角度(默认为544) 
  // max: (可选)脉冲宽度(以微秒为单位),对应于伺服器上的最大(180度)角度(默认为2400)
  //           (pin, min, max)
  servo_9.attach(9, 500, 2500);
}
// 主体程序,不断循环
void loop()
{
  while (1 == 1) {
    servo_9.write(0); // 实例 servo_9 的 舵机 转到0度
    delay(1000); // 等待 1000 毫秒
    servo_9.write(90); // 实例 servo_9 的 舵机 转到90度
    delay(1000); // 等待 1000 毫秒
  }
}  

相关连接

  • Arduino使用舵机的第一篇,演示接线使用 Arduino Uno 驱动舵机
  • Arduino Uno 使用串口 控制舵机角度
  • Arduino Uno 使用电位器控制舵机角度
  • Arduino Uno 同时控制多路舵机
  • 串口的简单应用Arduino 串口发送与接收应用小实例
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号