2019-11-27 20:23:09 [显示全部楼层]
3005浏览
查看: 3005|回复: 2

[入门教程] 掌控板与WS2812的造物记(1)声光舞动

[复制链接]
本帖最后由 宙仔 于 2019-11-27 20:31 编辑

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

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

  我们可以利用OLED屏幕来显示声音传感器获取环境的声音值,参考程序块如下:
掌控板与WS2812的造物记(1)声光舞动图3


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

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

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

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


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

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


  演示效果:


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

rzyzzxw  版主

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

余老师,赞一赞。
您那个RGB点阵的可以发下,老经典了。
回复

使用道具 举报

20870886  见习技师

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

余老师,灯带需要需要配置个电源么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail