0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

初学者适用!基于Arduino开发板控制SG90伺服电机方案

454398 来源:一板网 作者:风筝 2020-10-20 14:28 次阅读

本文非常适合初学者,因为它很容易上手,并且为他们建立有趣的项目(例如通常使用伺服器的机器人)奠定了基础。伺服电机(Servo Motor)是高转矩电机,由于其在机器人和其他一些应用中的通用性,轻松控制其旋转。伺服电机也称为舵机,它带有齿轮输出轴,该齿轮输出轴可以通过电气控制,每次旋转一度。为了控制起见,与普通的直流电动机不同,伺服电机通常在两个电源引脚(VCC和GND)的旁边有一个引脚,即信号引脚。信号引脚用于控制伺服电机,将其轴旋转至任何所需角度。

在本篇文章中,我们将使用非常流行的SG90伺服电机,我们的目标是将伺服电机从一个角度旋转到另一个角度。伺服电机的电流要求很高,因此当在Arduino上使用多个伺服电机时,需要将其电源连接到外部电源,因为Arduino可能无法提供伺服电机所需的电流,这一点很重要。由于在本文中我们将仅使用一个伺服电机,因此可以通过Arduino为它供电

所需的组件

● SG90伺服电机

● Arduino Uno开发板

● 连接导线

● 面包板

原理图

该项目的原理图非常简单,因为我们只需将伺服电机连接到Arduino,伺服电机通常具有三个引脚,其中包括VCC、GND和Signal引脚。Signal引脚是用于将控制信号从微控制器馈送到伺服电机,以使伺服电机旋转到特定角度。如下图所示,将伺服器连接至Arduino。

Signal引脚连接到Arduino的数字引脚8,因为它是PWM引脚。伺服方向以PWM脉冲方式从微控制器发送到伺服电机。完成所有连接后,我们现在就可以编写项目代码了。

代码

本篇文章的代码非常容易,这要归功于Arduino团队开发的非常全面而简洁的Serve.h库,该库便于在Arduino项目中使用伺服电机。该库使使用单个命令轻松地将伺服电机旋转到不同的角度。

该库是预先安装在Arduino IDE中的,无需我们下载和安装。首先,我们在代码中包含将要使用的库(在本例中为Serve.h库)。

#include

接下来,我们创建该库的一个对象,以在整个代码中用作控制伺服电机的参考。

Servo servo;

完成此操作后,我们开始void setup()函数。首先,将创建的伺服对象附加到微控制器的引脚D8,然后将伺服电机旋转至零度。

void setup() {

servo.attach(8);

servo.write(angle);

}

完成此操作后,我们就可以按照所需的任何方向移动伺服电机了,我们将在void loop()函数中执行此操作。通过使用Servo.h库,要将伺服电机旋转到所需的角度,我们要做的只是将所需角度作为参数传递给Servo.write()函数。为了证明这一点,使用了一个for循环将伺服电机沿一个方向旋转几个角度,并使用另一个循环将伺服器旋转回其起点。

void loop()

{

// scan from 0 to 180 degrees

for(angle = 10; angle < 180; angle++)  

{

servo.write(angle);

delay(15);

}

// now scan back from 180 to 0 degrees

for(angle = 180; angle > 10; angle--)

{

servo.write(angle);

delay(15);

}

}

以下是本文的完整代码:

#include

Servo servo;

int angle = 10;

void setup() {

servo.attach(8);

servo.write(angle);

}

void loop()

{

// scan from 0 to 180 degrees

for(angle = 10; angle < 180; angle++)  

{

servo.write(angle);

delay(15);

}

// now scan back from 180 to 0 degrees

for(angle = 180; angle > 10; angle--)

{

servo.write(angle);

delay(15);

}

}

效果演示

复制上面的代码,然后上传到Arduino开发板,对伺服电机进行设置,一段时间后,您应该看到伺服电机开始转动。

以上就是本文的所有内容,上面的代码可以通过多种方式扩展,以用于涉及伺服电机的不同项目中,您将使用伺服电机制造出什么很棒的东西?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 伺服电机
    +关注

    关注

    82

    文章

    1838

    浏览量

    56265
  • 开发板
    +关注

    关注

    25

    文章

    4428

    浏览量

    93962
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184826
  • SG90
    +关注

    关注

    0

    文章

    8

    浏览量

    11468
