Stm32_2:蜂鸣器、按键、继电器

1.蜂鸣器

1.蜂鸣器的种类

蜂鸣器是一种常用的电子发声元器件,采用直流电压供电。广泛应用于计算机,打印机,报警器,电子玩具,汽车电子设备灯等产品中常见的蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。

2.蜂鸣器的控制方式

  • 有源蜂鸣器:内部有震荡源,只要通电即可自动发出固定频率的声音。(频率固定无法控制音色)
  • 无源蜂鸣器:内部无震荡源,需要外部脉冲信号驱动发声,声音频率可变。(可改变频率来改变音色)

3.区分蜂鸣器

从外观上来看两种蜂鸣器形状相似,有源蜂鸣器底部有黑胶密封

无源蜂鸣器底部可以看到电路板,两种蜂鸣器都标注有正负极。

4.GPIO控制蜂鸣器

软件设计:

初始化系统:

  • 初始化GPIO外设时钟
  • 初始化蜂鸣器引脚

输出电平控制蜂鸣器

#include "buzzer.h" #include "stm32f10x.h" void buzzer_init(void) { GPIO_InitTypeDef buzzer_init; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); buzzer_init.GPIO_Pin = GPIO_Pin_5; buzzer_init.GPIO_Speed = GPIO_Speed_10MHz; buzzer_init.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA,&buzzer_init); }

2.按键

1.深入理解GPIO输入

GPIO的特点:

  • 具有内部上拉或下拉的功能
  • 可以使用外部下拉或上拉

按键连接示意图:

即:按键按下时,引脚连接低电平

2.按键控制LED灯

软件设计:

初始化系统:

  • 初始化GPIO外设时钟
  • 初始化按键和LED的引脚

检测按键输入的电平来控制LED灯

#include "key.h" #include "stm32f10x.h" void Key_Init(void) { GPIO_InitTypeDef key_structure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC,ENABLE); key_structure.GPIO_Pin = GPIO_Pin_0; key_structure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA,&key_structure); key_structure.GPIO_Pin = GPIO_Pin_13; key_structure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOC,&key_structure); }
#include "stm32f10x.h" #include "main.h" #include "led.h" #include "buzzer.h" #include "key.h" #include "Delay.h" void delay(uint16_t time) { uint16_t i = 0; while(time --) { i = 12000; while(i --); } } int main() { led_init(); buzzer_init(); Key_Init(); Delay_Init(); GPIO_SetBits(GPIOA,GPIO_Pin_1);//灯灭 while(1) { if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 0) { GPIO_ResetBits(GPIOA,GPIO_Pin_1); } if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13) == 0) { GPIO_SetBits(GPIOA,GPIO_Pin_1); } } }

注:先让灯灭掉,继电器也一样

3.继电器

1.继电器的工作原理

继电器是一个电控开关,工作原理基于电磁感应,继电器包括一个电磁线圈和一组触点。常用于控制高电流或高电压的电路,例如自动控制原理,电力系统和自动化设备中, 由于可靠性和电气隔离的特性可以实现小电流控制大电流,继电器在各种应用中都有广泛 的用途。

2.继电器的引脚说明

1. VCC(+):供电正极,连接此引脚到电源,以提供继电器所需的电流

2. GND(-) : 地,连接此引脚到电源的负极或者地。

3. IN :控制输入信号,通常用于连接控制信号,当该信号变化,继电器切换状态。

4. COM(common): 公共端,通常是中间的触点,与常开或常闭触点相连。

5. NO(Normally Open): 常开接口,继电器吸合前悬空,吸合后于COM连接。

6. NC(Normally Closed):常闭接口,继电器吸合前与COM连接,吸合后悬空。

3.继电器状态监测

红灯(电源指示灯)亮起,意为正常工作

绿灯(信号指示灯),绿灯亮了,继电器是连接状态,闭合状态,绿灯暗了,继电器是断开状态

杜邦线排查:

首先连接VCC和GND,红灯亮起

是用IN口检测工作电压,如果VCC接3.3V,IN不管接高低电平,绿灯都量,说明3.3V不是工作电压。如果IN接地,绿灯亮;接电源,绿灯灭,说明继电器的工作电压是3.3V,且是低电平连通

3.单片机控制继电器软件开发流程

