亚博智能论坛  
  
查看: 1333|回复: 3

micro:bit小制作(3)蜂鸣器音乐

  [复制链接]
  • TA的每日心情
    萌哒
    2018-5-17 16:00
  • 176

    主题

    275

    帖子

    1106

    积分

    超级版主

    Rank: 9Rank: 9Rank: 9

    积分
    1106
    发表于 2017-11-10 16:19:37 | 显示全部楼层 |阅读模式
    本帖最后由 Master 于 2017-11-10 16:30 编辑

    大家好,又到亚博智能一周一个的micro:bit小制作时间啦,今天我要教大家的是如何用micro:bit驱动一个无源蜂鸣器,小小蜂鸣器,玩法无穷多哦~演示效果
    一、接线图
    接线图.png
    二、原理
    1、蜂鸣器类型及对应发声原理
        蜂鸣器有“有源”和“无源”两种类型,有源是指其内部自带多谐振荡器等结构,外部只需要提供工作电压,它(内部的振荡器就工作)就能发出固定频率的声音;而无源的是指内部没有带振荡源,需要外部驱动电路提供一定频率的驱动信号。
        我们这次实验所使用的蜂鸣器,就是无源蜂鸣器,需要输入振荡信号使它工作。2、蜂鸣器的声音
        无源蜂鸣器,也称电磁式蜂鸣器,主要由永磁体,线圈,振荡片构成。对于无源蜂鸣器,我们就可以通过控制振荡频率来发出不同的声音,常用的频率是1K,2K,4K等。   发声过程为:外部按一定频率提供驱动一个振荡信号(一定占空比的方波,该信号作用于线圈,产生的磁声与永磁体共同作用,使一片金属片(振荡片)发生振动,从而发出声音。
        频率表:
    //      do(1)      re(2)       m(3)       fa(4)        so(5)        la(6)      si(7)
    // 低 262Hz      294        330        349          392         440        494
    // 中_524Hz      587        659        698          784         880        988
    // 高_1046Hz  1175      1318       1397       1568       1760      1976
    //超高2092Hz  2351     2636       2794       3136       3520      3952
        上面这些频率加上不同的时长间隔,可以组合出乐曲。
        控制方式,在micro:bit中有一句函数,可以直接在p0引脚输入频率方波。
        使用振荡信号不同,蜂鸣器发出声音频率不同,就是这个原因。
    3、三极管放大电路,由于驱动蜂鸣器电流要求比较大,这里用到了8050来放大驱动。其实不用放大驱动蜂鸣器也能发声,但是声音比较小,这里建议还是加上一个放大电路。
    三、程序参考曲谱《送别》
    送别.png
    音符.png
    规律就是时间上单个音符没有下划线,就是一拍(1),有下划线是半拍(0.5),两个下划线是四分之一拍(0.25),有“—”=前面音符的拍子+1,有几个“—”就加几个1。
    列出频率和节拍:
    int tune[]=                 //频率
    {B5, B3, B5, BH1, B6, BH1, B5, B0, B5, B1, B2, B3, B2, B1, B2, B0,B5, B3, B5,BH1, B7, B6, BH1, B5, B0, B5, B2, B3, B4, BL7, B1, B0,B6, BH1, B0, BH1, B7, B6, B7, BH1, B0, B6, B7, BH1, B6, B0, B6, B5, B3, B1, B2, };
    float durt[]=                   //节拍
    { 1, 0.5, 0.5, 2, 1, 1, 2, 0.1,1, 0.5, 0.5, 1, 0.5, 0.5, 2, 0.1,1, 0.5, 0.5, 2, 0.5, 1, 1, 2, 0.11, 0.5, 0.5, 2, 0.5, 2, 0.1, 1, 1, 0.1, 2, 1, 0.5, 0.5, 2, 0.1,0.5, 0.5, 0.5, 0.5, 0.1, 0.5, 0.5, 0.5, 0.5, 2,};
    四、程序

    1.png
    2.png
    3.png
    .......
    4.png
    需要用到的程序积木:
    : 5.png
    6.png
    7.png
    8.png
    9.png
    10.png











    回复

    使用道具 举报

  • TA的每日心情
    大哭
    2017-7-26 09:46
  • 29

    主题

    51

    帖子

    155

    积分

    菜鸟程序猿

    Rank: 2

    积分
    155
    发表于 2017-11-13 08:56:24 | 显示全部楼层
    哇~楼主不错耶,越做越复杂了,看了你前几个实验。。。。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-21 16:59
  • 1

    主题

    16

    帖子

    24

    积分

    新手上路

    Rank: 1

    积分
    24
    发表于 2017-11-15 09:29:05 | 显示全部楼层
    很棒~!能自己做一个音乐播放器真是酷极了~!
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    43

    帖子

    46

    积分

    新手上路

    Rank: 1

    积分
    46
    发表于 2018-3-19 14:55:32 | 显示全部楼层
    分享了,好的,谢谢。
    回复

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表