[原创] 【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯

eagler8   2022-12-16 15:47 楼主

偶然心血来潮,想要做一个音乐可视化的系列专题。这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累些有用的音乐频谱可视化的资料,也会争取成型一些实用好玩的音乐可视器项目。

 

作为曾经的历史见证,手头的几片核酸托盘泡沫板,正好可以用来尝试做个音乐可视化的小项目,我给它起的名字就叫核酸托盘灯。

 

01.jpg

回复评论 (18)

05.jpg

 

 

02.jpg

本帖最后由 eagler8 于 2022-12-19 19:21 编辑
点赞  2022-12-16 15:49

 

WS2812B灯带选用的是每米30灯白底裸板

 

01-.jpg

点赞  2022-12-18 17:13

WS2812B其主要特点
智能反接保护,电源反接不会损坏IC。
IC控制电路与LED点光源公用一个电源。
控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。
内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。
内置上电复位和掉电复位电路。
每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。
串行级联接口,能通过一根信号线完成数据的接收与解码。
任意两点传传输距离在不超过5米时无需增加任何电路。
当刷新速率30帧/秒时,级联数不小于1024点。
数据发送速度可达800Kbps。
光的颜色高度一致,性价比高。

主要应用领域
LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管。
LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯。

 

 

00-=-.jpg

点赞  2022-12-18 17:16

 

WS2812B灯带的电原理图

 

07.jpg

点赞  2022-12-18 17:20

06.jpg

点赞  2022-12-18 20:04

07--.jpg

点赞  2022-12-18 20:08

07-.jpg

07-0.jpg

点赞  2022-12-18 20:10

Arduino uno开发板接线示意图

 

09.jpg

08.jpg

点赞  2022-12-18 20:14

 

将WS2812 LED灯带裁剪为二十段

 

03.jpg

点赞  2022-12-18 20:19

粘贴在底板上

 

 

04.jpg

点赞  2022-12-18 20:23

忙乎半天,终于焊接好了126个焊点

 

06.jpg

点赞  2022-12-19 19:24

泡沫的托盘太透光了,这里使用软镜子来实现单LED的光线隔离

 

07.jpg

点赞  2022-12-19 19:35

对应100颗WS2812灯的光隔离,全部完成

 

08.jpg

点赞  2022-12-19 19:39

  【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯
  项目程序之一:绿色单灯循环测试
  模块接线:WS2812B接D6
  MAX4466      UNO
  VCC          5V
  GND         GND
  OUT          D6

 

/*
  【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯
  项目程序之一:绿色单灯循环测试
  模块接线:WS2812B接D6
  MAX4466      UNO
  VCC          5V
  GND         GND
  OUT          D6
*/

#include <Adafruit_NeoPixel.h>

#define PIN 6
#define MAX_LED 100

#define ADD true
#define SUB false

int val = 0;
boolean stat = ADD;

Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

void setup() {
  strip.begin();
  strip.show();
}

void loop() {
  uint8_t i, a = 0;
  uint32_t color = strip.Color(255, 100, 0);

  while (a < 101)
  {
    for (i = 0; i < 100; i++)
    {
      if (i == a) strip.setPixelColor(i, color);
      else strip.setPixelColor(i, 0);
    }
    strip.show();
    delay(30);
    a++;
  }
}

 

点赞  2022-12-19 20:21

实验场景图

 

09.jpg

点赞  2022-12-19 20:23

动图

 

动3.gif 点击上图查看Gif动图

点赞  2022-12-19 20:25

明天出门新疆,待续…….

点赞  2022-12-19 20:35
引用: eagler8 发表于 2022-12-19 20:35 明天出门新疆,待续…….

好远啊,新疆

希望做一些大家觉得好用的东西!
点赞  2022-12-19 21:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复