初始化系统:

  • 初始化继电器IN引脚对应的GPIO外设时钟
  • 初始化继电器IN的引脚GPIO输出模式

输出电平控制继电器开和关

#include "stm32f10x.h" #include "Delay.h" void Delay_Init(void) { GPIO_InitTypeDef Delay_Initstructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); Delay_Initstructure.GPIO_Pin = GPIO_Pin_0; Delay_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP; Delay_Initstructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init(GPIOA,&Delay_Initstructure); }
#include "stm32f10x.h" #include "main.h" #include "led.h" #include "buzzer.h" #include "key.h" #include "Delay.h" void delay(uint16_t time) { uint16_t i = 0; while(time --) { i = 12000; while(i --); } } int main() { led_init(); buzzer_init(); Key_Init(); Delay_Init(); GPIO_SetBits(GPIOA,GPIO_Pin_0); while(1) { GPIO_ResetBits(GPIOA,GPIO_Pin_0); delay(1000); GPIO_SetBits(GPIOA,GPIO_Pin_0); delay(1000); } }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1020827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qwen3-8B vs 其他8B模型:逻辑推理能力全面对比测评

Qwen3-8B vs 其他8B模型:逻辑推理能力全面对比测评 在AI应用快速落地的今天,一个现实问题摆在开发者面前:我们真的需要动辄70B甚至上百亿参数的“巨无霸”模型吗?对于大多数企业而言,高昂的部署成本、复杂的运维流程和…

【优化分配】基于遗传算法GA求解机场登机口分配优化问题(目标函数:油耗 靠桥率)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码获取及仿真…

【2025最新】网络安全从入门到精通(超详细)学习路线!

首先看一下学网络安全有什么好处: 1、可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的。只要把网络安全认真的学透了,那么计算机基础知识是没有任何问题的,操作系统、网络架构、网站容器、数据库、前端后端等等…

2026毕设ssm+vue基于高校教师个人主页网站的设计与实现论文+程序

本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于动漫内容管理与展示系统的研究,现有研究主要以综合性内容管理系统(CMS)为主&#xff0…

基于FLUX.1-dev的文生图技术博客:提升提示词遵循度的秘诀

基于FLUX.1-dev的文生图技术:如何让AI真正“听懂”你的每一句话 在如今的生成式AI浪潮中,我们早已习惯了输入一段文字,几秒后便收获一幅惊艳图像。但你是否也遇到过这样的情况——明明写得清清楚楚:“一只戴着墨镜的柯基狗站在滑板…

Hadoop与Python:PySpark大数据处理指南

PySpark实战:用Python玩转Hadoop大数据处理 一、引言:Python开发者的大数据困境与解决方案 1.1 一个真实的痛点场景 作为Python开发者,你是否遇到过这样的问题? 用Pandas处理1GB的CSV文件很轻松,但面对100GB的用户…

又一个绿色神器的蓝屏修复工具

又一个绿色神器的蓝屏修复工具 各位小伙伴们,大家好,今天介绍一键解决系统蓝屏问题的利器。 在Windows系统的使用过程中,蓝屏崩溃是许多用户都会遇到的问题。每当遇到这种情况,大多数用户都会感到束手无策,甚至以为系统已经彻底瘫痪。然而,事实并非如此。蓝屏修复工具绿色…

千匠供应链商城系统:AI赋能、灵活部署,全力助推产业互联网平台建设与发展

千匠供应链商城系统以中台架构为核心,凭借其针对性的系统定位、强大的核心功能、先进的技术架构、广泛的应用场景和显著的实施价值,为企业打造深度整合采销一体化、交易撮合、全链路管理等多项功能的产业供应链平台,助力企业实现转型升级。系…

Comsol微环谐振腔与环形波导耦和:对比波束包络与波动光学两个模块

Comsol微环谐振腔,环形波导耦和。 对比波束包络和波动光学两个不同模块。微环谐振腔作为集成光学中的一种重要结构,因其高Q因子和紧凑的尺寸而在滤波、传感等领域得到了广泛应用。在设计和优化这类结构时,Comsol Multiphysics 提供了多种工具…

C#字典操作全攻略与var定义变量

