加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

JX音频光谱仪(源码)

2021/02/20
727
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(2)
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

一个使用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库。

 

  • 原理图.rar
    描述:原理图
  • jx_audio_spectrometer.c
    描述:源码

相关推荐

电子产业图谱