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

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

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

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第1张图片
【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第2张图片

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第3张图片

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

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第4张图片

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

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

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第5张图片

WS2812B灯带的电原理图

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第6张图片

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第7张图片
【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第8张图片

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第9张图片
【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第10张图片

Arduino uno开发板接线示意图

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第11张图片
【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第12张图片

将WS2812 LED灯带裁剪为二十段

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第13张图片

粘贴在底板上

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第14张图片

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

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第15张图片
泡沫的托盘太透光了,这里使用软镜子来实现单LED的光线隔离

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第16张图片
对应100颗WS2812灯的光隔离,全部完成

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

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

#include 

#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++;
  }
}

实验场景图

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯_第18张图片

动图

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

你可能感兴趣的:(开源硬件,单片机,物联网,驱动开发)