IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 第九章 SG90伺服舵机模块的使用 -> 正文阅读

[嵌入式]第九章 SG90伺服舵机模块的使用

上一章介绍了气体检测传感器,可以检测室内的有害气体浓度,当室内有害气体浓度超标或者温度过高时,我们一般都会开窗通风,那就需要一个执行模块来执行开窗或者关窗的动作。所以这章介绍一款舵机模块,来模拟开窗或者关窗操作。

下图就是SG90舵机模块图片,图中方框的部位时舵机的摆臂,这个摆臂可以用来模拟窗的打开和关闭,下面会有视频展示。

?该模块是利用定时器输出周期为20ms的PWN信号来驱动摆臂摆动,而摆臂摆动的角度与一个周期(20ms)内的高电平持续时间有关,具体如下图所示,左边的时间是一个周期(20ms)内高电平的时间,右边是所对应的是转动角度。

下面这图是通过逻辑分析仪抓出来的PWN波形,图中1到3的时间约为20ms,即周期为20ms,1到2的时间是这个周期内高电平的持续时间,1到2的时长决定了舵机模块的摆臂转动几度。提示:如果不了解定时器PWN相关知识,可以去哔哩哔哩搜索? 野火STM32 去学习定时器相关内容。

舵机模块到手后,就可以开整了,首先模块上引出了3根线,分别是连接5V的VCC引脚,接地的GND引脚和接收PWN信号的信号线。关注了公众号的同学可以发送“第九章”获取资料链接没有关注的同学,评论区留下邮箱,按照资料里提供的接线图,用杜邦线将SG90舵机模块与STM32F103C8T6连接起来,然后将提供的代码编译并烧录进STM32F103C8T6单片机即可看到效果。

接下来讲一下代码。

第7行 uint8_t?Angle 声明变量Angle用来存储舵机要转动的角度。

第9行 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2) 设置中断优先级分组。

第11行 delay_init( ) 初始化延时函数,执行这条语句后,延时效果才会准确。

第13行 Servo_Init() 函数内有两个函数(下图所示):TIM2_Init(SERVO_TIM_ARR,SERVO_TIM_PSC)?初始化定时2的2通道输出周期为20ms的PWN信号;Servo_angle(5) 是设置舵机模块转动5°,我们后面都是用Servo_angle( )函数来设置舵机的转动,而转动的角度由括号里的参数值决定,参数值可写0~180(提醒:Servo_angle( )函数内部做了保护措施——当参数值小于5时,舵机转动角度不会小于5°,参数值大于175°时,舵机转动角度不会大于175°)。

?第15~28行 实现舵机从5°开始转动到175°,然后从175°转动到5°。实现舵机转动的函数就是第19行和第24行的Servo_angle( )函数,想要转动的角度写在括号里即可,就这么简单。

例程实现效果如下:


?正好第八章我们实现OLED显示环境的温湿度、二氧化碳和甲醛的浓度,现在顺便将SG90舵机模块的功能移植到第八章的代码中,实现当 CO2浓度大于500ppm时打开窗户,CO2浓度小于420ppm时关闭窗户,下面的视频是演示移植的过程。

提示:视频中有错,CO2浓度是ppm而不是ppd

效果如下所示:

(温湿度模块坏了,所以温湿度数值显示为0,代码是没问题的,视频中实物制作很简陋,只是起演示作用,自行制作实物时,可以做的完美一点)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:50:48  更:2022-10-17 12:54:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 18:11:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码