5301浏览
楼主: 驴友花雕

[项目] 【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)

[复制链接]

驴友花雕  中级技神
 楼主|

发表于 2022-10-14 17:43:24

  【花雕动手做】有趣好玩的音乐可视化系列项目(28)--LED乒乓球灯
  项目程序之三:多彩MegunoLink音乐节拍灯
  模块接线:WS2812B接D6
  MAX4466      UNO
  VCC          5V
  GND         GND
  OUT          A0

  1. /*
  2.   【花雕动手做】有趣好玩的音乐可视化系列项目(28)--LED乒乓球灯
  3.   项目程序之三:多彩MegunoLink音乐节拍灯
  4.   模块接线:WS2812B接D6
  5.   MAX4466      UNO
  6.   VCC          5V
  7.   GND         GND
  8.   OUT          A0
  9. */
  10. #include<FastLED.h>
  11. #include<MegunoLink.h>
  12. #include<Filter.h>
  13. #define N_PIXELS  101
  14. #define MIC_PIN   A0
  15. #define LED_PIN   6
  16. #define NOISE 10
  17. #define TOP   (N_PIXELS+2)
  18. #define LED_TYPE  WS2811
  19. #define BRIGHTNESS  10
  20. #define COLOR_ORDER GRB
  21. CRGB leds[N_PIXELS];
  22. int lvl = 0, minLvl = 0, maxLvl = 10;
  23. ExponentialFilter<long> ADCFilter(5, 0);
  24. void setup() {
  25.   FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, N_PIXELS).setCorrection(TypicalLEDStrip);
  26.   FastLED.setBrightness(BRIGHTNESS);
  27. }
  28. void loop() {
  29.   int n, height;
  30.   n = analogRead(MIC_PIN);
  31.   n = abs(1023 - n);
  32.   n = (n <= NOISE) ? 0 : abs(n - NOISE);
  33.   ADCFilter.Filter(n);
  34.   lvl = ADCFilter.Current();
  35.   //  Serial.print(n);
  36.   //  Serial.print(" ");
  37.   //  Serial.println(lvl);
  38.   height = TOP * (lvl - minLvl) / (long)(maxLvl - minLvl);
  39.   if (height < 0L) height = 0;
  40.   else if (height > TOP) height = TOP;
  41.   for (uint8_t i = 0; i < N_PIXELS; i++) {
  42.     if (i >= height) leds[i] = CRGB(0, 0, 0);
  43.     else leds[i] = Wheel( map( i, 0, N_PIXELS - 1, 30, 150 ) );
  44.   }
  45.   FastLED.show();
  46. }
  47. CRGB Wheel(byte WheelPos) {
  48.   if (WheelPos < 85)
  49.     return CRGB(WheelPos * 3, 255 - WheelPos * 3, 0);
  50.   else if (WheelPos < 170) {
  51.     WheelPos -= 85;
  52.     return CRGB(255 - WheelPos * 3, 0, WheelPos * 3);
  53.   } else {
  54.     WheelPos -= 170;
  55.     return CRGB(0, WheelPos * 3, 255 - WheelPos * 3);
  56.   }
  57. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-14 17:51:55

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-14 18:54:21

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-14 19:00:16

实验场景图

【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-14 19:06:45

【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-16 18:22:10

LED 超立方体与乒乓球灯组合实验场景图

【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-16 18:28:28

实验场景图  动态图

【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-16 18:39:55

实验的视频记录

优酷:

B站:https://www.bilibili.com/video/B ... 87403d97f8d3cc0b7e5






回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-10-16 18:43:52

实验场景图

【花雕动手做】看见声音,基于Arduino系列音乐可视器(28)图1

回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail