显示随着声音变化,可以随机播放Conway的《生命游戏》,并随着音乐的节奏和时间变化。
概述:
基本操作原理如下:
- PocketBeagle 初始化《生命游戏》的随机种子
- 声音检测器从环境中读取和处理声音数据,并确定环境中播放的音乐中“拍子”的计时。
- 在每次跳动时,微处理器都会计算游戏的下一次迭代,并将此数据发送到LED矩阵
- LED矩阵相应点亮
- 这一直持续到整个游戏结束,在这种情况下,将产生《生命游戏》的新种子。
该项目的硬件元素相对简单,易于使用。主要硬件元素如下:
- NeoPixel LED灯带(LED矩阵形式)
- Sparkfun声音探测器
- PocketBeagle
12条LED NeoPixel灯带(该项目中使用了15条LED灯带)
接下来,切成适当大小的一块木头(对于15x15的矩阵,将其切成10英寸乘10英寸),然后将条带以矩阵形式粘贴到木头上,如下所示。请注意,为了在矩阵上获得均匀的长宽比,必须在放置在板上的每个LED条之间留出间隙。同样,指向数据流的箭头必须在连续的条上指向相反的方向,以便在焊接电路板时数据以正确的方式流动。
木板,以矩阵形式排列的LED灯条合照
需要仔细的焊接工作以保持基体的连续性。
条对条焊料连接的特写
声音检测器和PocketBeagle很好用。但是,您可能会发现有必要根据以下文档在板上放置R17来调整声音传感器的灵敏度:(https://learn.sparkfun.com/tutorials/sound-detector-hookup-guide?_ga = 2.135478513.1535210145.1574136336-1929768982.1567124256 )电子/接线:下面是系统的Fritzing图:
PocketBeagle通过P1_19直接连接到声音检测器,并通过P1_8直接连接到NeoPixel。 电源连接:
按照NeoPixel指南的建议,系统中添加了一个100微法的电容器,以防止电涌对LED灯带产生负面影响。此外,我们在电源接地和PocketBeagle接地之间增加了47欧姆的电阻,以减少声音检测器的噪声。
LED数据信号处理:
同样,遵循NeoPixel指南提供的建议:在数据输入之间添加一个470欧姆电阻,以保护LED免受电压尖峰的影响。需要CJMCU单元将PocketBeagle的GPIO输出从3.3V转换为NeoPixel板条所需的5V。
声音检测器模拟输出处理:
声音检测器以5V输出数据,而PocketBeagle AIN端口只能处理1.8V。因此,我们必须构造一个分压器以将声音检测器的输出电压降低到必要的水平。