//字典:包含了key(键)和value&#xff08;值&#xff09;&#xff0c;简称为键值对&#xff0c;键是唯一的&#xff0c;值可以是任意类型的&#xff0c;字典是没有顺序的&#xff0c;只能通过键取值。//1创建字典的方法// Dictionary<string,string> 第一个string 键的类…

基于python的房产交易服务平台的设计与实现(源码+lw+远程部署)

目录&#xff1a; 博主介绍&#xff1a; 完整视频演示&#xff1a; 系统技术介绍&#xff1a; 后端Java介绍 前端框架Vue介绍 具体功能截图&#xff1a; 部分代码参考&#xff1a; Mysql表设计参考&#xff1a; 项目测试&#xff1a; 项目论文&#xff1a;​ 为…

2024年提示工程架构师必看:用户参与研究的最新趋势,提升提示设计效果

2024年提示工程架构师必看&#xff1a;用户参与研究的最新趋势&#xff0c;提升提示设计效果 标题选项 2024提示工程新范式&#xff1a;用户参与研究6大趋势&#xff0c;让你的提示设计从“能用”到“好用”提示工程架构师进阶指南&#xff1a;2024用户参与研究实战&#xff0c…

将结果按字典或元组格式输出

在 Python 中&#xff0c;将计算结果按字典或元组格式输出&#xff0c;核心是先把计算结果整理为字典 / 元组对象&#xff0c;再通过print()等方式输出。以下分字典输出和元组输出两大场景&#xff0c;结合实际计算案例详细讲解。一、按字典格式输出字典的核心是键值对&#xf…

Informed RRT*实现椭圆启发式采样

我来为您添加Informed RRT*功能&#xff0c;在找到第一条路径后使用椭圆采样来加速收敛。以下是需要新增的函数和修改&#xff1a; 以下代码只含新增的部分 class RRTStar { private:// 在私有成员变量中添加bool pathFound;double bestPathCost;std::shared_ptr<Node> g…

千匠网络B2B商城系统:赋能渠道数字化升级的全链路智能解决方案

千匠网络B2B商城系统&#xff0c;以全终端覆盖、智能化引擎、灵活部署与AI深度赋能为核心优势&#xff0c;助力企业构建高效、敏捷、智能的数字化渠道体系&#xff0c;实现可持续增长。全终端覆盖打通线上线下&#xff0c;连接全球市场在移动化、碎片化的商业环境中&#xff0c…

Windows剪贴板的超级增强器,提升你的工作效率

Windows剪贴板的超级增强器,提升你的工作效率 在日常的电脑操作中,复制粘贴无疑是使用频率极高的功能。然而,Windows自带的剪贴板功能却显得捉襟见肘,每次复制新内容时,旧的内容就会被无情地覆盖。这对于需要频繁切换或重复使用之前复制内容的用户来说,无疑是一个巨大的痛…

整体设计 之28 整体设计 架构表表述总表的 完整程序(之27 的Q268 )(codebuddy)

摘要程序 展示了了三种核心架构设计&#xff1a;1&#xff09;内部紧致的九宫格结构&#xff0c;用于应用主页页面布局&#xff0c;采用33矩阵设计&#xff0c;包含导航、内容和交互组件&#xff1b;2&#xff09;外部松散的9散列协议栈&#xff0c;服务于技术板块&#xff0c;…

2026毕设ssm+vue基于防返贫政策的贫苦户信息管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于动漫内容管理与传播问题的研究&#xff0c;现有研究主要以传统内容管理系统为主&#xff0c;专门针对基于SSM&#xff08;…

全国男生哄对象的 9 句 “保命金句”,听完气消一半!

1️⃣ “随便买&#xff01;账单我来结”2️⃣ “除了你&#xff0c;别人我都看不上”3️⃣ “我的错我的错&#xff0c;下次还听你的”4️⃣ “这辈子栽你手里&#xff0c;我认了&#xff01;”5️⃣ “碗我洗地我拖&#xff0c;你躺着追剧就行”6️⃣ “拼命搞钱&#xff0c;…

云手机在教育领域中的作用

云手机在教育领域正逐渐崭露头角&#xff0c;凭借其独特的优势为教育带来诸多积极影响&#xff0c;在丰富学习资源、促进个性化学习以及创新教学模式等方面发挥着重要作用。传统学习设备可能因配置有限&#xff0c;无法安装或流畅运行一些大型学习软件、在线课程平台等&#xf…