接收环境中的音乐在ws2812的led矩阵上显示频谱
主板:esp32
麦克风:MAX4466
LED:WS2812
esp32主要编程语言为C++,并且可以使用arduino库使得编程方式与arduino一致,也可共用arduino库。
-include
--fftlight.h
--time.h
-src
--Light.cpp
其中include中包含的是功能头文件,fftlight.h内实现的主要功能为对接收到的声音进行处理降噪并进行傅里叶分析,最后归一化并输出为频谱灯的信号。time.h内实现的是使用wifi模块来连接时钟服务器,获得当前的事件并划定了在LED屏上的数字显示,最后将事件显示出来。
src中包含的是主要文件,其中包含void set的初始化函数,将ws2812与wifi模块初始化,还有void loop函数,即为功能函数,其中就包含在两个头文件中定义的函数进行显示。
目前已经实现了声音频谱灯的功能,时间显示的函数已经写完并进行了测试,但还没有进行上传,进一步的改进在于将时间显示功能完成并完成按键切换两个显示模块。同时esp32的WiFi连接目前需要在程序中设定WiFi的用户名与密码,希望进一步使用蓝牙功能来实现可以搜寻附近wifi并在手机或者其他终端上进行WiFi连接。
同时目前是使用开发板进行的功能实现这些功能,并且使用了外部供电,希望下一步可以将这些功能集合在一个电路板上并实现电源管理,可以使用内部电池供电,提高编写性。