Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器模块系列实验(108)---16X16点阵汉字屏

[复制链接]
 楼主| 发表于 2021-11-22 10:19 | 显示全部楼层
【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
   项目之二:多档arduinoFFT浮点32段频谱仪

   实验视频剪辑 3

https://v.youku.com/v_show/id_XNTgyMTM5MTA1Mg==.html?spm=a2hcb.playlsit.page.1


 楼主| 发表于 2021-11-22 10:20 | 显示全部楼层
   实验场景动态图

 楼主| 发表于 2021-11-22 10:24 | 显示全部楼层
  【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
   项目之二:多档arduinoFFT浮点32段频谱仪

   实验视频剪辑 4

https://v.youku.com/v_show/id_XN ... hcb.playlsit.page.7



 楼主| 发表于 2021-11-22 10:25 | 显示全部楼层
   实验场景动态图4
 楼主| 发表于 2021-11-22 10:26 | 显示全部楼层
  【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
   项目之二:多档arduinoFFT浮点32段频谱仪

   实验视频剪辑 5

https://v.youku.com/v_show/id_XN ... hcb.playlsit.page.5



 楼主| 发表于 2021-11-22 10:27 | 显示全部楼层
   实验场景动态图 5
 楼主| 发表于 2021-11-22 10:49 | 显示全部楼层
  【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
   项目之三:红绿色32段级联频谱点阵屏灯(FFT算法)

   实验开源代码

  1. /*
  2.   【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
  3.   项目之三:红绿色32段级联频谱点阵屏灯(FFT算法)
  4.   接脚连线:MAX9814 接A0
  5.   MAX7219 UNO
  6.   VCC →→→→→ 5V
  7.   GND →→→→→ GND
  8.   DIN →→→→→ D11(数据,数据接收引脚)
  9.   CS →→→→→ D10(负载,命令接收引脚)
  10.   CLK →→→→→ D13(时钟,时钟引脚)
  11. */

  12. #include <arduinoFFT.h>

  13. #include <MD_MAX72xx.h>

  14. #include <SPI.h>

  15. MD_MAX72XX disp = MD_MAX72XX(MD_MAX72XX::FC16_HW, 10, 1);

  16. arduinoFFT FFT = arduinoFFT();

  17. double realComponent[64];

  18. double imagComponent[64];

  19. int spectralHeight[] = {0b00000000, 0b10000000, 0b11000000,

  20.                         0b11100000, 0b11110000, 0b11111000,

  21.                         0b11111100, 0b11111110, 0b11111111
  22.                        };

  23. int index, c, value;

  24. void setup()

  25. {

  26.   disp.begin();

  27.   Serial.begin(9600);

  28. }

  29. void loop()

  30. {

  31.   int sensitivity = map(analogRead(A0), 0, 1023, 50, 100);

  32.   Serial.println (analogRead(A0));

  33.   for (int i = 0; i < 64; i++)

  34.   {

  35.     realComponent[i] = analogRead(A7) / sensitivity;

  36.     imagComponent[i] = 0;

  37.   }

  38.   FFT.Windowing(realComponent, 64, FFT_WIN_TYP_HAMMING, FFT_FORWARD);

  39.   FFT.Compute(realComponent, imagComponent, 64, FFT_FORWARD);

  40.   FFT.ComplexToMagnitude(realComponent, imagComponent, 64);

  41.   for (int i = 0; i < 32; i++)

  42.   {

  43.     realComponent[i] = constrain(realComponent[i], 0, 80);

  44.     realComponent[i] = map(realComponent[i], 0, 80, 0, 8);

  45.     index = realComponent[i];

  46.     value = spectralHeight[index];

  47.     c = 31 - i;

  48.     disp.setColumn(c, value);

  49.   }

  50. }
复制代码


 楼主| 发表于 2021-11-22 12:57 | 显示全部楼层
【花雕动手做】有趣好玩的音乐可视化系列小项目(08)---四位32段点阵屏
   项目之三:红绿色32段级联频谱点阵屏灯(FFT算法)

   实验视频剪辑 1

https://v.youku.com/v_show/id_XN ... hcb.playlsit.page.3





 楼主| 发表于 2021-11-22 13:30 | 显示全部楼层
   实验场景动态图

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-2 04:22 , Processed in 0.068248 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表