宙仔 发表于 2019-11-27 20:23:09

掌控板与WS2812的造物记(1)声光舞动

本帖最后由 宙仔 于 2019-11-27 20:31 编辑


  掌控板板载麦克风,可以用其感知周边环境的声音变化。其位置如上图的红色圆圈所示。
  在Mpython的图形化编程中,直接在“输入”中找到“声音值”的块,掌控板载声音传感器返回的值为12bit的ADC采样数据,即最大值为十进制4095。

  我们可以利用OLED屏幕来显示声音传感器获取环境的声音值,参考程序块如下:


  学会了如何收集周边环境的声音数据,现在我们用掌控板板载的声音传感器结合WS2812B幻彩LED灯带做一个能根据音乐声音的大小来变化灯数的小应用。
  WS2812B灯带,其工作电压为5V,一个IC芯片控制一颗LED灯珠组成一个回路,控制器通过控制IC芯片对线板上面的电路来进行控制,来达到LED发出不同的效果:追逐,流水,跑动,变色,呼吸,模拟闪电等,剪裁、焊接方便自由:沿着上面的任意截断和焊接达到我们需求的各种灯条的长度。


  掌控板控制WS2812灯带的方法:现在先来一段代码,测试我们买到的WS2812灯带能否点亮,此方法也适用于WS2812系列(环形、灯带、像素屏……)
WS2812与掌控板的连接方法:+5V ---V;GND---G,Din---P13(或其他)。特别提醒:灯带上的Din是输入端,接控制端口,DO是输出,不接或接另一条灯带的Din。



  功能的实现也很简单,通过声音传感器检测到音乐声音的大小,并将其转换为亮灯的数量,要注意的是声音传感器获取的最大值是:4095,而我们的灯带LED灯珠的数量是60,因此要有一个简单的峰值控制与转换,即将获取声音值÷70即可。
  参考代码块:



  演示效果:
https://v.qq.com/x/page/i3025pazaly.html?pcsharecode=b5iVG1UD&sf=uri

  突然之间,很想做一个类似Winamp那样随音乐跳动的光谱分析效果,用winamp,是不是暴露年龄了。

rzyzzxw 发表于 2019-11-28 11:08:38

余老师,赞一赞。
您那个RGB点阵的可以发下,老经典了。{:5_129:}

20870886 发表于 2021-10-31 17:42:50

余老师,灯带需要需要配置个电源么?
页: [1]
查看完整版本: 掌控板与WS2812的造物记(1)声光舞动