资料介绍
描述
你能给聚会带来光明,让它变得更有趣吗?
这就是问题所在。答案是肯定的(当然)。
本教程是关于制作一个可听音乐的便携式设备,并使用 NeoPixel LED 的同心环创建音乐可视化。
试图让设备“跳舞”,即随着音乐的节拍移动,但事实证明节拍检测比听起来更复杂(不是双关语),所以“跳舞”有点尴尬,但仍然存在。
该设备支持蓝牙,并将响应文本命令。我没有时间编写应用程序来控制派对灯(Android 或 iOS)。如果你能胜任这项任务 - 请告诉我!!!
如果您喜欢本教程,请在Make It Glow比赛中投票!
补给品:
要构建派对灯,您将需要:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 Module for Arduino(链接在这里)-设备的大脑。这些相对便宜的设备非常强大,不清楚你为什么会回到 Arduino。
- MSGEQ7频段图形均衡器 IC DIP-8 MSGEQ7(链接在这里)
- HC-05或HC-06蓝牙模块(链接在这里)
- Adafruit MAX9814麦克风(链接在这里)
- 一个标准的伺服电机(链接在这里)是你想让你的设备“跳舞”
- CJMCU 61位WS2812 5050 RGB LED驱动开发板(链接在这里)
- TTP223触摸按键模块电容式可设置自锁/无锁开关板(链接在这里)
- 超紧凑5000-mah双 USB 输出超薄移动电源(链接在这里)
- 电阻、电容、电线、胶水、螺丝、原型板等。
第 1 步:想法
这个想法是有一个便携式设备,可以放置在靠近音乐源的地方,这将创建丰富多彩的音乐可视化。您应该能够通过按钮(触摸)和蓝牙控制设备行为。
目前,Party Lights 实现了 7 个可视化(如果您有更多想法,请告诉我!):
- 同心彩色圆圈
- 马耳他十字
- 脉动灯
- 壁炉(我个人最喜欢的)
- 行车灯
- 光树
- 横向段
默认情况下,设备将每分钟循环一次可视化。但是,用户可以选择坚持使用一种可视化和/或手动循环浏览它们。
如果用户喜欢特定的颜色组合,则旋转其调色板的可视化也可能被“冻结”。
作为更多控制,用户可以更改麦克风灵敏度并启用/禁用伺服电机“跳舞”模式。
第 2 步:原理图和声音处理
一个fritzing原理图文件包含在Github上的“files”子文件夹中。
基本上,MSEQ7 芯片进行音频处理,将音频信号分成 7 个频段:63Hz、160Hz、400Hz、1kHz、2.5kHz、6.25kHz 和 16kHz
微控制器使用这 7 个波段来创建各种可视化,基本上将各自的波段幅度映射到 LED 光强度和颜色组合。
声源是具有 3 级增益控制的麦克风。您可以根据声源的远近/响亮,使用其中一个按钮循环切换增益设置。
微控制器还尝试在 63Hz“低音”频带上执行“节拍”检测。我仍在研究一种可靠的方法来检测和保持节拍对齐。
“触摸”按钮的使用是一项实验。我认为它们工作得很好,但是,缺乏新闻反馈有点令人困惑。
第 3 步:LED 轮
可视化的核心是一个 61 LED 轮。
请注意,这部分是单独的戒指,您必须将它们放在一起。我宁愿认为铜线用于电源线(也可以很好地将环固定在一起)和细信号线。
LED 编号为 0 到 60,从底部外部 LED 开始,顺时针向内。中心 LED 为 60 号。
每个可视化都依赖于二维数据阵列,将每个 LED 映射到目标可视化段的特定位置。
例如,对于同心圆,有 5 个段:
- 外圈,LED 0 - 23, 24 LED 长
- 第二个外圈,24 - 39 个 LED,16 个 LED 长
- 第三个圆圈(中心),LED 40 - 51,12 个 LED 长
- 第二个内圈,LED 52 - 59,8 个 LED 长
- 内部 LED, LED 60, 1 LED 长
可视化映射了 7 个音频通道中的 5 个,并根据它们在圆形频带中的位置与频带中的声音级别成比例地逐渐点亮 LED。
其他可视化使用不同的数据结构和格式,但想法始终是由数据数组驱动可视化,而不是由代码驱动。通过这种方式,可以将可视化调整为不同的形状(更多或更少的 LED,更多的 EQ 波段),而无需更改代码,只需更改数据数组中的值。
例如,这是可视化 1 的数据结构在草图中的样子:
// Visualization 1 & 3 - full 5 circles
const byte TOTAL_LAYERS1 = 5;
const byte LAYERS1[TOTAL_LAYERS1][25] = {
//00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 },
{ 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 },
{ 12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 },
{ 8, 52, 53, 54, 55, 56, 57, 58, 59 },
{ 1, 60 }
};
第 4 步:可视化
到目前为止,有 7 个可视化和一个启动动画:
开机动画
当设备打开时,会显示模仿烟花。这应该是一个 LED 和伺服测试序列,但后来演变成此类测试的动画版本
同心彩色圆圈
灯光以与相应 eq 波段的幅度成比例的同心圆环绕显示屏。在顺时针和逆时针之间随机切换,并在 256 色轮上缓慢旋转颜色
马耳他十字
一个波段是中心 LED。另一个波段是 LED 的垂直和水平线,其余部分代表每个 EQ 波段。所有段都在 128 偏移中旋转颜色以保持对比度。
脉动灯
每个圆圈为一个专用的 eq 波段一致地点亮所有 LED,同时缓慢旋转颜色并略微偏移。EQ 频段逐渐从一个圆圈移动到下一个圆圈,从而产生向外的进展。
壁炉
这些带是从底部到顶部点亮的半圆形,从鲜红色开始,然后在上升的过程中添加黄色,模拟壁炉中燃烧的火焰。偶尔明亮的白色“火花”会随机射出。没有颜色旋转
行车灯
每个同心圆都是一个单独的 EQ 频段。领先的 LED 是位于中心 LED 下方垂直线上的 LED。一旦 LED 点亮与波段幅度成正比,它就会开始围绕相应的圆圈“运行”,强度逐渐降低。支持时钟和逆时针旋转,随机切换。
光树
这些部分从底部 LED 以一条直线向上点亮,然后以同心半圆形向侧面点亮,模仿棕榈树。颜色旋转。
横向段
这是以前马耳他十字的一个版本,仅使用了 2 个对角线段。应该类似于声波的图标。
第 5 步:触摸按钮控件
有 4 个触摸感应按钮:
- 循环显示可视化并保持当前的状态,直到选择另一个(默认情况下,可视化每 30 秒循环一次)
- “冻结”/“解冻”当前配色方案 - 如果您喜欢特定的颜色组合,您可以将其冻结 - 颜色旋转被禁用,可视化将继续使用此调色板
- 调整麦克风灵敏度
- 打开/关闭“跳舞模式”
在跳舞模式下,设备会尝试检测当前播放音乐的“节拍”,并根据节拍转动头部。说实话,到目前为止,“跳舞”不是很漂亮,而是尴尬。
第 6 步:节拍检测和伺服“跳舞”
该设备不断尝试将当前曲调的“节拍”检测为 63Hz 频带的连续峰值之间的距离。一旦检测到(并且仅在舞蹈模式打开时),设备将激活其伺服电机根据节拍随机向左或向右转动。
欢迎任何关于如何使其更可靠的好主意!
“Music_Test_LED”草图以适合使用 Arduino IDE 绘图的方式输出 7 个 EQ 频段。
第 7 步:3D 形状
整个派对灯组件是使用 Autodesk TinkerCAD 从头开始设计的。
原始设计位于此处。github.com 上的“files/3D”文件夹包含 STL 模型。
此设计说明了设备的组装方式。
所有组件都经过打印,然后组装/粘合在一起。
“圆顶”承载着微控制器、蓝牙板和麦克风。微控制器放置在 40 毫米 x 60 毫米板上,并由指定的导轨支撑。
伺服系统位于圆顶的“腿”中,而按钮位于底座中。
电池仓专为耗材部分中提到的电池类型而印刷。如果您选择使用不同的电池,隔间将不得不进行相应的重新设计。
第 8 步:电源
一个超紧凑的 5000 毫安双 USB 输出超薄移动电源似乎提供了足够的电力运行数小时。
电池盒的设计使其与设备的其余部分分离,并且可以更换为专为不同类型电池设计的电池盒。
USB 插头已定位并热粘合到位,以便在电池滑入时连接电池。
第 9 步:蓝牙控制
添加了一个 HC-05 模块以提供一种无线控制设备的方法。
打开时,设备会创建一个名为“ LEDDANCE ”的蓝牙连接,您可以将其与手机配对。
理想情况下,应该有一个允许控制 PartyLights 的应用程序(选择调色板、模拟按钮按下等)。然而,我还没有写过一篇。
如果您有兴趣帮助为 Party Lights 编写 Android 或 iOS 应用程序,请告诉我!
控制设备,目前可以使用蓝牙终端应用,发送如下命令:
LEDDSTAT - 返回一个由 '0' 和 '1' 组成的 3 字符数字:
- 第一个位置:'0' - 颜色不旋转,'1' - 颜色正在旋转
- 第二个位置:'0' - 跳舞模式关闭,'1' - 跳舞模式开启
- 第三个位置:'0' - 麦克风处于正常增益,'1' - 麦克风处于高增益
- LEDDBUTT n - 其中n为“1”、“2”、“3”或“4”模拟按下相应按钮。例如:LEDDBUTT1
- LEDDCOLR c - 其中c是从 0 到 255 的数字 - 色轮上所需颜色的位置。设备将切换到指定的 LED 颜色。
第十步:基于Blynk控制App
Blynk ( blynk.io ) 是一个与硬件无关的物联网平台。我在我的物联网自动植物灌溉系统教程中使用了 Blynk,对该平台的易用性和稳健性印象深刻。
Blynk 支持通过蓝牙连接到边缘设备——这正是 PartyLights 所需要的。
如果您还没有,请下载Blynk 应用程序,使用此步骤附带的屏幕截图注册并重新创建 Blynk PartyLights 应用程序。请确保虚拟引脚分配与屏幕截图上的相同,否则应用程序上的按钮将无法按预期工作。
文件“ blynk_settings.h ”包含我个人的 Blynk UID。当你创建你的项目时,它会被分配一个新的供你使用。
上传PartyLightsBlynk.ino草图,启动应用程序。与蓝牙设备配对,享受派对。
第 11 步:草图和库
主要草图和支持文件位于 Github.com上。
Party Lights 草图中使用了以下库:
- TaskScheduler - 协作式多任务处理 -在这里(由我开发)
- AverageFilter - 模板化平均过滤器 -在这里(由我开发)
- Servo - 伺服控制 - 是一个标准的 Arduino 库
- WS2812B -NeoPixel 控制 - 作为 STM32 封装的一部分
此Wiki 页面解释了如何将 STM32 板与 Arduino IDE 一起使用。
第 12 步:未来的改进
在这个设计中可以改进一些事情,如果你开始这个项目,你可能会考虑:
- 如何制作便携式可充电辅助扬声器
- 制作便携式PONG游戏
- 制作您自己最便宜的便携式笔记本
- 如何在家制作便携式空调
- 便携式LED灯制作
- 便携式自动割胶机器人设计方案 18次下载
- 高性能便携式医疗设备技术
- 用D/A转换器优化便携式应用 6次下载
- 便携式DSP设计中动态电压缩放的节能方案 5次下载
- 便携式电池系统 10次下载
- 在便携式医疗设备的心跳 6次下载
- 用于便携式设备USB 2.0高速设计的模拟开关
- 使用HARFANG的X-32便携式相控阵设备
- 超声便携式设备的系统划分
- 便携式应用IC
- 蓝牙低功耗技术在便携式医疗设备中的应用研究 2180次阅读
- 便携式医疗电子设备的应用挑战及解决方案 3266次阅读
- 选用便携式UPS电源的原因盘点 970次阅读
- digilent适便携式电路实验室介绍 2367次阅读
- 怎样解决便携式设备的充电烦恼 1123次阅读
- 便携式吉他游戏机diy图解 3447次阅读
- 选择与应用好便携式电子设备中电池技术的研究 2759次阅读
- 便携式医疗设备解析 7775次阅读
- Freescale提供设计便携式导航设备系统解决方案 1242次阅读
- 便携式和汽车压缩音频和视频解决方案 1174次阅读
- 便携式设备中的电源效率 1311次阅读
- 便携式全频段调频接收机的制作 3896次阅读
- 如何为便携式设备设计高效的DC/DC转换器 904次阅读
- 便携式医疗电子设备的无线监测技术 1350次阅读
- 便携式校准器电路图 2908次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多