收藏 人收藏

    评论

    相关推荐

    种草一块国产FPGA开发板,不用烧录器,一根TypeC线即插即用,盘古PGX-MINI 4K开发板

    分享一块国产入门级FPGA开发板,不用烧录器,盘古PGX-MINI 4K开发板,一根TypeC线即插即用,一键式便携操作,非常适用初学者!!!而且配套的资料和实验例程很丰富,对于想尝
    发表于 03-04 16:04

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服
    的头像 发表于 02-11 10:11 669次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO板和电位器<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    分享给嵌入式初学者

    电子发烧友网站提供《分享给嵌入式初学者.doc》资料免费下载
    发表于 11-08 10:46 0次下载
    分享给嵌入式<b class='flag-5'>初学者</b>

    面向CAN总线初学者的入门教程

    本资料是CAN初学者的入门书,对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。
    发表于 10-20 17:25 1次下载

    初学者入门

    太好了,初学者学习慢慢消化中……
    发表于 09-21 13:50

    RK3568开发板SG90 舵机模块的功能实现

    RK3568开发板SG90 舵机模块的功能实现-迅为电子
    的头像 发表于 09-20 14:29 429次阅读
    RK3568<b class='flag-5'>开发板</b><b class='flag-5'>SG90</b> 舵机模块的功能实现

    STM32初学者的考虑因素 STM32标准库和HAL库如何选择

    初学者尝试学习STM32开发时,通常会面临一个关键的选择:是选择STM32的标准库,还是HAL库?这两个库各自有着优势与适用场景,本文将从多个角度分析,帮助初学者更好地选择适合自己的
    发表于 08-08 09:43 1044次阅读

    如何使用操纵杆和Arduino控制伺服电机

    在这篇文章中,我们将学习如何使用操纵杆和Arduino控制伺服电机。我们将看到有关操纵杆,其销,其结构和工作的概述。我们将从操纵杆中提取有用的数据,这些数据将成为
    的头像 发表于 07-27 11:47 1190次阅读
    如何使用操纵杆和<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    Arduino和MPU6050控制伺服电机

    电子发烧友网站提供《用Arduino和MPU6050控制伺服电机.zip》资料免费下载
    发表于 07-03 10:59 0次下载
    用<b class='flag-5'>Arduino</b>和MPU6050<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    初学者工具包-沙漏(个人模组)

    电子发烧友网站提供《初学者工具包-沙漏(个人模组).zip》资料免费下载
    发表于 06-26 09:43 0次下载
    <b class='flag-5'>初学者</b>工具包-沙漏(个人模组)

    初学者快速判断并查找出LED显示屏故障的方法

    LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:控制卡、单元板、开关电源。LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:
    的头像 发表于 06-15 14:48 775次阅读
    <b class='flag-5'>初学者</b>快速判断并查找出LED显示屏故障的方法

    ESP8266 nodemcu上伺服SG90的锂聚合物电池有哪些使用注意事项?

    。 我用 INA219 控制电流和功率 这个项目在这一步有效。 但我想添加一个 SG90 伺服电机来改变太阳能电池的方向。 经过多次测试,
    发表于 05-29 06:51

    PLC初学者必须掌握的梯形图

    PLC初学者必须掌握的七大梯形图
    发表于 05-25 16:44 4次下载

    使用Arduino开发板控制伺服电机

    到达信号指定的位置,它将保 持其位置,并抵抗试图将其从该位置移动的任何外力。该电阻称为伺服的转矩额定值,可在数据表中找到。 脉冲宽度调制PWM: 参考:PWM占空比控制电机转速 当我们使用
    发表于 05-06 10:15 0次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>开发板</b><b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    使用Arduino控制伺服电机

    伺服电机是一个闭环系统,它使用位置反馈来控制其运动和最终位置。伺服电机有多种类型,其主要特点是能够精确
    发表于 05-06 10:08 2次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>