一种非常简单的用arduino控制蜂鸣器播放音乐的方案
作者:互联网
微信关注 “DLGG创客DIY”
设为“星标”,重磅干货,第一时间送达。
今天来聊聊用arduino控制蜂鸣器播放音乐的方案,当然必须还是老风格,虽然可能不是最佳方案,但一定是简单粗暴易懂的。走起。。
蜂鸣器硬件
如下图所示,这货就是蜂鸣器,很多地方都会用它,简单记住这货是用来发出简单声音的。
有体积小、价格低等优点。
下图是网上找的,因为有源的只能发出一个频率的声音,所以我用的比较少,是否是引脚一个长一个短没太注意过,下图给大家参考用。只要记住我们这次用他来播放简单的音乐,用的是无源的,就行了。
硬件连接:就两个引脚也不用太纠结,没有声音就换一下。如果使用模块的话是3个引脚,一个电源,一个地,一个信号,也非常好接
简谱到程序
“篇幅限制”,今天就先不聊原理了,直接来使用方法。
网上大部分例程都是在一个数组里写好乐谱的,这样不太容易理解,也不太容易复用到其他的歌曲上。今天介绍的这个程序是按照简谱一个一个对应出整个歌曲。
拿两只老虎这个歌来举例,下边是两只老虎的简谱:
需要注意两点:
一是音符:即Do 是1,Re是2.。。。
二是节拍:(这样记)如果数字上下没有横线就按持续时间500ms(其实好像是480ms)
注:因为音乐我也不太懂,所以那些调和节拍啥的也对应不上,但两只老虎这个歌曲比较简单,是没有问题的
可以看到第一段是1231都是一拍的非常简单,我们直接跳到第三段345-,这里可以看到5后边有个-,我们将延迟时间增加一倍即可。最终前4段的程序用米思齐表示就是下边这样:
其中第一个参数是引脚,即将蜂鸣器接到arduino的哪个引脚上。
频率就是Do Re Mi...只不过用CDEF表示的,当然不太好看,我还是习惯看1234,下次有机会给他改过来。
最后一个参数持续时间就是刚才说的节拍,500那个,两拍就是1000.
就这么简单,理论上对应简谱可以搞出各种音乐。下次我们看一下这个程序何如在arduino IDE编辑器里用C语音写出来和在ESP8266上运行。
你点的每个在看,我都当成喜欢
标签:非常简单,蜂鸣器,引脚,arduino,音乐,简谱,节拍 来源: https://blog.51cto.com/u_15259603/2879484