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开发板,对伺服电机进行设置,一段时间后,您应该看到伺服电机开始转动。

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

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

    关注

    88

    文章

    2165

    浏览量

    60841
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113228
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195932
  • SG90
    +关注

    关注

    0

    文章

    9

    浏览量

    11723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ‌STM32 Nucleo-64开发板技术解析与应用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64开发板通过由STM32微控制器为概念测试和原型创建提供了一种经济实惠且灵活的途径。该开发板支持ARDUINO
    的头像 发表于 10-16 10:50 404次阅读
    ‌STM32 Nucleo-64<b class='flag-5'>开发板</b>技术解析与应用指南

    PIC32CK SG01/GC01 Curiosity Ultra开发板技术解析与应用指南

    Microchip Technology PIC32CK SG Curiosity Ultra开发板 (EV33A17A) 是一款硬件平台,设计用于加速PIC32CK SG控制器设计
    的头像 发表于 10-09 14:57 340次阅读
    PIC32CK <b class='flag-5'>SG</b>01/GC01 Curiosity Ultra<b class='flag-5'>开发板</b>技术解析与应用指南

    CW32L011电机驱动开发板——驱动无刷电机

    CW32L011电机驱动开发板
    的头像 发表于 08-22 10:02 755次阅读
    CW32L011<b class='flag-5'>电机</b>驱动<b class='flag-5'>开发板</b>——驱动无刷<b class='flag-5'>电机</b>

    CW32L011电机驱动控制开发板-软件

    CW32L011电机驱动控制开发板-软件分析 衔接上一个硬件
    的头像 发表于 08-13 10:44 757次阅读
    CW32L011<b class='flag-5'>电机</b>驱动<b class='flag-5'>控制</b><b class='flag-5'>开发板</b>-软件

    CW32L011电机驱动电机控制开发板-硬件1

    CW32L011电机驱动电机控制开发板-硬件介绍 后面有软件分析
    的头像 发表于 08-12 14:20 3600次阅读
    CW32L011<b class='flag-5'>电机</b>驱动<b class='flag-5'>电机</b><b class='flag-5'>控制</b><b class='flag-5'>开发板</b>-硬件1

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino
    的头像 发表于 08-08 20:16 3059次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>重新烧录引导程序bootlaoder

    避雷!树莓派初学者常犯的5个错误!

    如果你刚刚入手树莓派,你就会知道它潜力无穷,几乎能实现你想到的任何功能。然而,这种自由也让你可能在不知不觉中做出对系统有害的操作。在本文中,我将介绍要避免犯哪些错误。初学者最常犯的错误包括:损坏SD
    的头像 发表于 07-22 17:16 856次阅读
    避雷!树莓派<b class='flag-5'>初学者</b>常犯的5个错误!

    有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发板

    最近我发现一个有趣的开发板。这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。它就是米尔新出的YM90X开发板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所
    的头像 发表于 06-13 08:03 1353次阅读
    有ARM,NPU,FPGA三种核心的<b class='flag-5'>开发板</b> — 米尔安路飞龙派<b class='flag-5'>开发板</b>

    从单片机初学者迈向单片机工程师

    从单片机初学者迈向单片机工程师,对初学者非常适用。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 04-15 14:06

    linux初学者,用这样的开发板合适吗?

    这款是深圳市九鼎创展科技有限公司的全志A40I开发板,适合linux初学者吗? 先用开发板调试,调试成功后,就可以单独用核心,再配合自己做的底板就可以做产品了。 做核心
    发表于 04-10 11:11

    【CW32模块使用】SG90舵机

    我们的目标是将例程移植至CW32F030C8T6开发板上【能够控制舵机旋转的功能】。首先要获取资料,查看数据手册应如何实现读取数据,再移植至我们的工程。
    的头像 发表于 03-29 17:22 1150次阅读
    【CW32模块使用】<b class='flag-5'>SG90</b>舵机

    dsPIC33EDV64MC205电机控制开发板用户指南

    电子发烧友网站提供《dsPIC33EDV64MC205电机控制开发板用户指南.pdf》资料免费下载
    发表于 01-21 14:34 12次下载
    dsPIC33EDV64MC205<b class='flag-5'>电机</b><b class='flag-5'>控制</b><b class='flag-5'>开发板</b>用户指南

    EE-269:以太网802.3初学者指南

    电子发烧友网站提供《EE-269:以太网802.3初学者指南.pdf》资料免费下载
    发表于 01-05 09:48 1次下载
    EE-269:以太网802.3<b class='flag-5'>初学者</b>指南

    Arduino Nano Matter开发板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter开发板现已正式上市。这是延续今年3 月芯科科技和Arduino释出
    的头像 发表于 12-10 13:50 1420次阅读

    XD08M3232红外感应单片机开发板适合初学者吗?

    XD08M3232是一款国产8位高性能Flash的接近感应单片机,具有较大的内存、恒流驱动电路、内置运算放大器和模拟比较器等特点。对于初学者来说,选择合适的开发板是非常重要的,因为它将直接影响
    发表于 12-07 14:55