
参赛-使用Arduino制作32频段音频(音乐)频谱分析仪
频谱分析仪
简介
该项目是一个使用Arduino制作的32频段音频频谱分析仪/可视化器。它适用于音频爱好者、学生或初学者,具有低成本和易于组装的特点。该频谱分析仪支持五种不同的显示模式,可以通过按钮切换。音频信号的左右声道混合在一起,以确保不会错过任何节拍。使用32x8 LED矩阵显示器,可以轻松修改和改变显示。音频可以从耳机输出或音乐系统/放大器的线路输出馈送。通过这个项目,用户可以实时监测音频信号的频谱,并以可视化的方式呈现出来。
正文
该项目是使用Arduino制作32频段音频(音乐)频谱分析仪/可视化器。它适用于音频爱好者、学生或初学者,他们对电子元件、Arduino和C编程有基本的了解。该项目使用的组件成本低廉且易于组装。该频谱分析仪具有以下主要特点:
1. 使用易于安装的库"arduinoFFT"和"MD_MAX72xx"。
2. 支持五种不同的显示模式,可以通过按钮切换。
3. 音频信号的左右声道混合在一起,以确保不会错过任何节拍。
4. 原型使用32x8 LED矩阵显示器,可以轻松修改和改变显示。
5. 音频可以从耳机输出或音乐系统/放大器的线路输出馈送。
该项目的系统描述如下:Arduino板(ATmega328P)内置模数转换器(ADC),用于将输入音频信号转换为数字样本。ADC的采样频率为38.46kHz,通过将ADC预分频器配置为32来实现。采样频率为38.46kHz意味着数字样本可以再现高达19.23kHz的输入频率,这对于音频信号来说已经足够了。左右音频通道混合在一起并馈入ADC的A0模拟输入。ADC使用外部参考电压,参考电压来自Arduino板上的3.3V稳压电源。ADC的模拟输入端产生直流偏置,以确保ADC输出不会截断输入信号的负周期。ArduinoFFT库是将输入模拟信号转换为频谱的核心代码。该库使用64个样本进行FFT计算。该项目使用32列×8行LED矩阵进行显示,使用MD_MAX72xx库控制LED矩阵。每个频段的幅度映射到0到8之间的LED数量,通过打开/关闭相应数量的LED来实现。该项目提供五种显示模式,可以通过按钮切换,最后可以重置为默认模式。该系统能够响应高达18.6kHz的频率。
通过这个项目,用户可以实时监测音频信号的频谱,并以可视化的方式呈现出来。这对于音频爱好者、学生或初学者来说是一个有趣且有教育意义的项目。
1. 使用易于安装的库"arduinoFFT"和"MD_MAX72xx"。
2. 支持五种不同的显示模式,可以通过按钮切换。
3. 音频信号的左右声道混合在一起,以确保不会错过任何节拍。
4. 原型使用32x8 LED矩阵显示器,可以轻松修改和改变显示。
5. 音频可以从耳机输出或音乐系统/放大器的线路输出馈送。
该项目的系统描述如下:Arduino板(ATmega328P)内置模数转换器(ADC),用于将输入音频信号转换为数字样本。ADC的采样频率为38.46kHz,通过将ADC预分频器配置为32来实现。采样频率为38.46kHz意味着数字样本可以再现高达19.23kHz的输入频率,这对于音频信号来说已经足够了。左右音频通道混合在一起并馈入ADC的A0模拟输入。ADC使用外部参考电压,参考电压来自Arduino板上的3.3V稳压电源。ADC的模拟输入端产生直流偏置,以确保ADC输出不会截断输入信号的负周期。ArduinoFFT库是将输入模拟信号转换为频谱的核心代码。该库使用64个样本进行FFT计算。该项目使用32列×8行LED矩阵进行显示,使用MD_MAX72xx库控制LED矩阵。每个频段的幅度映射到0到8之间的LED数量,通过打开/关闭相应数量的LED来实现。该项目提供五种显示模式,可以通过按钮切换,最后可以重置为默认模式。该系统能够响应高达18.6kHz的频率。
通过这个项目,用户可以实时监测音频信号的频谱,并以可视化的方式呈现出来。这对于音频爱好者、学生或初学者来说是一个有趣且有教育意义的项目。