本文非常适合初学者,因为它很容易上手,并且为他们建立有趣的项目(例如通常使用伺服器的机器人)奠定了基础。伺服电机(Servo Motor)是高转矩电机,由于其在机器人和其他一些应用中的通用性,轻松控制其旋转。伺服电机也称为舵机,它带有齿轮输出轴,该齿轮输出轴可以通过电气控制,每次旋转一度。为了控制起见,与普通的直流电动机不同,伺服电机通常在两个电源引脚(VCC和GND)的旁边有一个引脚,即信号引脚。信号引脚用于控制伺服电机,将其轴旋转至任何所需角度。
在本篇文章中,我们将使用非常流行的SG90伺服电机,我们的目标是将伺服电机从一个角度旋转到另一个角度。伺服电机的电流要求很高,因此当在Arduino上使用多个伺服电机时,需要将其电源连接到外部电源,因为Arduino可能无法提供伺服电机所需的电流,这一点很重要。由于在本文中我们将仅使用一个伺服电机,因此可以通过Arduino为它供电。
所需的组件
● SG90伺服电机
● Arduino Uno开发板
● 连接导线
● 面包板
原理图
该项目的原理图非常简单,因为我们只需将伺服电机连接到Arduino,伺服电机通常具有三个引脚,其中包括VCC、GND和Signal引脚。Signal引脚是用于将控制信号从微控制器馈送到伺服电机,以使伺服电机旋转到特定角度。如下图所示,将伺服器连接至Arduino。
Signal引脚连接到Arduino的数字引脚8,因为它是PWM引脚。伺服方向以PWM脉冲方式从微控制器发送到伺服电机。完成所有连接后,我们现在就可以编写项目代码了。
代码
本篇文章的代码非常容易,这要归功于Arduino团队开发的非常全面而简洁的库,该库便于在Arduino项目中使用伺服电机。该库使使用单个命令轻松地将伺服电机旋转到不同的角度。
该库是预先安装在Arduino IDE中的,无需我们下载和安装。首先,我们在代码中包含将要使用的库(在本例中为库)。
#include
接下来,我们创建该库的一个对象,以在整个代码中用作控制伺服电机的参考。
Servo servo;
完成此操作后,我们开始void setup()函数。首先,将创建的伺服对象附加到微控制器的引脚D8,然后将伺服电机旋转至零度。
void setup() {
(8);
servo.write(angle);
}
完成此操作后,我们就可以按照所需的任何方向移动伺服电机了,我们将在void loop()函数中执行此操作。通过使用库,要将伺服电机旋转到所需的角度,我们要做的只是将所需角度作为参数传递给()函数。为了证明这一点,使用了一个for循环将伺服电机沿一个方向旋转几个角度,并使用另一个循环将伺服器旋转回其起点。
void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 180; angle++)
{
(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 10; angle--)
{
(angle);
delay(15);
}
}
以下是本文的完整代码:
#include
Servo servo;
int angle = 10;
void setup() {
(8);
(angle);
}
void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 180; angle++)
{
(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 10; angle--)
{
(angle);
delay(15);
}
}
效果演示
复制上面的代码,然后上传到Arduino开发板,对伺服电机进行设置,一段时间后,您应该看到伺服电机开始转动。
以上就是本文的所有内容,上面的代码可以通过多种方式扩展,以用于涉及伺服电机的不同项目中,您将使用伺服电机制造出什么很棒的东西?
相关推荐
作者:飞扬的青春 拿到开发板日子也过半了,体验也逐渐深入,自己也想着用这款开发板做下QT小项目,所以....
发表于 10-21 15:24 •23次 阅读
在使用QT实现了三个自定义控件后,我又查找了QT环境下实现可视化图表的一些优秀开源方案,发现QCus....
发表于 10-21 15:15 •6次 阅读
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开....
发表于 10-21 14:45 •38次 阅读
飞凌这次推出开发板免费试用活动,有幸申请到一块OK3399-C,先说说这块cpu吧,RK3399是瑞....
发表于 10-21 14:42 •92次 阅读
从事android系统、驱动开发多年,看到鸿蒙目前比较火,想研究一下,看到论坛有开发板可以试用,抱着...
发表于 10-21 14:37 •0次 阅读
Zing是一块由北京威视锐公司推出的基于赛灵思可扩展处理平台架构的高性能开发板。它使用了赛灵思最新推出的Zynq-7000系列芯片,...
发表于 10-21 14:32 •0次 阅读
作者:飞扬的青春 在开发者比赛中,申请了OK3399板卡作为体验对象,主要是其可以跑安卓,性能要好一....
发表于 10-21 13:41 •18次 阅读
oelectronics搭载STM32H743ZI MCU的STM32 Nucleo-144开发板用于测试STM32H743ZI微控制器的各种性能以及与之相对应的功耗情况。开关模式电源 (SMPS) 可显著降低运行模式下的功耗。该开发板设有用于实现Arduino® Uno V3连接功能的ST Zio连接器,以及用于通过各种扩展板扩展Nucleo开放式开发平台的 ST吗啡排针。STM32 Nucleo-144开发板无需单独的探头,因其已集成ST-LINK/V2-1调试器/编程器。STM32 Nucleo-144开发板随附STM32Cube MCU软件包中提供的STM32全面免费软件库和示例。 特性 采用LQFP144封装的STM32微控制器 外部SMPS,生成Vcore逻辑电源(仅可用于“-P”结尾的板) 符合的以太网(取决于STM32支持) USB OTG或全速设备(取决于STM32支持) 3个用户LED 两个按钮(用户和复位) 32.768 kHz晶体振荡器 板连接器: 微型USB接口 SWD 以太网RJ...
发表于 10-21 10:09 •6次 阅读
全球电子元器件与开发服务分销商e络盟独家推出Raspberry Pi 4入门套件。这款全新入门套件包....
发表于 10-21 07:53 •7次 阅读
在使用QT实现了三个自定义控件后,我又查找了QT环境下实现可视化图表的一些优秀开源方案,发现QCus....
发表于 10-20 15:07 •26次 阅读
Tengine 是 OPEN AI LAB 一款轻量级神经网络推理引擎,它针对 Arm嵌入式平台进行....
发表于 10-20 15:03 •42次 阅读
本篇文章我们主要介绍如何使用Arduino开发板制作一款简单的智能电子投票机。该项目的基本思想是制作....
我最近购买了一个Neo Pixel LED灯条,它的工作方式给我留下了深刻的印象。微型LED具有内置....
干簧管,又称磁力开关或磁簧开关,基本上是一个电气开关,当磁场靠近时它会动作。W. B. Ellwoo....
超声电机压电致动器驱动微型云台的应用,超声电机高精度\可中空、体积小、扭力大、断电自锁、适应温度范围....
发表于 10-20 10:16 •31次 阅读
有幸成功申请到HarmonyOS技术社区举办的开发板体验活动,今天收到开发板先来一帖开箱体验的帖子。 首先夸赞一下顺丰快递还...
发表于 10-19 18:14 •0次 阅读
现在无线控制已经成为了电子科学领域的主流,这次就来教大家做一个主流中的主流--无线控制的小车。 首先....
本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux 系统开发进阶\94_章节使用资料。 本章节介绍在 yocto Qt5 文...
发表于 10-19 10:25 •0次 阅读
本应用说明适用于需要开发板功能(如电源、时钟管理、复位控制、引导模式设置和调试管理)的硬件实现概述的....
发表于 10-19 08:00 •12次 阅读
我的专业是机械设计制造及其自动化专业,从事非标机械设计工作已经7年了。在工作过程中,每天自动化设备的....
远程控制可以通过远程桌面(VNC)和自己开发的上位机(如基于.NET和C#)来实现
在3516开发板的工程下添加了一个sample_driver驱动,编译时出现截图中 的现象,请问是什么原因呢 PS: sample_driver的源码...
发表于 10-17 15:25 •0次 阅读
今天在昨天的ADC最简配置例子上,进行DMA和多通道的采样配置。 下面例程均基于规则通道,注入通道与这个有些许差异,需自...
发表于 10-16 10:56 •101次 阅读
本文档的主要内容详细介器绍的是LM3S101开发板的PCB原理图免费下载
发表于 10-16 10:16 •36次 阅读
上一次报告主要是环境搭建,并且完成了代码获取与代码的编译烧写,本次报告从嵌入式系统最基本的GPIO引脚控制...
发表于 10-16 08:46 •303次 阅读
你们有没有收到开发板试用申请成功短信,我收到广东深圳的短信,需要加工作人员微信,但是微信被添加好友过于频繁,是骗人的吗?...
发表于 10-15 17:40 •206次 阅读
创龙电子科技联合电子发烧友学院推出TL437x-EVM评估板免费试用活动!一款适合进行开发低成本物联网方案的评估板,原价1698元...
发表于 10-15 16:10 •0次 阅读
内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动。本文档介绍如何以 模块的方式编译内核驱动。 以 module 的方...
发表于 10-15 11:47 •0次 阅读
DDR在ZYNQ里是软肋,最大1G,MPSOC中64bit DDR,完全没有这个限制,对性能要求较高....
《Arduino高级开发权威指南(原书第2版)》是Arduino开源硬件资深专家数年一线工作经验结晶....
发表于 10-15 08:00 •47次 阅读
Microchip Technology AVR-IoT WA开发板 (EV15R70A)是构建Am....
alientek 探索者STM32F4开发板选择的是STM32F407ZGT6作为MCU,该芯片是 ....
发表于 10-13 17:42 •84次 阅读
伺服电机的应用十分广泛,在医学行业、机械行业、食品行业、印刷行业等等都在应用,当然伺服电机的功能可以....
牵手一起梦
发表于
10-13 15:27
• 214
次 阅读
伺服速度的调整需要看我们是使用什么方式来控制,以及控制方式的选择,我们是使用脉冲控制转速,模拟量控制....
电子魔法师
发表于
10-13 14:03
• 166
次 阅读
在FPGA开发板上都有几种不同的存储器,比如SDRAM ,FLASH,EPCS,还有内部onchip....
发表于 10-12 16:57 •56次 阅读
手掌大小的机器人,它有四只脚而不是轮子。腿式运动赋予其在非结构化地形上导航的更多自由,并在运动时表达....
发表于 10-12 14:53 •72次 阅读
具有基于温度的控制的PWM控制器,但找不到价格合理的东西,并且可以在没有稳压器的情况下使用相同的电源....
发表于 10-12 08:00 •78次 阅读
基于 nuvoton ISD9160带语音功能的物联网开发板方案,该方案不仅具备语音播报、语音录放、....
发表于 10-10 18:50 •49次 阅读
本文档的主要内容详细介绍的是STM32开发板系列指导教程免费下载包括了:跑马灯,02按键....
发表于 10-10 17:36 •62次 阅读
Verilog HDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工....
发表于 10-10 17:08 •31次 阅读
n个月前我转发过一国外哥们制作的USB元器件测试仪,长这样,还记得么?
2. initramfs文件系统。initramfs是在版本内核中引入的技术,它的基本思想是:....
电子设计
发表于
10-09 10:27
• 704
次 阅读
USB设备已经进入我们工作、生活的方方面面,它给我们带来了许多便利。因此,带有USB功能已经成为现在....
牵手一起梦
发表于
10-04 17:33
• 378
次 阅读
Bootloader是嵌入式系统软件开发的第一个环节,它紧密地将软硬件衔接在一起,对于一个嵌入式设备....
牵手一起梦
发表于
10-04 17:08
• 230
次 阅读
事实证明,开源的 Arduino 概念已在业余爱好者和创客中取得巨大成功。同时此概念亦被专业设计人员....
电子发烧友网
发表于
09-30 16:14
• 405
次 阅读
高位码垛机是机电一体化高新产品,是将输送机输送来的袋装产品按客户要求的工作方式自动堆成各种垛型。按照....
发表于 09-30 10:58 •75次 阅读
在某些情况下,比如远程工作时,可能需要访问本地不可得的器件。 本篇简介教程演示了如何共享并访问位于远....
IIC协议驱动设计 作者:郝旭帅校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01FPGA....
本文档的主要内容详细介绍的是Arduino的入门使用教程免费下载。
发表于 09-28 08:00 •120次 阅读
第一堂课:IO口输入【课程已发布】第二堂课:0口输入组件(按键,倾斜开关)【课程已发布·第三堂课:O....
发表于 09-28 08:00 •73次 阅读
本文档的主要内容详细介绍的是Arduino Mini板的电路图和PCB原理图免费下载。
发表于 09-27 08:00 •203次 阅读
本文系《创建 Vitis 加速平台的简单指南》的第1部分。(您可通过下列链接查看其它各部分:第 2 ....
通常伺服电机首要有三种操控办法,即速度操控办法,转矩操控办法和方位操控办法,下面别离对每种操控办法进....
电子魔法师
发表于
09-26 10:16
• 455
次 阅读
沟通伺服电动机的转子通常做成鼠笼式,但为了使伺服电动机具有较宽的调速计划、线性的机械特性,无“自转”....
电子魔法师
发表于
09-25 14:26
• 219
次 阅读
传感器有什么用?为什么要用传感器? 传感器在生活中有怎样的应用? 工程师如何以专业触达传感器内部 传....
电路设计技能
发表于
09-25 14:16
• 252
次 阅读
步进电机和伺服电机的区别办法如下:力矩计划:步进电机系一同般为中小力矩(通常在40Nm以下)计划;伺....
电子魔法师
发表于
09-25 10:15
• 280
次 阅读
51开发板的各模块功能:8个LED灯,可以练习基本单片机IO操作,在其他程序中可以做指示灯使用。
发表于 09-24 15:39 •188次 阅读
最近ST的MP1系列MPU很火。 这个基于单核或双核Cortex-A7与Cortex-M4组成的异构....
直流伺服电动机的底子构造与通常他励直流电动机相同,所纷歧样的是直流伺服电动机的电枢电流很小,换向并不....
电子魔法师
发表于
09-24 12:01
• 281
次 阅读
Broadcom AEDM-5xxx是一系列高分辨率3通道内置编码器模块套件,带有专利的卡扣式盖板,可快速组装。每个AEDM-5xxx套件包含AEDT-981x模块和胶片码盘。 AEDM-5xxx的输出是正交的两个方波加上一个索引脉冲信号,它是在码盘完全旋转时产生的。正交信号和索引脉冲通过位于上面的五个英寸方形引脚访问。 英寸中心。 这些无轴承式编码器套件设计用于快速方便地安装在电机上。对于大直径电机,AEDM-59xx系列提供外部安装耳的选项。 AEDM-5xxx支持的标准编码分辨率为2000和5000 CPR。有关其他解决方案,请咨询当地Broadcom销售代表。 功能 带索引脉冲输出的双通道正交输出 编码分辨率高达5000 CPR 工作温度-40°C至+ 85°C 快速简便组装 无需调整信号 成本效益解决方案 小尺寸 TTL兼容输出 单5V电源,带有±10%容差 外置安装耳机选件可用于大型电机。 应用 AEDM-5xxx适用于各种商业和电子产品。工业运动控制应用包括但不限于: 直流伺服电机 线性和旋转执行器 工厂自动化设备 3D打印机 机器人技术 无人驾驶飞行器(UAV)或无人驾驶飞机 &NBSP;...
发表于 07-04 12:26 •3496次 阅读