构建一个依据数据变化而变化的雕塑盒子
扫描二维码
随时随地手机看文章
这个项目旨在根据数据为我的学校物理计算课程可视化变化。项目的主题是“培育光明”,我们被允许结合数据与雕塑,自由诠释自己对这一主题的理解。莉兹贝丝和我将该项目理解为大脑的功能,以及当室外阳光更多时,大脑更愿意运作。这些数据基于芝加哥的紫外线光进行测量。
雕塑
最初的想法是制作一个带有教育图案的盒子,项目的核心部分是雕塑设计一棵树干和一个大脑,而大脑将作为“树”的叶子。我们还决定在树周围添加自然元素,以体现当阳光照射时,大脑如何真正绽放。在树干内部,我们安装了步进电机,既遵循我们的设计要求,也展示了大脑如何影响自然。感谢我的搭档Lizbeth为该项目的雕塑部分付出的努力。
使用 Open-Meteo API
在项目中,我使用了 Open-Meteo API 来获取全球各地国家气象服务的数据。为了能够获取数据,我在 Particle IDE 中创建了一个 webhook 集成,通过我的 API 端点来调用数据。
这是成功放置API端点后Particle IDE的界面。
为了让Webhook正常工作,我需要从API中提取数据,因此将Webhook的请求类型设置为GET而非POST。
API给我提供了很多我不需要的多余数据。
解决这个问题的方法是,在 webhook 设置中创建一个 webhook 响应,仅提取我需要的数据值,并过滤掉其余部分。
我的回调响应是:{{daily.uv_index_max}}
响应获取的值仅为整数,根据我的数据,来自 webhook 的数据值会导致项目外观发生变化。
这个回调函数每30分钟运行一次,因此它的变化就像芝加哥的天气一样活跃。
步进电机
我的项目中使用了一台28BYJ-48步进电机,搭配ULN2003驱动板。
为了设置我的电机,我将驱动板上的IN1、IN2、IN3和IN4引脚连接到与Particle Photon相连的D0、D1、D4和A0引脚。D2引脚则被我的LED灯带占用了。
对于我的步进电机,我决定不根据API提供的数据来触发反应,而是让电机在光子开启后立即持续旋转。
LED
我使用了Adafruit的NeoPixel数字RGB灯带来制作LED灯。
为了让灯能连接到我的光子,我剥去三根电线,并将它们焊接到灯带上的铜片上。如前所述,我把LED灯带连接到D2引脚,从而实现了一个简单的设置。
这些是我LED的变量:
3D打印
为了制作出一根稳定且足够合适的花枝,使其能随脑中旋转的花朵而转动,我不得不进行3D打印。
这是3D打印的模型
底部的尺寸是为了刚好与步进电机匹配。以下是步进电机的尺寸。
基于数据的编码
LED灯的颜色会根据从Webhook中过滤出的数据而变化。以下是代码中的实现方式。
LED灯带的绿色显示时,芝加哥的紫外线强度必须低于3。紫色显示时,紫外线强度需低于6。当紫外线超过8时会显示橙色,超过8的任何值都会使LED显示红色。
RGB数值后的毫秒数表示LED图案的显示频率。LED的图案类似于心跳,该数值仅表示这种图案显示的速度。
使用以下代码完成该图案:
最终项目
项目在16×6×16英寸的箱体中完全组装完成。在最终确定项目之前,我需要将所有电子元件焊接到一个实验板上。完成后,我用强力胶将机箱底座粘贴到纸板底部,并在底部开了一个孔,以便安装步进电机的电线。由于机箱内部没有实心表面,因此我在里面热熔胶粘了一块纸板,以提供一个稳固的支撑面供电机放置。
这些电线原本是打算安装在步进电机的位置,但我决定在项目背面(即电路板所在位置)开一个小孔,并将LED灯穿过。为了遮盖这个小孔,我用热熔胶粘贴了代表草的餐巾纸。
为了在项目中增加更多表现力,我和搭档用便利贴制作了花朵,并用热熔胶粘贴到绿色的纸巾上。
最后,我将电源焊接到电路板上,这样当插头插入插座时,光子就会被激活。
本文编译自hackster.io





