人类的耳朵可以听到20Hz到20KHz频率的声音,不同频率的声音,我们听起来的感觉是不一样的。
当然人类对2KHz~4KHz频率的声音感觉是最敏感的,只要控制好音调和频率的变化就可以形成美妙的音乐。
单片机可以控制蜂鸣器发声音蜂鸣器是非常常见的发音元器,音乐卡、报警装置、电子琴、各种小家电等都会用到。
单片机的PWM功能可以设置输出不同频率的信号,所以我们可以利用单片机的PWM控制三极管的通断来推动蜂鸣器发声。
当然,如果单纯控制方波信号的通断,只可以得到单调的“嘀”、“嘀”声。
想要得到美妙的音乐,我们还需要控制音调、频率的变化,还有声音的强弱。
把蜂鸣器的驱动电路改进一下,用三个三极管和两个单片机的IO来控制蜂鸣器。
BZ PWM:用于控制蜂鸣器的发音频率BZ CONTROL:用于控制蜂鸣器的供电时间当BZ CONTROL为低电平时,三极管Q2、Q3是截止的,蜂鸣器没有供电,不会发声。
当BZ CONTROL为高电平时,三极管Q2、Q3是导通的,蜂鸣器是否发声由BZ PWM决定。
电路中的电容C10很关键,因为电容C10有储能的效果,BZ CONTROL转为低电平后,蜂鸣器的供电还可以由电容C10提供,电容电量减少,音量就会逐渐减小,形成蜂鸣声渐隐的和弦音效果。
如果想实现变调的效果,就可以通过短时间内切换发出几种不同频率的蜂鸣声来实现。
单片机控制蜂鸣器演奏音阶实例以2.7KHz频率的蜂鸣器为例,首先我们先定义T1、T2、Fy三个参数T1:驱动频率给定持续时间,单位为毫秒(ms),BZ PWM引脚控制T2:蜂鸣器供电持续时间,单位为毫秒(ms),BZ CONTROL引脚控制Fy:单片机输出PWM频率,单位为KHz,BZ PWM引脚控制单声和弦音:短暂鸣响后音量渐隐Fy=2.7,T2=200,T1=400,因为T1=400ms,蜂鸣器响的时间为400ms,但蜂鸣器供电只有200ms,所以,前200ms是正常发音,后200ms为音量渐隐的效果。
两声错误提示和弦音:二升调,按音调分2个阶段Fy=2.5,T2=100,T1=100Fy=2.7,T2=100,T1=100因为前100ms频率为2.5KHz,后100ms频率为2.7KHz,所以听起来会有升调的效果。
开机和弦音:三升调,按音调分3个阶段Fy=2.5,T2=100,T1=100Fy=2.7,T2=100,T1=100Fy=2.9,T2=100,T1=1000因为三声频率从2.5KHz升到2.7KHz再到2.9KHz,频率连续升高,最后一声的T1时间较长,还有音量渐隐的效果。
关机和弦音:三降调,按音调分3个阶段Fy=2.9,T2=100,T1=100Fy=2.7,T2=100,T1=100Fy=2.5,T2=100,T1=1000因为三声频率从2.9KHz升到2.7KHz再到2.5KHz,频率连续降低,最后一声的Tf时间较长,还有音量渐隐的效果。
另外音乐是由Do,Re,Mi,Fa,So,La,Xi,Do几个音调组成的,电子琴上的按键对应着不同的音频频率,只要通过单片机的程序控制发声的频率和时间就演奏了哦!欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习记得点赞和评论哦!非常感谢!
作为一名从事嵌入式开发多年的工程师,我来回答您的问题。
什么是音阶?音阶就是旋律,就是声音的高低音调变化。
就是音律。
单片机控制扬声器演奏音阶的原理,根据其方案的不同,实现的原理也将不一样。
第一种方案实现原理:选用无源蜂鸣器,这里为什么不适用有源蜂鸣器呢?原因是有源蜂鸣器内部电容极片已经固定,发出的音阶不会变化,对它进行 *** 作IO *** 作,无法改变有源蜂鸣器的音阶。
无源蜂鸣片采用PWM控制才能发声,并随着PWM频率增大,发出声音的音阶也会随着变化。
目前有一些简单的报警装置,就是采用单片机,控制PWM输出,并不断变化输出的频率,达到演奏的效果。
优缺点:设计简单,成本低廉,音质很差,只能实现少数几种音阶,产品应用场景不多。
第二种方案实现原理使用语音芯片,提前将各种音乐录制到芯片当中,如果需要演奏出来的音乐总时间比较短的话,一般是SOP8的封装,价格一般几毛钱,再加一个喇叭,利用单片机控制语音芯片的引脚时序,就能播放出音乐出来了,目前的普通小玩具的设计原理就是这样的。
优缺点:开发设计较为简单,成本较为低廉,音质尚可,能实现固定的多种声音和音乐,但无法进行更新音律,产品应用有些限制。
第三种实现方案的原理单片机通过SPI等接口读取存储外设中的音频文件,再通过I2S接口将音频数据流,发送给音频芯片,音频芯片外接功放芯片驱动喇叭播放出美妙的音乐。
常见的MP3,插卡音箱都是类似的实现原理。
优缺点:不管是软件开发过程,还是硬件设计,PCB布板走线,都十分复杂,而且电子IC多,外围电阻电容也增加很多,成本相对高,但音质效果好,音阶变化多样,音乐可以进行更新。
我是科技电小二,嵌入式开发工作多年,我会持续输出嵌入式开发,电子产品设计方案构思,欢迎大家支持,点赞,转发,和关注我,谢谢大家
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)