一个使用OLED显示器和FFT库生成音频频谱的小工具。为您的音乐增添一抹生机。
硬件部件:
- Arduino Nano R3 × 1个
- Oled黄蓝色显示128x64 I2C(SH1106驱动程序)× 1个
- 电阻4.75k欧姆 × 3
- 电阻100k欧姆 × 2
- 电容100 nF × 2
- 电容器47 µF × 1个
只是一个简单的小工具
使用任何Arduino模型和ArduinoFFT库(一个0.96英寸的双色OLED显示屏),您都可以制造出这种漂亮的光谱仪,这是经典VU仪表的有趣替代品。
在试验板上进行试验后,我制作了一个独立的原型,燃烧了ATmega328,在原始照片中清晰可见。
问题在于能够将代码放入Arduino内存中,因为大多数内存都由显示帧缓冲区占用。在这方面,我建议您使用I2C SH1106显示器。我没有尝试过使用硬件,但是SSD1306模型库显然在编译时仅占用较少的内存,但是一旦执行了草图,它就会停止,仅用于在运行时创建缓冲区。
市场上有相同的显示器,但VCC和GND引脚接反了,所以要小心。
观察代码,您会发现绘制竖线的循环从值2而不是零开始。这不是疏忽,但我故意这样做是因为以下简单原因,即前两个采样频带包含太多的低频噪声。可能也是因为我将其连接到PC的音频输出,并且存在阻抗匹配问题。此外,奇怪的是,我购买的显示器的水平分辨率为127像素(从0到126),而不是如上所述的128,如果您尝试写入第127列,则将其绘制在显示器的左侧,即第0列之前。这可能是由SH1106库引起的,该库基本上是经过修改的Adafruit_SSD1306库。