|
Raspberry Pi Zero WH是一款多功能的单板计算机(SBC),只需几行代码就可以产生音调。您可以使用一些现成的电子组件轻松制作音调发生器。
在本篇文章中,我们将向您展示如何使用一个8引脚的功率放大器来放大Pi Zero产生的基于频率的音调。此外,使用gpiozero库,EduBlocks构建生成音调的代码,因此您还将学习如何查看在EduBlocks编程环境中创建等效gpiozero Python代码。
所需的硬件 要制作Pi Zero WH音调发生器,您将需要以下组件: ● LM386功率放大器集成电路 ● 10KΩ电位器 ● 8Ω扬声器 ● 470µF电解电容器 ● Pi ZeroWH开发板 ● 面包板 ● 跳线
在深入研究项目制作之前,让我们简要回顾一下LM386功率放大器IC的基础知识。
LM386功率放大器IC 为了听到Pi Zero的声音,您需要一个音频放大器。有多种音频放大器电路可用于此应用。
可以使用级联的几个分立晶体管来构建音频放大器,以增加电路的放大增益,聆听Pi Zero WH单板计算机生成的音调。但是,听音频信号的一种更简单有效的解决方案是使用LM386功率放大器IC。
图1. LM386功率放大器IC
LM386功率放大器是一个8引脚IC,可以将低音频信号放大到适当的可听声音电平。它还可以基于放大增益因子来增加低信号。
LM386的放大增益范围为20至200。在内部,基于1.35KΩ电阻,放大增益默认为20。要从外部改变增益,可在引脚1和8两端放置一个电阻进行调节。使用适当的电阻,可以从外部获得200的放大增益。 LM386 PA具有一个电流放大器,能够驱动4欧姆(Ω)至32Ω的扬声器负载。
另外,电源电压范围是灵活的。+ 4V至+ 15VDC的工作电压范围为LM386提供了适当的电气功能。
图2显示了LM386的引脚排列。
图2. LM386引脚说明
通过使用LM386,诸如Big Ears、光和声音检测器以及信号调理-放大电路接口之类的各种设备都变得可能。除了检测和信号调理电路之外,LM386 PA IC还适合制作8瓦和16瓦音频放大器。要查找其他电气规格和放大器电路,请查看LM386数据手册。
将LM386连接到Raspberry Pi Zero 为了听到Pi Zero WH的声音,您需要将LM386连接到Pi Zero,并将音量控件连接到LM386。音量控件通过在Pi Zero的输出引脚和LM386的输入引脚之间连接音量控件来调整Pi Zero的输出信号幅度。
图3显示了Pi Zero和LM386之间的音量控制位置的基本系统框图。这是音调发生器的三个关键组成部分。
图3. Pi Zero WH音调发生器系统框图
您可以使用材料清单中提供的电子组件,并将其排列在面包板上,如电气接线图所示。
图4. Pi Zero WH音调发生器的电气接线图。
如图4所示,470μF电解电容器是有极性的。因此,必须按照电气接线图所示放置电容器,以确保LM386正常工作。作为参考,Pi Zero WH音调发生器的等效电子电路示意图如图5所示。
图5. Pi Zero WH音调发生器电气接线图。
图6的示例显示了LM386和Pi Zero连接的完整图。
图6. 连接至LM386 PA IC的Pi Zero WH SBC。
将Pi Zero WH电连接到LM386 PA后,我们就可以使用EduBlocks对音调发生器进行编码了。
EduBlocks音调发生器代码 音调发生器代码主要是一个LED闪光灯,您可以通过更改打开和关闭时间值来控制声音。
Pi Zero的GPIO17引脚上的输出闪烁速率产生一系列脉冲或方波。在EduBlocks中打开一个新的编程窗口,然后选择图7所示的块。
图7. 内置在EduBlocks中的音调发生器代码。
您可以通过选择编程窗口上的“code”按钮来查看等效的Python代码。
用鼠标单击按钮后,您将在屏幕上看到等效的Python代码。 该代码的核心使用gpiozero库。 gpiozero库利用Python,并允许您使用Raspberry Pi快速创建物理计算设备。
图8. 等效的Python Tone Generator代码。
如图7和8所示,您可以通过更改时间值来调整发生器的音调或声音。 您可以通过相应地更改值来创建低调或高调。 图7和8中显示的time_value产生一个频率为88.1Hz的音调。
图9. 产生的88.1赫兹(Hz)音调的time_value值为0.005。
您可以通过更改time_value来尝试使用新的音调发成器。 如果您想在产品中添加更多内容,可以添加串联限流电阻的LED,提供视觉效果。 |