13浏览
查看: 13|回复: 1

[项目] 【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较

[复制链接]
如果您希望 LED 显示屏对声音做出反应或随着音乐跳舞,则需要在 WLED 控制器上添加麦克风。WLED 的音频反应版本支持模拟和数字麦克风。您应该为您的项目使用哪个?本指南将探讨这两种选择。

WLED 的声反应式分叉自 2018 年以来一直存在,但它经常落后于正式版本,并且经常有自己的问题。但从官方 WLED 的 0.14.0 版本开始,可以安装音频反应版本。

目前,这被认为是一个用户 Mod,但 WLED 的最新测试版(截至本文撰写时的 v0.15.0-b5)在基础版本中包含音频反应性,因此单独的音频反应版本不会显示为安装选项。如果 0.15 的正式版在基础镜像中包含音频反应性,则某些设置屏幕可能与此处显示的屏幕不同......它们都来自最新的 v0.14.4 版本的 WLED。

虽然有许多不同类型的麦克风,但本文将介绍模拟和数字版本的最常见选项。将包括 WLED 中的比较、接线和设置。但是,要查看两个麦克风与音乐和其他音频的并排测试,请观看相关的 YouTube 视频模拟与数字:音频反应式 WLED 的最佳麦克风。

零件清单
与往常一样,我喜欢从此处或视频中使用或显示的所有部件的列表开始。对于 ESP32,我将展示三个不同的版本。视频中介绍了这些差异,但选择主要取决于您希望如何构建基本 WLED 控制器。ESP32 的所有三个版本都与音频反应 WLED 和测试的麦克风配合得很好。

Base 控制器
用于比较的模拟和数字版本都以基本的 WLED 控制器开始。

我不会在这里介绍构建基本控制器的分步过程,但我还有其他视频和文章将向您展示如何构建基本的 WLED 控制器;简单的面包板版本和焊接版本:

如何快速构建您的第一个 LED 控制器(视频 - 试验板版本)
使用 WLED 以不到 6 美元的价格构建您自己的 LED 控制器(视频 - 焊接版)
标准接线图 (博客 - 各种 LED/WLED 接线图)

麦克风将被添加到这些基本 WLED 控制器中,每个控制器都安装了最新的 WLED 生产版本(截至发布时为 0.14.4)。

麦克风比较
如前所述,有许多类型的麦克风兼容,并且可以与 WLED 的音频反应版本配合使用,但我将使用两种最常见和推荐的麦克风:MAX9814(模拟)和 INMP441(数字)。

尽管 MAX9814 可以处理 5V 电压,但我将通过 3.3V 为这两个设备供电。INMP441 实际上只比 MAX9814便宜一点,但成本会根据购买的数量而有所不同。另一个主要区别是 MAX9814 模拟麦克风只需要一个 GPIO 引脚(除了电源/接地),而 INMP441 数字麦克风需要四个 GPIO 引脚。

MAX9814 模拟麦克风引脚排列和接线

GND:连接到任何公共接地点。如果您使用的是面包板(或 ElectroCookie),则可以创建电源轨并在其中使用接地连接。否则,请连接到 ESP32 上任何可用的接地引脚。

Vdd:同样,可以使用 3.3V 或 5V。我选择连接到 3.3V 电源轨。

增益: 可以设置三种不同的增益级别,具体取决于您是不连接此引脚(浮动 - 60dB)、将其接地 (50dB) 还是 Vdd (40dB)。WLED 网站的推荐设置为 40dB,因此该引脚也将连接到 3.3V。

输出:这是模拟信号输出。它应该连接到 ESP32 上任何有效的 ADC1 引脚。我正在使用 GPIO32。重要提示: 请勿尝试使用任何 ADC2 引脚。这些引脚不能用于模拟信号,因为 WiFi 处于活动状态。

AR:这是为了设置 Trilevel Attack 和 Release 比率。与增益一样,该值可以根据此引脚是悬空(未连接 - 1:4000)、接地 (1:500) 还是 Vdd (1:2000) 来更改。对于我的安装,我让它保持浮动状态,这样它就不会连接到任何东西。

配置 MAX9814 模拟麦克风
至少在 WLED 的 0.14.x 版本中,可以通过 WLED Config 菜单在 Usermods 下找到麦克风设置。

在 Usermods 下,您应该会看到 AudioReactive 的部分。如果您没有看到此部分,则您可能没有安装具有音频反应功能的 WLED 版本。在选择此选项的情况下再次闪烁 WLED。对于 v0.15 及更高版本,这可能不是必需的,因为 beta 版本表明基本安装将包含音频反应性。

对于 MAX9814(或其他模拟麦克风),您只需启用音频反应并设置用于麦克风输出的 GPIO 引脚。请注意,下拉列表中仅显示有效、未使用的引脚。如果您尝试使用非模拟 GPIO 引脚或已在使用的引脚,则无法从下拉列表中选择。

以前版本的 WLED 在在此处进行更改后需要重新启动,因此建议您无论如何都重新启动控制器。

INMP441 数字麦克风引脚排列和接线
GND:连接到任何公共接地。同样,如果已创建电源轨,则可以使用任一接地轨连接。

