其他分享
首页 > 其他分享> > 一种非常简单的用arduino控制蜂鸣器播放音乐的方案

一种非常简单的用arduino控制蜂鸣器播放音乐的方案

作者:互联网

微信关注 “DLGG创客DIY”

设为“星标”,重磅干货,第一时间送达。

    今天来聊聊用arduino控制蜂鸣器播放音乐的方案,当然必须还是老风格,虽然可能不是最佳方案,但一定是简单粗暴易懂的。走起。。

    如下图所示,这货就是蜂鸣器,很多地方都会用它,简单记住这货是用来发出简单声音的

    有体积小、价格低等优点。

    下图是网上找的,因为有源的只能发出一个频率的声音,所以我用的比较少,是否是引脚一个长一个短没太注意过,下图给大家参考用。只要记住我们这次用他来播放简单的音乐,用的是无源的,就行了。

    硬件连接:就两个引脚也不用太纠结,没有声音就换一下。如果使用模块的话是3个引脚,一个电源,一个地,一个信号,也非常好接

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

    “篇幅限制”,今天就先不聊原理了,直接来使用方法。

    网上大部分例程都是在一个数组里写好乐谱的,这样不太容易理解,也不太容易复用到其他的歌曲上。今天介绍的这个程序是按照简谱一个一个对应出整个歌曲。

    拿两只老虎这个歌来举例,下边是两只老虎的简谱:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

    需要注意两点

    一是音符:即Do 是1,Re是2.。。。

    二是节拍:(这样记)如果数字上下没有横线就按持续时间500ms(其实好像是480ms)

    注:因为音乐我也不太懂,所以那些调和节拍啥的也对应不上,但两只老虎这个歌曲比较简单,是没有问题的

    可以看到第一段是1231都是一拍的非常简单,我们直接跳到第三段345-,这里可以看到5后边有个-,我们将延迟时间增加一倍即可。最终前4段的程序用米思齐表示就是下边这样:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

    其中第一个参数是引脚,即将蜂鸣器接到arduino的哪个引脚上。

    频率就是Do Re Mi...只不过用CDEF表示的,当然不太好看,我还是习惯看1234,下次有机会给他改过来。

    最后一个参数持续时间就是刚才说的节拍,500那个,两拍就是1000.

    就这么简单,理论上对应简谱可以搞出各种音乐。下次我们看一下这个程序何如在arduino IDE编辑器里用C语音写出来和在ESP8266上运行。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

你点的每个在看,我都当成喜欢

标签:非常简单,蜂鸣器,引脚,arduino,音乐,简谱,节拍
来源: https://blog.51cto.com/u_15259603/2879484