南瓜灯是万圣节的经典象征,而当它遇上风靡全球的俄罗斯方块,便催生出一款创意十足的互动装置——Pumpktris(南瓜俄罗斯方块)。一位国外程序员Nathan巧妙地将微型电路板嵌入真实南瓜内部,利用南瓜茎秆作为天然方向控制器,实现体感式游戏操作。整个装置既保留了节日氛围,又融入了电子游戏的乐趣,玩家只需转动南瓜柄即可操控方块下落与旋转,真正让传统南瓜灯活了起来,成为兼具趣味性与技术感的节日新宠。
1、 我裁剪了112根2.5英寸的短线和16根8英寸的长线。短线用于LED之间的相互连接,长线则负责LED与控制器之间的信号传输。借助专用切割垫,所有线材均可实现快速、精准且便捷的长度测量与裁切。
2、 接下来,我将7根短线与1根长线焊接成一条菊花链(所示),再依此方式制作15条相同长线,即可满足8×8矩阵所需的全部长线数量。
3、 随后制作定位夹板,与Hackaday常用方法不同,我选用1/4英寸厚的泡沫板替代硬质板材。用锥子直接戳孔,操作比钻头打孔更迅速高效。此外,泡沫板具有良好的可塑性:可先打出略小的孔,再将LED灯珠压入,利用材料弹性实现紧密固定,显著提升安装稳定性与精度。
4、 在一排孔洞中安装LED灯,先将各LED阳极镀锡并剪短引脚,再用预先制作好的菊花链导线依次焊接固定。为提升绝缘性与可靠性,我在菊花链每一处焊点前均套入约1.27厘米长的热缩管。操作中曾数次遗漏此步骤,只得返工补加。需特别注意:焊点尚未完全冷却时切勿急于套入热缩管,否则其受热提前收缩,难以紧密包覆LED引脚,影响固定效果与电气安全。务必待焊点温度明显下降后再进行热缩处理,确保热缩管均匀紧贴、牢固密封。
5、 将八颗LED灯(阳极)依次串联完成后,再统一连接各阴极引线;操作步骤相同,务必套好热缩管绝缘;全部接好后,即可从泡沫夹板上取下。
6、 快看!这是已经完成的LED矩阵。
7、 咦?还缺什么?原有一个8×8矩阵,但玩俄罗斯方块空间不足,于是我又新增了一个同样大小的8×8矩阵。
8、 Adafruit 的 LED 矩阵背板需将 LED 矩阵直接焊接到电路板上,但我选择焊接了母针排座(female header),从而实现灵活供电:既可为单个 8×8 LED 模块独立供电,也能为拼接而成的 8×16 大型矩阵统一供电。有观点认为,应在驱动线路中添加限流电阻,以防过流损坏控制芯片;这种建议确有一定道理,也符合常规设计规范。不过截至目前,整套系统运行稳定,未出现异常发热、闪烁或器件失效等现象。供电电压严格控制在额定范围内,各模块亮度均匀,刷新率正常,长期通电测试亦未见性能下降。虽然未加额外保护元件,但实际表现暂未暴露风险。
9、 为将自制LED矩阵接入I2C背板,我裁剪了部分原型板,焊接好阳极引脚,并将最后一行与最后一列共八根导线(长度约8英寸)焊接到电路板对应位置。
10、 所有代码均部署至我所使用的Bamboo原型板硬件中。
11、 俄罗斯方块游戏中共有七种不同形态的四格骨牌(Tetromino),每种均由四个正方形方块组成,tetra前缀即源于其四的含义。为高效管理形状与旋转,采用三维数组预先存储每种形态在四种标准旋转状态下的所有方块坐标。相比在方块下落过程中实时计算旋转位置,预存方式更简洁、稳定且便于调用。例如,T形方块在0°、90°、180°和270°四种朝向下的各点坐标均被完整记录于数组中。
12、 程序通过两个关键变量来管理活动方块:一是 activePiece,用于标识当前方块在形状库中的索引;二是旋转角度索引,表示该方块的朝向状态。每个方块由若干像素点构成,每个像素点相对于方块中心具有固定的纵向偏移量(yOffset)和横向偏移量(xOffset)。同时,程序维护一个二维数组,用以记录已落定方块在游戏区域中的分布与状态,即哪些位置已被填充、哪些仍为空白。所有坐标均以屏幕左下角为参考基准,y轴向上递增,x轴向右递增,确保方块定位准确、渲染一致。
13、 这个项目需要一个理想的容器——也就是南瓜。它必须足够高,能容纳8英寸高的LED点阵屏,同时南瓜柄要修长笔直,便于固定和布线。我最初采购了三个南瓜,满心期待它们都符合要求,结果回家逐一检验才发现,一个比一个不尽人意。最终仅有一个尺寸、形状和柄长都恰到好处。其余两个则成了我的练习工具,用来反复打孔、调整切割角度,打磨手工精度。
14、 我在南瓜背面切开一个大口,切忌从南瓜柄处下刀,因需保留瓜柄作为游戏控制器。将LED灯从背面放入,比从顶部插入更方便、更稳固。
15、 取一张纸,按8行16列规格绘制LED点阵图,并标注行列位置。
16、 标记完成后,我用13/64英寸钻头进行了钻孔。
17、 圆孔不适合俄罗斯方块游戏,我在每个孔旁用X-Acto刀刻出方形轮廓,以适配方块形状。
18、 我小心锯断南瓜柄根部,再在其上钻出直径1/8英寸的圆孔,以便游戏杆顺利穿入,将其巧妙改造为操控手柄。
19、 在南瓜内部,瓜柄下方需修整出一个平整的正方形区域;将锚钉截短以防穿透南瓜,再拧紧固定;随后用螺丝将控制杆安装于锚钉之上。
20、 我选用SparkFun短柄摇杆,先卸下原配红球,再替换成手工改造的南瓜造型手柄。在南瓜柄底部钻孔,将6毫米螺栓涂胶后嵌入固定,最后将其旋紧安装至摇杆轴端,整体稳固且富有创意趣味。
21、 接着将LED灯逐一插入南瓜表面的孔洞中。过程中发现一个小问题:从外部看是16排孔,内部观察却只有15排。原来南瓜纵向长度不足且呈弧形,致使顶部两排孔在实际打孔时重叠为一排。无奈之下,只能将最顶端一排LED灯手动调整角度,强行嵌入合适位置,确保整体发光效果均匀自然。
22、 最后连接好各电路线,电源由8节充电电池提供。
23、 快来体验南瓜主题的俄罗斯方块吧!
24、 除了一块8×8的LED点阵屏偶有显示异常,其余功能均运行稳定。故障可能源于供电不稳,但更可能是局部间歇性短路所致——毕竟大量电路节点都嵌在南瓜果肉内部,湿度与导电性易引发接触问题。操作杆置于南瓜顶部,显示屏却安在底部,人机交互体验略显别扭。若重新设计,我会将操纵杆移至另一只独立南瓜上;或改用无线遥控方式;又或者将外接线缆巧妙伪装成蜿蜒自然的南瓜藤蔓,既保持整体趣味性,又提升操控合理性与视觉统一感。
25、 我习惯随时记录所有天马行空、转瞬即逝的念头,暂不评判,留待日后回溯梳理,既避免灵感流失,也保留更多可能性。十月初,我偶然想起去年萌生的一个点子——南瓜俄罗斯方块。最初设想是:在南瓜生长阶段,通过模具引导其自然长成T型、L型、方块等经典游戏造型,待万圣节临近时,将这些形态各异的南瓜组合拼搭,还原成可互动的立体游戏场景。但很快意识到,此时播种已错过农时,现种南瓜显然来不及。于是思路一转:既然无法让南瓜变成方块,何不打造一个能真正运行俄罗斯方块游戏的南瓜装置?让南瓜本身成为交互载体,既应景又富新意。
26、 我还有一块全新的LOLShield——一款9×14点阵的LED显示板,之前已有开发者在上面成功实现过俄罗斯方块游戏。受此启发,我最初设想在南瓜表面钻孔嵌入LED,再配以简易控制器,便能完成万圣节灯饰。但转念一想,这种方案略显单薄:LED体积微小,且全部集中在仅2英寸×3英寸的狭小区域内,视觉效果局促、缺乏冲击力,整体呈现也过于简陋,难以营造出理想中的节日氛围与科技感。
27、 B方案:继续采用LOLshield主控板,但不再将LED灯直接焊在电路板上,而是通过外部引线连接各灯珠,以便在南瓜表面更均匀地分散布置。所幸及时意识到此方案存在明显缺陷——大量外接导线会在板面形成密集线束,导致整体厚度显著增加,不仅焊接操作困难,后期走线整理也极为繁琐,影响最终装配效果与可靠性。
28、 我决定自主设计并制作一块LED灯板,同时重新编写控制程序。经过仔细考虑,我从Mouser采购了140颗黄色LED灯珠,并从Adafruit购入两块支持I?C接口的LED矩阵驱动板(即背板模块),每块均配套一个8×8点阵LED显示屏。整个方案兼顾灵活性与可扩展性,便于后续调试与功能优化,也为个性化灯光效果的实现打下硬件基础。
评论
更多评论