利用蜂鸣器播放音乐

这篇具有很好参考价值的文章主要介绍了利用蜂鸣器播放音乐。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        我们知道,蜂鸣器可分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器内置了频率发生电路,因此其通电就能够发出声音,但是其频率是固定的,而无源蜂鸣器内部没有频率发生电路,需要外界给予频率,因此适用于单片机控制使其发出不同的音调频率。在这一点有源蜂鸣器是做不到的。现在就利用无源蜂鸣器播放不同的音乐。

无源蜂鸣器的原理图:

蜂鸣器播放音乐,单片机,嵌入式硬件

 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来驱动振动膜发声的。因此需要一定的电流才能驱动它,而单片机I/O引脚输出的电压较小。单片机输出的TTL电平基本驱动不了蜂鸣器,因需要增加一个放大电路。这里用三极管作为放大电路。

由原理图分析知:通过控制晶体三极管的导通和截止就可以控制蜂鸣器的开关,因此通过控制GPIO_PB5引脚的高低电平的变化就可以控制三极管的导通截止。但是需要注意的是,在使用无源蜂鸣器时,单纯地给它高电平是不能使其导通的,这反而会时蜂鸣器中的项圈持续发热,长时间甚至可能损坏蜂鸣器,因此我们必须保证在空闲的状态下引脚的电平是高电平,使三极管截止。原理图中加入了上拉电阻正是防止在空闲状态下损坏蜂鸣器。

那么蜂鸣器能够发出不同的声音的原理是通过PWM波来驱动实现的,通过调节PWM波的频率就可以输出不同的声音。即引脚高低电平的变化,来产生频率一定的方波进而驱动蜂鸣器,而通过延时长度就可控制其节奏。假设要产生1kHz的频率,即每秒产生1000个振动周期,也就是一个频率周期就是1000us,所以通过控制方波高低电平的占空比就可以发出1kHz的音调频率。

蜂鸣器播放音乐,单片机,嵌入式硬件

软件实现:

基于STM32固件库函数控制蜂鸣器播放音乐

蜂鸣器播放音乐,单片机,嵌入式硬件

部分主要程序:

蜂鸣器播放音乐,单片机,嵌入式硬件 蜂鸣器播放音乐,单片机,嵌入式硬件

        第一个枚举用于定义各个音阶对应的频率值,这样封装的目的是可以让简谱数组更易维护,接下来就是定义的简谱数组,只要按照简谱结构编写数组,就可以让单片机弹奏你的音乐。该数组有三部分组成,第一部分就是音调,第二部分就是数字表示的延时节奏,最后是两个 0,用于告诉单片机,此时演奏完毕,退出演奏循环。用两个 0 的目 的是,如果简谱是一个节奏对应一个延时的话,那么它是偶数个演奏单元,所以会用到最后 一个零,如果是奇数个演奏单元,就用到第一个 0 来标识结束。结束状态的控制也可以通过for循环控制。

通过下载调试最后能够达到很好的效果,如果想要达到更佳的效果可以通过调试延时长度达到自己想要的效果。

 文章来源地址https://www.toymoban.com/news/detail-517174.html

 

 

到了这里,关于利用蜂鸣器播放音乐的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FPGA】五、蜂鸣器播放音乐

    文章目录 前言 一、蜂鸣器简介 二、音频音符简介 三、任务要求 四、程序设计 1、设计思路  2、程序代码    总结         蜂鸣器(Buzzer)是现代常用的一种电子发声器,主要用于产生声音信号。它是一种一体化结构的电子讯响器,采用直流电压供电,被广泛用于计算机、

    2024年02月11日
    浏览(47)
  • STM32蜂鸣器播放音乐(代码全)

    在STM32F103ZET6板子上使用蜂鸣器播放音乐,我们可以将其分为几个模块:初始化模块、蜂鸣器控制模块、音乐播放模块和主函数模块。以下是一个简单的示例代码,使用STM32 HAL库和定时器来驱动蜂鸣器播放音乐。 首先,确保你已经配置了STM32CubeMX或STM32CubeIDE,并生成了HAL库代码

    2024年04月25日
    浏览(40)
  • 开源小项目 - 基于无源蜂鸣器实现的音乐播放器

    目录 一、音乐简谱相关知识 1、音符 2、音调 3、识读简谱 1. 找到简谱中C调的音符对应的蜂鸣器频率(确定音调对应的频率) 2. 确定蜂鸣器演奏一拍所需的时间(即确定一个音调对应的节拍数) 3.创建结构体确定一个音符所需的两个属性(音调频率、节拍数) 4.将《两只老虎

    2024年03月10日
    浏览(49)
  • 单片机-蜂鸣器

    蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电 蜂鸣器主要分为 压电式蜂鸣器 和 电磁式蜂鸣器 两 种类型。 压电式蜂鸣器 主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工

    2024年02月09日
    浏览(48)
  • 51单片机蜂鸣器

    目录 前言 一、蜂鸣器介绍 二、蜂鸣器的工作原理 三、示例代码 总结         这节来看点轻松的,51单片机的蜂鸣器。         蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等。         蜂鸣器按驱动方式可分为有源蜂鸣器和无源

    2024年02月09日
    浏览(53)
  • FPGA实现蜂鸣器播放音乐实验,以儿歌《两只老虎》为例

    ** ** 开发板上电后,通过蜂鸣器播放《两只老虎》。 原理:想要让蜂鸣器播放音乐,就需要知道每个音符的频率,再通过换算将频率转换为周期,再结合开发板具体的系统时钟周期,便可计算出每个音符对应多少个系统时钟周期个数,通过对这些个数计数,便可控制蜂鸣器播

    2024年02月15日
    浏览(111)
  • STM32通过PWM输出使蜂鸣器实现播放音乐功能

    源码下载链接[点击跳转] https://download.csdn.net/download/Coin_Collecter/88641632        PWM ,全称 Pulse Width Modulation ,即脉宽调制技术,是一种通过改变信号的占空比来控制电路的技术。在 PWM 信号中,周期是固定的,而占空比则可以根据需要进行调整。通过改变占空比,可以控制电路

    2024年02月02日
    浏览(52)
  • 音乐播放器蜂鸣器ROM存储歌曲verilog,代码/视频

    名称:音乐播放器蜂鸣器ROM存储歌曲 软件:Quartus 语言:Verilog 代码功能:        设计音乐播放器,要求至少包含2首歌曲,使用按键切换歌曲,使用开发板的蜂鸣器播放音乐,使用Quartus内的ROM IP核存储音乐文件, 简谱存储在ROM中,共2首歌曲。      《茉莉花》的简谱存

    2024年02月04日
    浏览(52)
  • 51单片机(十一)蜂鸣器

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月08日
    浏览(39)
  • STM32-PWM驱动无源蜂鸣器播放音乐(附网盘代码)

    一、工作原理: 1.利用STM32的定时器PWM输出通道,驱动蜂鸣器以特定频率发声,实现播放音乐的效果。 2.C调音符与频率对照表: 3.以下为常用的七声音阶频率(Hz): #define  MC         262    Do #define  MD         294    Re #define  ME         330     Mi #define  MF   

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包