美文网首页
13.树莓派GPIO音频简易使用

13.树莓派GPIO音频简易使用

作者: wdmomoxx | 来源:发表于2018-11-28 10:43 被阅读0次

由于在树莓派Zero上并没有预置音频接口,这个时候我们可以使用GPIO来制作一个简易的音频输出。

在树莓A型B型板子上都有一个预置的耳机接口,根据官方资料其采用的是也是GPIO音频输出,音频插孔输出是由PWM通道0和1提供的。PWM通道0连接在GPIO40,用于(立体声)右声道;PWM通道1连接在GPIO45,用于(立体声)左通道。

然而在树莓派Zero上并没有对GPIO40GPIO45引脚引出,那怎么办?

通过官方GPIO说明查阅可知PWM通道还是有很多个的,具体如下:

PWM0: GPIO12 GPIO18 GPIO40

PWM1: GPIO13 GPIO19 GPIO41 GPIO45

在树莓派Zero的GPIO上,我们可以使用其他4个引脚端口作为音频输出。

在知道硬件引脚信息后我们就可以自定义使用我们需要的引脚了,由于系统默认使用GPIO40GPIO45作为音频输出,这时候我们还需要进行软件上的引脚更改。

boot分区内有一个配件文件,我们通过修改/boot/config.txt文件来自定义使用音频引脚的序号。用文本编辑器打开,在文件的末尾添加一行参数,然后保存:

dtoverlay=pwm-2chan,pin=18,func=2,pin2=19,func2=4

这时候我们就可以使用GPIO18GPIO19作为音频输出,你也可以修改成GPIO12或者GPIO13

但是这样操作我们还不能直接使用,参观官方原理图,我们还需要对PWM通道输出添加相应的电路才可以驱动耳机喇叭:

1.png

至此树莓派Zero就可以使用GPIO作为音频输出了,我们好不容易给树莓派Zero添加了音频输出,但是发现效果一般。我们可以采用如下方法消除部分白噪:

软件方面

方法一:在/boot/config.txt文件中添加一行:disable_audio_dither=1 (可以调整输出的PWM脉冲宽度)

方法二:在/boot/config.txt文件中添加一行:audio_pwm_mode=2 (这是一个新的音频驱动程序,可以显着改善音质)

硬件方面

可以将系统音量调至最大,外部耳机接口可以使用支持硬件调音的耳机线,类似下图:

2.jpg

相关文章

网友评论

      本文标题:13.树莓派GPIO音频简易使用

      本文链接:https://www.haomeiwen.com/subject/mkhaqqtx.html