文章目录

[隐藏]

我们都知道Arduino控制板支持PWM的引脚有限,但如果在Arduino上需要控制超出PWM引脚数量的舵机怎么办呢?答案是使用servo.h库文件,它是Arduino控制舵机的标准库之一。

Servo.h

查看Arduino库文件列表,可通过Arduino IDE的“Help”菜单下的“Reference”查看。Arduino Libraries

我们可以看到在Arduino标准库中的servo库,单击连接后进入,可查看servo.h文件更详细的内容。Servo library

在上图左边是对servo库文件的基本介绍,右边是主要的函数和示例。

Servo库文件使用

我们知道舵机必须定期接收高电平脉冲控制信号才能维持转动。如果信号停止,舵机也停止。详见:舵机角度的控制。如果使用servo库来设置控制信号,就可以通过引入一些代码,实现如延迟、检查传感器、等待等功能。同时,由于servo库一直在后台运行,而舵机一直在旋转,它会经常中断其他正在执行的代码来启动那些高脉冲,带是这个切换的动作快到我们感知不到。

使用servo库来发送舵机控制信号一般需要四个步骤:

1、 首先要告诉Arduino编程器,希望在代码开始时,即setup函数之前,声明使用Servo库函数。#include // Include servo library

2、 在#include和setup函数之间为要发送的信号命名servo库的实例。如下servoLeft就是指定的实例名称。Servo servoLeft; // Declare left servo

3、 在setup函数中,使用给出的舵机信号的名称后跟一个点,然后通过附加函数attach()调用信号引脚。这个例子告诉系统舵机信号servoLeft应该通过数字引脚13来传输。servoLeft.attach(13); // Attach left signal to pin 13

4、writeMicroseconds()函数,用于设置脉冲持续时间。servoLeft.writeMicroseconds(1500); // 1.5 ms stay-still signal

5、write()函数, 作用是将一个角度值写入舵机,设置轴转动的角度(该值是指角度),0为在一个方向全速转动,180为在另一个方向上全速转动,接近90为复位。servoLeft.write(90); // set servo to mid-point

6、attached()函数,用于检测servo变量是否正确连接至Arduino对应引脚上。返回值为 true 和 false 。servoLeft.attached()

7、detach()函数, 作用是从对应引脚上分离舵机变量。如果要将所有舵机变量分离,则使用analogWrite()函数将引脚9和引脚10用于PWM输出。servoLeft.detach()

8、read()函数, 用于读取舵机的当前角度值(传递给上次调用write()的值)。servoLeft.read()

以上是servo.h库文件的基本函数讲解,如有不当之处请谅解。

arduino的servo函数_如何使用Arduino舵机库servo.h – 八色木相关推荐

  1. arduino 土壤温湿度传感器_怎样将Arduino与土壤湿度传感器FC-28连接起来

    步骤1:在模拟模式下连接传感器 模拟模式 - 连接土壤湿度传感器和Arduino 要在模拟模式下连接传感器,我们需要使用传感器的模拟输出.从土壤湿度传感器FC-28获取模拟输出时,传感器给出的值为0- ...

  2. arduino使用oled代码_实用!Arduino平台最强大的“显卡”驱动:Adafruit GFX 图形库8000字详细使用指南...

    概述 Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示屏提供了通用语法和图形功能集.这使得Arduino示例程序可以很容易地在不同类型的显示屏之间进行调整,并且任何新特性.性 ...

  3. arduino扩展板的使用_如何使用Arduino和React为烧烤构建仪表板

    arduino扩展板的使用 by Chris Aquino 克里斯·阿基诺(Chris Aquino) 如何使用Arduino和React为烧烤构建仪表板 (How to build a dashbo ...

  4. arduino继电器控制风扇_如何使用Arduino开发板制作温度控制的风扇

    在本篇文章中,我们将主要介绍如何使用DHT22传感器和继电器制作一款Arduino温控风扇.使用DHT22传感器获取温度值,然后将在LCD显示屏上打印此温度值.我们将检查温度值是否大于35,如果温度大 ...

  5. arduino点阵声音频谱_参赛-使用Arduino制作32频段音频(音乐)频谱分析仪

    该项目用于使用Arduino制作32频段音频(音乐)频谱分析仪/可视化器. 硬件组件: Arduino Nano R3× 1 电阻10k欧姆× 1 电阻4.75k欧姆× 3 电容器100 nF× 2 ...

  6. arduino小车电机不转_新一代信息技术Arduino作品要求

    A题 (适用于学过C语言的同学) 难度高,可以实现部分功能分步得分 用Arduino IDE开发"智能交通灯"项目,某一长段路半段处有一大型商场,其门口设有一人行通道,根据此情景设 ...

  7. arduino接收hmi屏幕_求助 连接 Arduino 与威伦通触摸屏

    /*********************执行通讯协议解析************************/ command(); /*********************执行通讯协议解析 en ...

  8. arduino 串口读取字符串_乐创物联物联网架构之硬件层中间件Arduino模拟量

    0 前言 大家好!我叫乐创物联,我主要是做工业自动化方面和物联网方面的.了解熟悉工业自动化领域的,也开发过物联网相关的产品.我的初衷是做工业物联网的,但这个系统太过于庞大,后续也会自主去学习一下.所以 ...

  9. arduino摄像头监控_如何使用Arduino和Pusher制作实时光监控器

    arduino摄像头监控 by Neo Ighodaro 由新Ighodaro 如何使用Arduino和Pusher制作实时光监控器 (How to make a realtime light mon ...

最新文章

  1. 从“连锁”到“新联锁”,尚美生活如何引领酒店行业变革?
  2. 【转载】地球物理经典书目——成像方向
  3. java打包后发布找不到jsp_eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)...
  4. AS 3.0小事件处理 八
  5. YbtOJ-毒瘤染色【LCT】
  6. CF710F-String Set Queries【AC自动机,二进制分组】
  7. 计算机找不到管理无线网络,电脑wifi密码忘了 并且找不到管理无线网络该怎么处理?...
  8. kali的软件包安装源配置
  9. 关于Python 中的os.mkdir()
  10. iOS开发——高级篇——iOS开发之网络安全密码学
  11. 为什么我离开了管理岗位
  12. 一个游戏策划案(仅供参考)
  13. Android反编译查看源文件
  14. 木瓜移动每日出海快讯0428:谷歌发布Q1财报
  15. RocketMq之削峰
  16. 浮点数为什么不精确?
  17. 神经网络有趣案例_特斯拉高管揭秘自动驾驶技术:48种神经网络上阵,最多可检测1000种物体...
  18. 天翎低代码平台助力企业业务流程集成,为企业降本增效
  19. srs 直播连麦环境搭建
  20. C语言 校园歌手比赛系统源码

热门文章

  1. 2020/7/27 - [watevrCTF-2019]Cookie Store - 伪造cookie
  2. android中高级面试题,记得把每一次面试当做经验积累
  3. Markdwon入门语法
  4. 唠嗑 | 快压隐藏文件原理探索
  5. python制作3d相册代码_Python使用matplotlib绘制3D图形(代码示例)
  6. Dart const常量构造函数详解
  7. 关于PowerPoint2010中“节”的介绍!
  8. struts 国际化 中文编码问题
  9. No module named ‘django.urls‘
  10. this.$store.dispatch