基于声音和网络时间的LED创意应用
1. 声音响应的WS2812 RGB LED灯条
通过MAX4466驻极体麦克风放大器模块控制WS2812 RGB LED灯条,能够实现对语音或音乐等声音的响应式灯光显示。麦克风检测到的声音水平决定了要点亮的WS2812 RGB LED的数量,LED的颜色也取决于声音水平。
MAX4466驻极体麦克风放大器模块使用3.3V供电,而非5V。其声音或峰 - 峰值定义为采样时间内记录的最大和最小声音值之间的差值。不过,该模块在使用时会检测到噪声,尤其是在包含控制RGB LED灯条的代码时。为了排除噪声,采用了中值滤波器,它会选择样本的中值,与选择样本平均值的循环缓冲区不同。例如,对于三个样本序列(每个样本有五个值):3, 4, 5, 6, 80;4, 5, 6, 80, 7;5, 6, 80, 7, 8,它们的中值分别是5、6和7。中值滤波可能会滞后于实际样本序列,但能排除极端值。
在相关代码中,MAX4466驻极体麦克风放大器模块在50ms的时间段内对声音进行采样,对应20Hz的采样频率,以此确定要点亮的RGB LED数量。使用样本大小为7的中值滤波器去除噪声。通过 adjustVol 变量调整驻极体麦克风的灵敏度,以增加或减少要点亮的RGB LED数量。改变灵敏度可能会导致一些RGB LED一直点亮,可通过 baseline 变量将其调整为零。 adjustVol 和 baseline 变量可在串口监视器中输入,通过 parseInt() 指令将串口缓冲区字符串转换为两个整数。对于包含30个RGB
超级会员免费看
订阅专栏 解锁全文
2784

被折叠的 条评论
为什么被折叠?