VDD:INMP441的最大工作电压为 3.3V,因此必须连接到 3.3V。请勿尝试连接到 5V,否则可能会损坏或毁坏麦克风。

L/R:控制音频输出是在 I2S 数据包的左帧还是右帧发送。这主要用于具有双麦克风的立体声。对于 WLED,将仅使用单个单声道信号。L/R 接地,这将使用预期的左通道(连接到 VDD 以使用右通道)。

GPIO 引脚选择:对于其余的引脚/连接,GPIO 引脚的选择在某种程度上是任意的。大多数 pin 都可以工作,但也有一些例外。如果您想知道哪些引脚是可接受的,请转到控制器的 WLED 接口,下拉音频反应设置下的列表,并查看有效 GPIO 编号的列表(见下文)。

SD (串行数据):我将其连接到 GPIO15,但可以使用其他引脚。

SCK (串行时钟):我正在使用 GPIO14。

WS (Serial Word Select):我正在使用 GPIO32。

配置 INMP441 数字麦克风

同样,在当前版本的 WLED 中,麦克风设置可以在 Usermods 下找到,可通过主网页上的 Config 选项访问。

与模拟麦克风类似,您必须启用音频反应性。如果过去使用过模拟麦克风(或者为模拟麦克风指定了 GPIO 引脚),请将此引脚值设置为 unused。

在数字麦克风设置下,将 type 设置为 Generic I2S for the INMP441。对于其他数字麦克风,请下拉框并选择合适的麦克风类型。设置 SD、WS 和 SCK 引脚值以匹配您的控制器版本。INMP441 不使用 MCLK,因此应该不要使用它。但是,如果您的麦克风使用 MCLK 引脚,请设置此值以匹配您的连接。

设置或更改这些值中的任何一个后,建议您重新启动控制器。

效果和设置
定义麦克风并启用音频反应后,您将在 WLED 主页上看到许多新效果和一个过滤器框。

在效果列表中,您将看到一些具有单个八分音符 () ♪ 的效果,这表明 LED 将对声音振幅/音量做出反应。带有符杠八分音符 () ♫ 的音符表示将对频率做出反应的声音效果。那些没有音符的音效是仍然可以使用的 “正常” 效果,但它们根本不会响应来自麦克风的声音。

效果列表底部的过滤器框允许您将效果过滤为仅与特定值匹配的效果...例如声音反应性。

选择特定效果后,许多效果都有可以调整的其他选项:
这可能包括频率响应、淡化率、效果速度等。设置将根据效果而变化。
此外,在 Usermods 页面下还有许多通用麦克风设置可以更改以获得最佳效果。

静噪、增益等的值会因您的特定麦克风、其位置、音乐/音频源的类型等而有很大差异。您可能需要尝试各种值,以获得适合您情况的最佳响应。最初的 Sound Reactive WLED 分叉 wiki 包含一些可以帮助您入门的有用信息。尽管此分叉现已存档,但 wiki 中提供的大部分信息仍然适用于当前版本的音频反应式 WLED。

比较结果
虽然很难在书面文章中实际展示差异,但您可以在相关的 YouTube 视频 Analog vs. Digital: The Best Mic for Audio Reactive WLED 中看到不同麦克风的反应,但以下是我的一般发现和想法:

INMP441 数字麦克风提供了更好、一致和准确的结果,而无需不断调整静噪和增益等设置。
INMP441 具有更远的探测距离,可轻松从 30+ 英尺外拾取人声或音乐。
MAX9814模拟麦克风放置在靠近音乐或音频源的地方是可以的,但不同风格或节奏的音乐通常需要调整设置,如增益/静噪以获得最佳效果。
使用模拟麦克风时,其他模拟控件(如电位计)可能无法工作或不正常工作。
作为一般规则,数字麦克风在不影响其他外围设备使用的情况下提供更好的整体体验。请注意,官方和分叉 WLED 网站也建议使用数字麦克风。作为一般规则,INMP441也比 MAX9814 略便宜。权衡是 MAX9814 只需要一个 GPIO 引脚,而 INMP441则需要四个。

总体而言,在 WLED 控制器上添加麦克风只需几美元,但可以大大增加 WLED 显示器的效果数量和潜在用途。虽然声音反应性在矩阵显示器上可能更明显,但它们也可以与线性条形显示器一起使用。请注意,添加麦克风不会删除您之前的任何 “正常” 非音频反应效果。这样就可以轻松返回并将麦克风添加到现有的 WLED 控制器中(只要您也将它们更新到 WLED 的 v0.14x 或更高版本)。

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图2

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图3

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图1

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图4

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图5

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图6

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图7

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图8

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图9

驴友花雕  中级技神
 楼主|

发表于 5 小时前

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较
项目链接:https://resinchemtech.blogspot.com/2024/09/wled-mics.html
项目作者:ResinChem Tech

项目视频 :https://www.youtube.com/watch?v=vceTTsZAXvs
项目参考:https://www.youtube.com/watch?v=dXLOqGa-n5A
LED 控制器:https://www.youtube.com/watch?v=ifv6wV3Rm6A
3D外壳:https://www.thingiverse.com/thing:4969733

【Arduino 动手做】WLED:模拟麦克风与数字麦克风的比较图1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail