理工男总是被人黑没情调,但这其实只是人家不屑于和你谈情调。真要遇上了心爱的对象,就算一块看似枯燥的PCB板,都能被做出诱人的味道。本次分享一个超级炫酷的音乐频谱项目,废话不多说,先上张效果图。

下面就分享音乐频谱的整体制作过程,也顺便记录自己对新鲜事物的学习过程。
一、音乐频谱所需材料:
1)Ws2812b制作的16x32的矩阵;
2)这里是用两个16x16的矩阵拼接成的,我是直接在网络够买的矩阵,感兴趣的朋友也可以够买单个的WS2812B来自己制作;
3)STM32F103RBT6芯片及其他电容电阻晶振等元器件;
4)线材包括杜邦线等等;
5)接口器件包括USB、音频座、插针等等;
6)音频线一根用于采集电脑音频信号到ADC。

二、音乐频谱制作过程
Step 1) 音乐频谱----LED连接
将两个16*16的LED矩阵串联,拼接成一块16*32的LED矩阵,连接方法:第一块LED矩阵的DOU接口连接到第二块的DIN接口。
Step 2) 音乐频谱----电源连接
我的LED工作电压是5V,所以将两块LED的电源接口分别连到5V开关电源的输出口。注意,一块LED在工作时最大电流18A,建议使用40A以上的开关电源,使用足够粗的电线连接。

Step 3) 音乐频谱----控制板制作:

控制板是接收电脑传递过来的音频信号,并用FFT处理后得到的结果将其送出显示到LED矩阵中来。被控LED是WS2812b可编程LED制作的点阵,其受控信号频率为800KHZ,控制时序图如下所示:
每个LED由24位数据来控制,24位的数据结构是G7~G0 R7~R0 B7~B0,高位先发,按照GRB的顺序发送数据。
模拟电路采集使用LM358搭的放大电路,如下图所示:
图中IN_CH是电脑音频接入端,PC3是信号放大后给STM32模拟信号采集引脚的信号输出端。
C13、R6、R7组成信号抬升电路,将信号电压抬升,使负电压变成正电压。R8之后是信号放大电路,PC3的信号强度等于R8前面信号的R9/R8倍。IN1 处设定的是OUT1端输出的最小电压值。
这里我推荐使用EasyEDA来设计控制板,EasyEDA是一个在线EDA设计软件 ,简洁高效,你可以在他上面原理图,PCB,甚至是样板制作,非常方便。

Step 4) 音乐频谱---- 原理图