轻轨(Light Rail)PCB 游戏
- 2025-07-24 08:00:00

“ 轻轨(Light Rail)是一款极简风格的互动式PCB游戏,其模拟列车沿轨道行驶并从站台装卸货物的过程。”








主要硬件组件包括
ATMega32u4 8 位微控制器
IS31FL3731 矩阵 LED 驱动器(charliplexing)
AS1115 七段 LED 显示驱动器
KCSC02-105 七段 LED 显示器
MIC5219 3.3V LDS 稳压器
黄色 “轨道 ”和红色 “平台 ”LED,共 144 个
IS31FL3731 + LEDs:最终我选择这个方案的原因很直白。之前用Adafruit的LED背包模块时体验良好,发现它通过独立PWM控制每颗LED就能轻松实现流畅动画效果。虽然考虑过IS31FL3741这类能控制更多LED的芯片,但觉得144颗LED的规模恰到好处。红黄双色作为高对比度的基础暖色调是自然之选。
Kingbright七段数码管 + AS1115:选择Kingbright数码管因其微型尺寸完美契合"元件即建筑"的板面美学。AS1115驱动芯片没有特别设计考量,只是刚好找到这款支持I2C通信、封装尺寸适配的七段管驱动IC。
ATMega32u4:选择主控芯片主要基于两点——这是其他设计中常见的AVR芯片,且自带USB功能。虽然我本人从未用过该型号,但有其他AVR芯片开发经验,其USB调试功能对开发及未来扩展颇具吸引力。更现实的好处是方便亲友烧录程序,直接给个脚本就能搞定,无需额外USB转串口芯片。不过$5/片的售价实在高昂,若非出于学习目的断不会选择。
电源电路:这部分设计主要参考其他开发板方案。通过粗略估算板载最大电流需求,最终选型的LDO稳压器留有充足余量。
压电蜂鸣器:直接沿用ACK1编码套件中的同款蜂鸣器。选择关键点在于其尺寸既能填补PCB空白区域,又符合"芯片即建筑"的设计隐喻。尽管体型较常规压电片偏大,但直连MCU引脚即可驱动的简洁性颇具优势。
布局设计无疑耗费了最多时间。我首先粗略排布LED灯珠构成轨道外环,随后勾勒出PCB轮廓。KiCad的光线追踪渲染功能在此阶段极为实用,帮助我直观调整LED间距与整体比例。为获得更真实的观感,我甚至找来与PCB尺寸相仿的平面物体举在显示器前比对。外环确定后,以手稿草图为基础绘制内部轨道与道岔。当基础轨道布局初现雏形时,欣喜地发现仍有充足LED可用于站台设计,遂在各轨道区段添加集群式灯珠。

随后,我将设计乐高轨道时积累的经验迁移至此,重点调整三个参数:
道岔/交叉口间的轨道区段长度
道岔在轨道中的延伸方向
各轨道区段内站台分布与区段长度的比例关系
轨道布局敲定后,开始排布其他元件。将ATMega32u4置于底部靠近电源电路与USB接口;IS31FL3731居中放置以缩短LED走线;顶部的Kingbright数码管与AS1115驱动构成游戏状态/计分屏;道岔旁设置切换按钮,底部布置四个控制键。
走线前已预判需要四层板应对LED矩阵的复杂布线。遂将中间两层定义为电源层与地层,此举实质将整板转化为平行板电容器——理论上可协同板载陶瓷电容提升电压稳定性。
IS31FL3731以两个独立9×8矩阵驱动144颗LED,布局时严格遵循分组原则。但完成顶层布线后,发现走线失衡问题。尽管PWM工作在kHz频段,仍不愿冒险承受走线电容差异带来的潜在干扰。于是重构布局,将之视为逻辑谜题:通过调整LED位置优化共阳极/阴极分组,实现总走线长度/数量最小化。
中途尝试自动布线并通宵运行。关于自动布线器,我就说这么多。
KiCad在此过程中也暴露出些许设计痛点。例如试图通过单焊盘接地简化按钮走线(因其他焊盘已内部连通),却始终无法通过设计规则检查。似乎无法优雅定义封装内隐式连接,除非采用比直接修改封装更取巧的变通方案。
布局完成后,沉迷于绘制丝印道路与微型停车位。尽管尺寸微小,我承认自己有点过分纠结于线条宽度和间距的一致性。所幸最终效果超预期(以我的美术功底而言),故仅有轻微悔意。当向家人展示效果图时,立即收获"元件宛如城市建筑"的评价,这正是设计理念的最佳印证。
原理图 & PCB






仓库 & 下载
可以在Github中获取开源仓库:
https://github.com/nonik0/Light-Rail

扫码加入资料分享群,定期分享硬件资料

如何学习四轴飞行器,有这套资料就足够了!(文末免费分享四轴飞行器相关资料合集)
电子硬件工程师如何从零开始学习?(文末免费分享从零开始学习资料)
电路原理图设计流程与注意事项(免费分享26套原理图设计资料合集)
如何学好电路设计?(文末分享电路设计资料合集)
开关电源的工作原理(文末免费分享开关电源资料合集)
学习射频和天线有这套资料就够了!(文末可免费领取)
1000+例各类获奖电赛作品资料集(电路篇、代码篇、教程篇文末免费领取)
分享嵌入式初级工程师全套学习资料包
分享100+套机器人设计资料(文末可免费领取)
免费分享Arduino入门+进阶(全套例程+书籍)
从入门到提升,嵌入式linux常用电子书教程合集分享
凝聚全网精品的电源工程师必备资料合集
LabVIEW的详细简介和应用(文末免费分享LabVIEW相关资料合集)
信号与系统是什么?(文末免费分享16G+信号与系统资料含大量视频教学)


- 点赞 (0)
-
分享
微信扫一扫
-
加入群聊
扫码加入群聊