使用步进电机和Neopixel库制造一个“计算系统”
这件计算雕塑的灵感源于将软件和电子技术融入美观艺术的理念。本项目主题为“培育光”。但什么是“培育光”?在我看来,人类一直依赖光线作为安全感与保障的象征。这启发我从芝加哥数据门户的逮捕记录数据中提取信息,创作出一件以《纠缠》(Tangled)为灵感的雕塑作品,用以呈现芝加哥本地社区的形象。
功能
该项目旨在每天更新一次,检查芝加哥地区是否有新的逮捕事件发生。当达到输入时间时,系统将通过API端点获取数据,并筛选出整数值:CASE_ID。为了表示有新逮捕事件发生,项目会短暂亮起灯光,同时中间的太阳会旋转并上下移动。随后,软件将记录该数据,以便下次调用时使用,并将次日的数据与前一天的数据进行比较,确保软件始终能够将前一天的数据与当前日期的数据进行对比。
1. 创建 API 端点并获取数据
Particle 会持续检查时间,并将其转换为分钟。当达到用户可设定的特定时间时,它将发布一个粒子事件,通过 API 端点获取数据。我以芝加哥数据门户的“逮捕记录数据集”作为主要的数据提取来源。我的 API 端点被编写成返回该数据集中最新的案件信息。随后,借助 Particle 的集成功能,我创建了一个回调(webhook),并仅筛选 CASE_ID 值,该值将嵌入到我的固件中。
2. 焊接灯
我的LED芯片非常普通,但极其小巧。将每根实心核心线逐一焊接到芯片上相当繁琐且耗时。每根焊接的实心核心线长约3英寸,但根据需要会进行调整。导线连接到粒子上的电源(红色)、地线(黑色)和使能信号(黄色)。之后我使用了Particle上流行的Neopixel库来编写灯光程序。
3. 设置和编程步进电机
使用步进电机相当顺利。我用的是Particle的步进电机库作为固件,参考并导航了老师在创建电机转向函数时提供的步进电机测试代码。
4. 焊接电路板
在面包板上测试完所有元件后,便开始在实验板上进行焊接。我已将接头焊接到电路板上,以便能自由地插拔各种元件的跳线。整个过程中经历了许多试错。这些接头会被焊接并连接到项目所需的引脚上,其功能与面包板基本相似。
5. LED安装
幸运的是,将灯安装到人造屋顶上非常简单。由于我的人造屋顶是纸板制成的,我先标记了所有需要的位置,然后用美工刀切出小孔,用来穿过LED灯线。LED灯本身能依靠电线支撑,无需额外的支架。
将全部8颗LED芯片安装到我的面包板上的延时视频
6. 步进电机安装
与第一次安装过程类似,我在假屋顶的中间位置切了一个洞,用来穿过透明的弹性绳,将纸做的太阳灯挂上去。这条弹性绳本身被绕在步进电机上,而电机则藏在屋顶内,通过这个洞来控制太阳灯的运动。这一部分也经历了大量的试错,因为弹性绳很容易打结。此时,我还把盒子的背面也切了一个孔,用来接线,将电源和地线连接到一个直流插头,该插头再连接到一个5伏的圆柱形插头。
7. 测试代码
终于,我的假屋顶安装完成了!我再次用测试代码对所有部件进行了测试,反复运行灯光开启和旋转功能。这样可以确保所有硬件都正确安装,并且电线没有在过程中出现混乱。
8. 最后修饰与最终成品
在确认所有硬件组件均正常后,我将时间检查功能应用到我的代码中,这标志着完成项目的关键一步。这也意味着我受《纠缠》启发的计算雕塑项目正式告一段落。
本文编译自hackster.io





