开启新的征程,邀请您见证ST的蜕变

【备战电赛】先导片-如何补全知识链条

智能车电机驱动(HIP4082+LR7843)

使用Arduino制作32频段音频(音乐)频谱分析仪

使用Arduino制作32频段音频(音乐)频谱分析仪

该项目用于使用Arduino制作32频段音频(音乐)频谱分析仪/可视化器。
硬件组件:

  • Arduino Nano R3× 1
  • 电阻10k欧姆× 1
  • 电阻4.75k欧姆× 3
  • 电容器100 nF× 2
  • 电阻100k欧姆× 2
  • SparkFun按钮开关12mm× 1
  • 32x8 LED矩阵显示器× 1

手动工具和制造机器:

  • 烙铁(通用)

该项目用于使用Arduino制作32频段音频(音乐)频谱分析仪。该项目的预期受众是任何音频爱好者,学生或初学者,他们对电子元件,Arduino和C编程有基本的了解。该项目中使用的组件是低成本的项目,易于组装。
该频谱分析仪的主要特点:

  • 使用易于安装的库“arduinoFFT”和“MD_MAX72xx”
  • 支持五种不同的显示模式,可通过按钮切换
  • 音频信号的左右声道都是混合的,这样你就不会错过任何节拍
  • 原型使用32x8 LED矩阵显示器,这可以改变和轻松修改
  • 音频可以从耳机输出或音乐系统/放大器的线路输出馈送

电阻值不是很严格,您可以选择任何最接近的值。请确保R1和R2(参考原理图)具有相同的值。
程序流程图:

系统描述:
Arduino板(ATmega328P)内置模数转换器(ADC),用于将输入音频信号转换为数字样本。ADC配置为采样时钟频率为38.46khz的输入信号。这是通过将ADC预分频器配置为32来实现的。采样频率为38.64Khz意味着数字样本可以再现高达19.32Kz(奈奎斯特定理)的输入频率,这对于音频信号来说已经足够了。
正如我在开始时提到的,该项目的目的是显示音频音乐信号的频谱。因此,左右音频通道混合在一起并馈入ADC的A0模拟输入。您可以使用音频分配器电缆,以便您可以将相同的音乐同时馈送到频谱分析仪和另一个放大器(如果需要)。
ADC配置为使用外部参考电压。在这个项目中,参考电压来自Arduino板上的3.3v稳压电源。当模拟信号在零电压电平之上和之下振荡时,我们需要在ADC的模拟输入端产生直流偏置。这可确保ADC输出不会截断输入信号的负周期。相同的3.3v稳定电压由两个电阻R1和R2分压,然后馈入模拟输入以进行直流偏置。使用此直流偏置,即使输入信号断开,ADC也会在输出中产生512。稍后在代码中,这个由DC偏置引起的512被减去,使得读数代表实际的输入信号变化。
ArduinoFFT库是将输入模拟信号转换为频谱的代码的核心。我发现这个库易于使用,并为该项目生成了最准确的输出。Prototype配置为生成64个样本,并使用这些样本进行FFT。ArduinoFFT库可以对16到128之间的样本进行FFT,这可以在程序中进行配置。但arduinoFFT库计算速度慢,有128个样本,因此我坚持64个样本中最好的最高。
本项目使用的显示为32列×8行LED矩阵。MD_MAX72xx库使显示控制部件非常容易。该库提供打开/关闭该程序中正在使用的列中任意数量的LED的功能。每个频带的幅度被映射在0到8之间,这取决于每个列中的LED的相应数量的LED被接通。
该程序提供五种显示模式,基本上通过在每列的不同位置打开/关闭LED来实现。您可以轻松修改/创建不同的模式。这里使用按钮来改变显示模式,转动显示图案移动到下一个,最后重置为默认模式。按钮连接到其中一个数字输入,并在每一轮显示刷新后扫描该输入。
频率响应:
经验证,系统能够响应高达18.6Khz的频率。

电路项目的主要芯片及数据手册

电路相关文件

