当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]这个电路利用555定时器、7400系列逻辑芯片,以及一些电阻和电容,来演奏《在毁灭之门》的开场旋律。整个过程无需微控制器、计算机或任何软件。最初的版本是用面包板搭建的,但我希望将其升级为更稳定的装置。

这个电路利用555定时器、7400系列逻辑芯片,以及一些电阻和电容,来演奏《在毁灭之门》的开场旋律。整个过程无需微控制器、计算机或任何软件。最初的版本是用面包板搭建的,但我希望将其升级为更稳定的装置。

新版本将整个电路集成到一块定制的PCB板上。我还用LM386音频放大器取代了PAM8302模块,并添加了六个LED灯,用于显示当前正在播放的音乐音符。

工作原理

基本操作与面包板版本相同。

该电路可分为五个主要部分:

•节拍时钟

•序列计数器和解码器

•二极管音符矩阵

•音高选择和音频振荡器

•音频放大器

信号在电路中的传输路径如下:

设置节拍

第一个NE555被配置为一个双稳态振荡器。电容通过定时电阻反复充放电,使输出持续在高电平和低电平之间切换。

该振荡器运行频率约为7.33 Hz,每约136毫秒产生一次新的时钟脉冲。通过可调电位器可以调节节拍速度,同时使用万用表、示波器或逻辑分析仪测量输出频率。

这个NE555本身不产生声音,它只是通知电路其余部分何时应进入下一个音符。

通过小节进行计数

时钟信号输入一个74LS161N四位二进制计数器。每次脉冲都会使计数器加一。

其四个输出端连接到一个74LS154N四选一译码器。译码器将二进制计数转换为独立的输出信号,使电路能为小节中的每个位置提供单独的电信号。

74LS154 的输出为低电平有效。当计数器处于零时,Y0 会变为低电平。在下一次计数时,Y1 变为低电平,接着是 Y2、Y3,依此类推。

该序列共有 16 种可能状态,但本节仅使用其中的 15 种。因此,Y15 通过一对 2N3904 晶体管连接到计数器的低电平有效清零输入端。当达到 Y15 时,会将 74LS161 重置为零,从而重新开始计数序列。

此外,还提供一个按钮,可手动重置该序列。

用二极管存储音乐

仅仅知道当前位置还不够,电路还需要知道该位置对应的是哪个音符。

这正是 1N4148 二极管矩阵的任务所在。

序列中有 15 个位置,但仅有六种不同的音高:

•E2

•B♭2

•B2

•C3

•D3

•E3

每个解码器输出通过二极管连接到六个音符总线中的一个。例如,如果多个位置同时播放E2,则所有这些解码器输出的二极管都会连接到E2总线上。

该二极管矩阵实际上就是电路的音乐记忆。没有存储音符列表的只读存储器(ROM),也没有软件决定下一个音符。序列是直接编码在布线中的。

每个音符总线通常通过上拉电阻保持高电平。当选择某个解码器输出时,该输出会变为低电平,并通过其二极管将相应的音符总线拉至低电平。

选择音符

下一阶段所使用的CD4066模拟开关需要的是高电平激活控制信号,因此这六个音符总线首先经过一个74HCT14六进制施密特触发器反相器。

选定的音符进入HCT14后变为低电平,再输出为高电平。

这六个输出中的每一个控制着芯片对内的一对CD4066芯片中的一个双稳态开关。每个开关又分别将不同的电阻和电位器组合接入第二个555定时器的时序网络中。

每次只选择一个音高网络。

第二个555是另一个双稳态振荡器,但它的工作频率为音频频率。其定时电容通过选定的电阻进行充放电,从而决定输出端产生的频率。

较大的电阻值会产生较低频率,而较小的电阻值则产生较高频率。因此,同一个555可以生成全部六个音符。

添加音符LED

PCB版本在六个音高中各增加了一个LED。

这些LED连接到74HCT14的主动高电平音符选择输出端。当其中一个输出变为高电平以激活CD4066开关时,对应的LED也会亮起。

这意味着现在你不仅可以听到音乐,还能看到电路逐步执行音乐的过程。

将指示灯连接在此处还能避免它们靠近第二个555的模拟定时网络。这些LED用于监测数字控制信号,而不是加载决定音高的电阻和电容网络。

调音六个音符

音高电阻使振荡器频率接近所需频率,但固定电阻值不够精确,无法单独调节电路。组件公差、定时电容、555振荡器以及CD4066开关都会影响最终频率。

因此,每个音高都有对应的可调电阻旋钮。

最简单的调谐方法是暂时将音序器移出系统,然后手动激活每个CD4066开关。

在拆卸或安装集成电路前,请先关闭电源。

首先,从插槽中拔下74HCT14芯片,这会切断正常音符选择信号对六个CD4066控制输入的连接。每个输入端都带有100 kΩ的下拉电阻,因此当HCT14被移除后,所有六个开关默认处于关闭状态。

重新为电路供电,并将频率计、带频率模式的万用表、示波器或逻辑分析仪的地线连接至电路地。测量音频555管第3引脚的输出信号。

要调整一个音高,需将+5 V电压接至对应音符的CD4066控制输入端,这样仅该模拟开关会被激活,其电阻网络将与音频555管相连。

此时振荡器应能持续产生该音符。

调整相应的可调电阻,使测得的频率尽可能接近目标频率。

重复此过程,对全部六个音高进行调整。

对于每个音符,暂时将+5V连接到上方所示的控制引脚,调整该音符的电位器,同时观察测量到的频率,并在频率尽可能接近目标值时停止。

在切换到下一个音符前,请先断开+5V连接。每次只应使一个CD4066控制输入端保持高电平。

当六个音高都调好后,关闭电源,将74HCT14重新安装到正确方向,然后再次通电。此时,序列器即可自动选择已校准的音高。

同样的基本方法也可用于设置节拍。测量555定时器的引脚3,调整其电位器,使时钟频率约为7.33 Hz。

更换PAM8302

面包板原型使用了PAM8302放大器扩展板,效果良好,但当放大器可直接集成到电路板上时,使用模块反而显得不必要。此外,它也未能完全匹配电路其余部分所呈现的复古风格。

我将其替换为LM386,这是一种小型音频放大器集成电路,仅需少量外部元件即可工作。

音频555的方波输出通过一个耦合电容和一个音量电位器,再到达LM386的输入端。耦合电容可阻隔555输出中的直流分量,而电位器则用于调节信号电平,从而控制音量大小。

LM386将该信号放大到足以驱动扬声器的水平。其输出信号在到达扬声器之前,需经过一个较大的电解电容进行耦合,因为与PAM8302模块不同,LM386输出存在直流偏置,必须加以屏蔽。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