“輕軌(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引腳即可驅動的簡潔性頗具優勢。
Layout布局設計無疑耗費了最多時間。我首先粗略排布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

-
pcb
+關注
關注
4364文章
23471瀏覽量
409046 -
KiCAD
+關注
關注
5文章
255瀏覽量
9477
發布評論請先 登錄
Made with KiCad(132):PCB 應變片(Strain Gauge)

開源工具 Made with KiCad(131):BomberCat 安全測試工具

開源 Made with KiCad(129):CatSniffer IoT 多協議工具

Made with KiCad(128):CANBoard V2 開源一款支持CAN的簡單IO板

Made with KiCad(105):iCEBreaker FPGA 開發板(適于教學使用)

Made with KiCad(100):RM2024 超級電容控制器

Made with KiCad(九十八):USB-C 的 Raspberry PiCo 2

Made with KiCad(122):ANAVI Miracle Emitter

Made with KiCad(121):OpenRPNCalc 開源科學 RPN 計算器

Made with KiCad(118):Inkplate 4 TEMPERA 墨水屏終端

Made with KiCad(116):GreatFET One 硬件黑客最佳搭檔

Made with KiCad(113):低功耗藍牙智能骰子

Made with KiCad(111):Vimdrones AM32 ESC 開發板

Made with KiCad(108):基于 LattePanda-Mu 的 nvme 載板

Made with KiCad(107):LattePanda-Mu 載板(Lite Carrier)

評論