电路图文件
源代码
source_code.ino
描述:源码
其他文件
原文地址.txt
描述:原文出处
分享到:
收藏 (5)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归Shajeeb所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 智能且有诗意的OLED显示徽章

    这是一款小巧的智能OLED徽章,可以显示徽标,信息和诗歌。硬件组件:Seeed Grove - OLED Display 1.12''V2× 1 DigiSpark× 1 Arduino Mini 05× 1 软件应用程序和在线服务:Arduino IDE
    来自:DIY创意产品时间:2019-02-15 arduino led oled
  • Arduino LED骰子,摇晃起来

    一年前,和儿子一起制作了一个简单的Arduino骰子。在此期间我们学到了很多东西,现在是时候进行更新......硬件组件:Arduino Nano R3× 1 3mm 8x8点阵MAX7219× 1 倾斜开关模块和数字接口× 1 滑动开关× 1 MT3608 DC 2A升压电源模块2v-24v至5v / 9v / 12v / 28V升压转换器× 1 软件应用程序和在线服务Arduino IDEAutodesk Fusion 360手动工具和制造机器:烙铁(通用)热胶枪(通用)骰子仍然是一个完美的入门项目。该功能每个人都很清楚,很容易理解。几乎所有东西都有一个现成的组件。在寻找Arduino或Raspberry Pi的入门套件时,最好看到这一点。LED,按钮和任何类型的传感器等组件都构建在电路板上,因此可以通过几条线连接和使用到GPIO。简单但足够的3D打印机在ebay上可用,价格低于140欧元。几乎所有支架,安装或外壳变化都可以用它来创建。开发自己的项目还有很多机会。这方面的一个例子是我们的新骰子2.0。
    来自:DIY创意产品时间:2019-02-15 arduino led矩阵 骰子
  • 打造心形OLED显示器,为你“写”诗

    硬件组件:Adafruit Circuit Playground Express× 1 Adafruit SSD1306 oled× 2(或其他0.96英寸128X64像素OLED LCD,带有可选的I2C地址)锂离子电池1000mAh× 1 软件应用程序和在线服务:Arduino IDE手动工具和制造机器:烙铁(通用)热胶枪(通用)该版本使用Adafruit的Circuit Playground Express驱动2个OLED显示器。内置加速度计用于检测有人拿起或翻转它的时间。每次翻过时,显示都会前进到诗的下一行。同时向两个显示器发送相同的文本。
    来自:DIY创意产品时间:2019-01-30 arduino oled 创意diy
  • 能根据周围环境的声音随即改变颜色的LED立方体

    在本教程中,我们将制作一个光立方体,它将根据周围的声音改变颜色。硬件组件: Arduino Nano R3× 1 可寻址LED UCS1903B× 1 SparkFun Electret Microphone Breakout× 1今天我们将制作一个声音反应性木制立方体,它可以与周围的声音或振动完美同步地改变颜色。 声音将由麦克风模块拾取并馈送到Arduino模拟输入。然后使用接收的模拟值,我们将随机改变LED的颜色。
  • 使用Arduino Leonardo和IR传感器的手势控制

    在这个项目中,我们将使用Arduino Leonardo和一些红外传感器制作一个简单的手势控制设备。我们只需动手即可实现对PC或手机的任何控制。硬件组件: Arduino Leonardo× 1 适用于Arduino的AD-032红外避障传感器× 1 我们正在使用Arduino键盘库将IR障碍物传感器的输入转换为用于在NFS游戏中控制汽车的击键:当触发右上和左上传感器时,它将模拟向上箭头键。当 触发右下和左下传感器时,它将模拟向下箭头键。当 触发右上和右下传感器时,它将模拟右箭头键。当触发左下和左上传感器时,它将模拟左箭头键。电路描述:将传感器安排在莱昂纳多板的四个角上,如视频中的图所示。将ir传感器模块的所有VCC连接到Leonardo的3.3 v或5v,并将所有四个传感器的接地连接到Arduino的地面。传感器1到数字引脚11传感器2到数字引脚9传感器3到数字引脚12传感器4到数字引脚10
    来自:其他时间:2019-01-28 arduino 手势控制 红外传感器
  • Arduino字时钟,OLED显示屏实时显示

    一个基于Arduino的字时钟,用语言显示具体星期几,月,日,年等时间信息。硬件组件:Arduino Nano R3× 1 实时时钟(RTC)× 1 跳线(通用)× 1 0.91英寸128x32 IIC I2C蓝色OLED液晶显示器DIY Oled模块SSD1306驱动器IC DC 3.3V 5V适用于Arduino PIC× 1 这个项目是一个时钟,可以在128 X 32 OLED显示屏上以最快的时间提供所需的所有信息。小巧,紧凑,易于接线,长码但有趣。使用legos构建一个小外壳。实物图片:
    来自:DIY创意产品时间:2018-12-27 arduino 时钟 oled
  • ThermoClock:一个开源Arduino UNO OLED时钟

    今天我将向您展示如何制作一个可以测量温度的OpenSource Arduino UNO OLED时钟。硬件组件:Arduino UNO和Genuino UNO× 1 SparkFun数字温度传感器Breakout - TMP102× 1 实时时钟(RTC)× 1 OLED扩展 × 1 Arduino Proto Shield× 1 这个项目是一个OpenSource ,它向所有人开放。它不需要任何特殊的工程师技能,一旦你拥有了所需的所有部件,你将花费不到几个小时的时间。该时钟不仅可以显示精确的时间和日期,还可以显示华氏温度和摄氏温度,环境温度为0.5°C(-25°C至+ 85°C),分辨率为0.0625°C 。页面每10秒更改一次,但您可以更改它。我们将在这个项目中使用的OLED 尺寸为1.3英寸,单色蓝色,132×64像素,使用SPI总线。。我们将使用的温度传感器是TMP102 ,它尺寸非常小,功耗低,并使用I2C总线与我们的Arduino进行通信。而DS1307 实时时钟模块采用I2C总线,所以我们只需要2个引脚来检索日期和时间,并显示在OLED显示屏上的结果。我们将使用u8glib 库与我们的显示器进行通信。该库有许多可用参数,您可以在OLED和图形LCD上显示数字,字母,位图和其他符号,它也适用于电子墨水显示器以及其他库。
    来自:家用电器时间:2018-12-27 arduino 时钟 oled
  • DIY自动焊接PCB的机器臂

    手工焊接需要良好的手眼协调,以便精确定位和定向烙铁,同时以正确的速率和适当的时间将焊料供给接头。于是想到是不是可以利用机械臂实现PCB的焊接,于是有了这个使用DIY机械臂焊接PCB的设计。硬件组件:步进电机28BYJ-48带驱动模块ULN2003× 1 Arduino UNO和Genuino UNO× 1 伺服电机TowerPro MG955× 1 I2C串行LCD 1602模块× 1 降压模块× 1 OpenBuilds NEMA 17步进电机× 1 软件应用程序和在线服务:Arduino IDEMicrosoft Visual Studio 2015手动工具和制造机器:激光切割机(通用)用于Dremel的旋转刀具切削刀具套件
    来自:机器人时间:2018-12-27 arduino 机器人 机械臂
  • Arduino MKR GSM 1400:蜂窝物联网数据可视化

    使用MKR GSM 1400通过蜂窝连接收集和可视化电池供电的物联网传感器的数据。硬件组件:SORACOM Air Global IoT SIM× 1 Arduino MKR GSM 1400× 1 软件应用程序和在线服务:SORACOM Air IoT连接平台SORACOM Harvest - 快速,无服务器的数据收集和可视化随着物联网的发展,我们看到越来越多的开发人员利用现成的板卡,包括从处理单元到无线连接模块的所有内容。这个主板是Arduino最近发布的MKR GSM 1400 ,基于流行的Arduino MKR系列。该板包括一个Cortex-M0 + 32位微控制器,用于开发和调试的USB串行端口,最重要的是与全球2G和3G GSM网络兼容的预集成蜂窝调制解调器。它还具有低功耗功能,使我们能够构建仅依靠电池运行的解决方案。让我们来看看如何使用MKR GSM 1400通过蜂窝连接收集和可视化电池供电的物联网传感器的数据。要构建此项目,您将需要以下东西:运行Linux,MacOS或Windows的计算机Arduino MKR GSM 1400板(Arduino商店)带有U.FL连接器的3G GSM天线(亚马逊)用于编程和故障排除的Micro-USB线(亚马逊)DHT11传感器(亚马逊)面包板和电线(亚马逊)Soracom Air SIM卡(Soracom)
    来自:智能家居时间:2018-12-26 arduino 传感器 数据可视化
  • 带操纵杆模块的双轴FPV摄像机底座控制器

    两种控制相机底座的方法,可以放一个手电筒,激光,ToF模块......硬件组件:Arduino UNO和Genuino UNO× 1 SG90微伺服电机× 2今天我们将看到关于如何使用操纵杆模块控制2轴FPV摄像机底座的完整教程,摄像机底座有一个小包装,包含一些丙烯酸支撑和零件,一些螺丝和两个伺服电机。在这里我们将使用两种方法来控制伺服系统:第一个是舵机跟随操纵杆的位置,它们在我们移动操纵杆时移动,第二个舵机开始向操纵杆指向的方向移动他们呆在那里直到我们再次移动棍子或改变方向。详见附件教程,也有相关视频教程。
    来自:家用电器时间:2018-12-26 arduino 伺服电机 genuino
销量
29
查看
435
参数名 参数值
发布于 2019 年 01 月 22日
芯片资料
Moore8直播课堂