【个人经验分享】好玩的BGM神器拆解

最近迷恋红果,一刷就是一上午。突然间,我就想我出场的时候为什么没有强劲的音乐呢?难道我是NPC?不行,我得给自己配一个出场BGM!我不能当NPC!于是,我购买了一个BGM神器,总共有6个按键,每按一个按键就会响一种BGM,这样的话我就变成男主了!

电路拆解

拆掉电池后盖,可以看到他是使用三颗纽扣电池进行供电的,电池总电压是4.5V。然后拧掉后盖四角的四个螺丝,就可以拆前盖了。

电路板是一个单面板,电路也很简单,一目了然。电路由六个按键,四个5819二极管,一个扬声器,一个电容,一个SOP8的语音芯片(没有丝印,型号未知),一个拨码开关组成。拨码开关用于开关总供电。

电路分析

首先分析了一下,8个腿的单片机,两个腿用于电源和地,两个腿用来驱动喇叭,还剩下四个腿。那么四个腿是如何实现六个按键的按键检测呢?答案就藏在这四个二极管这里。

把按键电路抄下来之后呢,可以看到,所有的按键的一端是接到了电源正极,另一端接到了IO口,或者通过二极管接到IO后。按键1~4是单独连接到管脚1~4的,也就是说,当管脚1~4中的某一个被识别到高电平,那么也就是说按键1~4被按下了。按键5和按键6比较特殊,他通过了两个二极管共阳极接法接到了IO口。

那么举个例子,当按键5被按下的时候,管脚1和管脚2都会识别到高电平。也就是说当管脚1和管脚2同时检测到高电平的时候,也就是按键5被按下了。同理按键6的识别。

当然这种识别方式也是有BUG的,也就是当我同时按下按键1和按键2也会被识别成按键5。同时按下按键2和按键3会被识别成按键6。关于这个硬件BUG,实际测试也是如此。

按键部分的电路图如下所示:

成本控制

成本目前看到的控制部分有以下两点:

1.少打了一颗螺丝固定

2.拨码开关两侧固定作用的焊盘没开钢网,省点锡膏和焊点钱。

不过我感觉用四个二极管还是略微奢侈了点,这个按键识别做的一般,我见过最猛的是2个IO口+3个二极管识别6个按键,例如下图:

或者用三个IO口,识别上拉按键或者下拉按键,也可以实现6个按键的检测。也比较省钱