概述

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。在高档遥控玩具,如飞机、潜艇模型,遥控机器人中已经得到了普遍应用。

结构原理

它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度。)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用。

舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围,总间隔为2ms。脉冲的宽度将决定马达转动的距离。

通俗来说,就是通过引脚时间单位内脉冲的信号,令舵机执行对应角度的移动,每个执行命令的信息获取时间为2ms,2ms内,脉冲的电位为高电平,时间长度决定位置和距离。

接线方式

舵机红线5V接UNO的5V、舵机棕线GND接UNO的GND、舵机橙线PWM接UNO的PIN9

连接线:

  • 红色:正极;

  • 橙色:信号线;

  • 棕色:地线

UNO代码:

#include <Servo.h>Servo myservo;  // 创建舵机对象来控制舵机
int pos = 30;    // 用来存储舵机位置的变量
const int  MIN_POINT = 30;    // 最大角度
const int  MAX_POINT = 150;    // 最小角度
const int  POSTIIVE_DIRECTION = 1; //顺时针方向
const int  BACK_DIRECTION = -1; //逆时针方向
const int  DELAY_TIME = 15; //默认间隔时间int i = 0;    // 用来存储舵机位置的变量void setup()
{myservo.attach(9);  // 把连接在引脚9上的舵机赋予舵机对象Serial.begin(9600);
}
void loop()
{for (i = 0; i <= 180; i += 1) // 从0度到180度{setPosition(POSTIIVE_DIRECTION);}for (i = 180; i >= 0; i -= 1){setPosition(BACK_DIRECTION);}}void setPosition(int direction) {int posTemp = pos + direction;if(posTemp >= MIN_POINT && posTemp <= MAX_POINT){pos = posTemp;myservo.write(pos);}delay(DELAY_TIME);
}

正常来说我们只需要知道如何用,调动库就可以了,不需要深入理解内部物理实现原理

总结不好多多担待,文章只单纯个人总结,如不好勿喷,技术有限,有错漏麻烦指正提出。本人QQ:373965070

【单片机基础篇】舵机模块使用相关推荐

  1. 嵌入式单片机基础篇(一)之stm32F1GPIO详解

    嵌入式单片机基础篇(一)之stm32F1GPIO详解 stm32F1GPIO详解 下面以stm32f103zet6以及51单片机为例,讲解单片机最基本部分IO口 第一部分:stm32 STM32 的 ...

  2. 嵌入式单片机基础篇(八)之两只看门狗

    嵌入式单片机基础篇(八)之两只看门狗 独立看门狗与窗口看门狗 第一部分:stm32 .STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG). (一)独立看门狗 STM3 ...

  3. 嵌入式单片机基础篇(二十七)之Stm32F103单片机给蓝牙模块发送AT指令程序

    Stm32F103单片机给蓝牙模块发送AT指令程序 #include "stm32f10x.h" #include "string.h" #include &q ...

  4. 【单片机基础篇】 人体红外感应传感器模块

    概述 红外热释电传感器是一款基于热释电效应的人体热释运动传感器,能检测到人体或动物身上发出的红外线,配合菲涅尔透镜能使传感器探测范围更远更广.可在控制器上编程应用,通过3P传感器连接线插接到专用传感器 ...

  5. 51单片机定时器中断怎么用-------51单片机基础篇

    首先,什么时定时器,简单来说可以比喻为一个闹钟,当你把他打开以后,他就会每秒动一下,+1,+1,+1,+1,如果你设置了某一个时间点闹钟会向以后,那么当闹钟的时间点+1,+1,+1,+到了你设置的时间 ...

  6. Python学习-基础篇4 模块与包与常用模块

    一 模块介绍 1.什么是模块?#常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用.#在python中,模块的使用方 ...

  7. 【单片机基础篇】74HC595芯片详解

    74HC595芯片详解 芯片简述:74HC595是一个8位串行输入.并行输出的位移缓存器:并行输出为三态输出.在SCK 的上升沿,串行数据由SER输入到内部的8位位移缓存器,并由QA~QH'输出,而并 ...

  8. 21、ZigBee 开发教程之基础篇—继电器模块

    文章目录 1.实验目的 2.实验设备 3.实验相关电路图 4.实验相关寄存器 5.源码分析 6.实验现象 1.实验目的 1)通过实验掌握 CC2530 芯片 GPIO 的配置方法 2)掌握 HC-SR ...

  9. C51单片机基础之4G模块

    一.4G模块初识 EC03-DNC是亿佰特公司推出的 LTE CAT1 数传模块产品, 该产品软件功能完善, 覆盖绝大多数常规应用场景, EC03-DNC 是为实现串口设备与网络服务,通过网络相互传输 ...

最新文章

  1. 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  2. python各个绘图的作用,深度讲解Python四大常用绘图库的“绘图原理”
  3. TP、TN、FP、FN
  4. h5能调取摄像头吗_高质感的国产中型车,实力能比肩本田雅阁吗?带你看红旗H5...
  5. 怎样区分直连串口线和交叉串口线?
  6. 全球数字高程数据(DEM)详解,还有地形晕渲、等高线等干货
  7. 无线硬盘的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 学习官方SSIS教程的错误总结
  9. 支付宝第三方登录集成文档
  10. 山特服务器硬盘480g,【02311VHS N480SSDW2SPA 480GB SATA SSD 华为服务器固态硬盘】价格_厂家 - 中国供应商...
  11. 判断字符是数字字符还是大写字符或者是小写字符
  12. python的认识从唯物主义_辩证唯物主义认识论知识点: 认识的本质br /
  13. EMC辐射骚扰整改案例分析
  14. SLAM综述阅读笔记一:Past, Present, and Future of Simultaneous Localization And Mapping(2016)
  15. OSEK直接网络管理软件开发
  16. ASP+AJAX实现分页效果[Z]
  17. python 网格交易源码_网格交易策略[tb源码]
  18. vue项目内存溢出的解决
  19. 基站频谱扫描-高性能扫频仪 TFN FGT720A
  20. swt包下载,swt包引入(一个简单的SWT程序实例及详解)

热门文章

  1. (轉貼) C Standard Library (初級) (C/C++)
  2. 存储过程游标注意事项——表需要使用别名,如红色字体
  3. 学习笔记 十八: kickstart
  4. ASP.NET Web API 开篇示例介绍
  5. iptables用法简介
  6. ExtAspNet公司项目截图
  7. 手动安装vue-devtools
  8. clipboard.js在弹出框中无法复制的问题
  9. php 根据常量名称判断是否定义 和常量名称输出值
  10. C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServic