← 專案持續維護2018–2023科技程式

LED・Arduino・焊接

光立方

把 LED 排成立方體,用程式控制每一顆的亮滅。4×4×4 一共 64 顆,只要 20 條線就能全部指揮;從 2018 年的第一版,到 8×8×8 的彩色立方,再到學生一天做完的營隊課。

光立方
  • 64 顆4×4×4 的 LED 數量
  • 20 條控制全部 LED 只需要的線
  • 8×8×8彩色的八階版本,512 顆
  • 1 天營隊裡,學生焊完、寫好程式

八階彩色光立方。

會動的立體圖案

一座亮在空中的圖案

八階(8×8×8)彩色光立方,512 顆 LED 排成立方體,一層一層變換顏色與圖案。

4×4×4 是入門款,只有 64 顆,卻能做出全體閃爍、依序點亮、呼吸燈、下雨、波浪。

為什麼不用 64 條線

64 顆 LED
只要 20 條線

每一顆 LED 都想單獨控制,但 64 條線太多了。光立方用「座標」的方式:每一顆 LED 位在某一層、某一直柱。

同一層的 4 顆×4 顆 LED 共用一條「層線」(4 條),同一直柱上的 4 顆 LED 共用一條「直柱線」(16 條)。要點亮某一顆,就選它的層和它的直柱——4+16=20 條線,指揮 64 顆。

  • 層4 層,每層一條線,決定「第幾層」亮。
  • 直柱16 根直柱,每根一條線,決定「哪一格」亮。
  • 掃描一次只亮一層,輪流點亮;輪得夠快,眼睛就看成全部同時亮。

光立方模擬器

自己指揮 64 顆 LED

選一種燈光變化,拖曳可以轉動立方體。打開「掃描模式」,看看真實電路是怎麼騙過眼睛的。

全部 64 顆 LED 照圖案同時亮。

這是示意模擬,圖案是簡化過的,不是光立方實際執行的程式。

視覺暫留

為什麼輪流亮
看起來是同時亮

光立方的掃描是:先亮第 1 層,關掉,再亮第 2 層……四層輪完一圈,再重來。

人的眼睛有「視覺暫留」:光消失後,影像大約還會停留一小段時間。每秒輪的圈數夠多(約 30 次以上),影像就連起來,看不到閃爍。 這也是電影、螢幕能夠動起來的原因。

  • 代價:亮度。 每一層只在四分之一的時間亮著,整體會比同時亮暗一些。所以光立方要用比較亮的 LED,或者讓每顆通過更大的電流。

做一個光立方

從一顆 LED 到一座立方體

這是 2018 年 5 月第一版光立方的製作紀錄。

  1. 01

    第一步

    折腳

    把每顆 LED 的長腳折成 ㄇ 字形,方便之後焊接。

    把 LED 的腳折好
  2. 02

    第二步

    用模板固定位置

    在厚紙板上挖 4×4 的洞,LED 插進去,每顆的間距就一樣。

    用 4×4 的模板固定 LED
  3. 03

    第三步

    焊成一層

    把同一層 LED 的腳焊在一起,一層 16 顆。

    焊好的一層
  4. 04

    第四步

    疊成立方

    四層疊起來,用直柱線連接,立方體就立起來了。

    四層疊成立方
  5. 05

    第五步

    接線驗證

    先用麵包板與 Arduino 接線,確認每一顆都亮得起來。

    用麵包板與 Arduino 驗證接線
  6. 06

    第六步

    寫程式

    從全體閃爍開始,再做依序點亮、呼吸燈,最後設計自己的燈光變化。

2023 年營隊版的零件

每位學生一套

  1. 擴展板與 Arduino Nano
    1
    光立方擴展板

    自製電路板,插在 Arduino Nano 上,把 LED 的接線整理好。

  2. 2
    Arduino Nano

    控制板,燒入程式後指揮所有 LED。

  3. 3
    LED 64 顆

    5 mm 霧面 LED,紅、藍、綠、白、暖白,每人 64 顆。

  4. 4
    MAX7219

    驅動晶片,替 Arduino 分擔掃描 LED 的工作。

  5. 用模板固定 LED
    5
    焊接模板

    固定 LED 位置,焊出來才整齊。

  6. 完成的 4×4×4 光立方
    6
    其他

    六角隔離柱與螺母、排針排母、矽膠線、按鈕。

2023 做光立方學機電整合

一天
從焊接到燈舞

在學校的物理實驗室,一天完成。

  1. 01

    上午

    從 Arduino 學機電整合

    Arduino 的歷史,以及電子實習的基本練習。

  2. 02

    上午

    光立方原理剖析

    為什麼 64 顆 LED 不用 64 條線也能各自亮滅。

  3. 03

    上午

    光立方治具與機體製作

    做模板,把 LED 焊成立方體。

  4. 04

    下午

    底板焊接與組裝

    焊接擴展板,接上 Arduino Nano。

  5. 05

    下午

    燒入範例程式

    第一次點亮,看成果。

  6. 06

    下午

    從光立方學程式

    實作全體閃爍、依序點亮、呼吸燈,最後設計自己風格的燈舞。

  7. 07

    下午

    成果展示與心得分享

    學生展示作品,分享心得。

做出來的過程

從 4×4×4 到 8×8×8

從 v1.0 一路改到 v4.01,也做過八階的版本。

  1. 2018 年做好的 4×4×4 立方

    2018.05v1.0

    第一版

    自己焊 64 顆 LED,用麵包板與 Arduino 驗證接線。

  2. 2018 年點亮的光立方

    2018.06點亮

    多色 LED 版

    不同顏色的 LED 一起點亮,圖案在立方裡流動。

  3. 八階光立方的主板

    2020.068×8×8

    八階光立方

    512 顆 LED,用主板(藍牙與 Wi-Fi 版)驅動。

  4. 2021 年的紅色電路板版

    2021.09紅色電路板

    把接線做進電路板

    改成紅色的電路板,接線印在板子上,LED 直接插上去焊。

  5. 2023 年營隊版成品

    2023.12營隊版

    Arduino Nano + 擴展板

    每位學生一套,一天焊完、寫完程式。

2018 年的第一版

2018 年點亮

  • 四段光立方

    光立方的四種燈光變化。

  • 2018 年 6 月

    4×4×4 的光立方,在黑暗中變換圖案。

學生會學到什麼

做完之後會知道

  • 焊接。焊 64 顆 LED 與電路板,每一點都要牢,才不會有燈不亮。
  • 用座標控制大量元件。層加直柱的座標方式,用 20 條線指揮 64 顆 LED。
  • 視覺暫留。輪流點亮的畫面,為什麼看起來是同時亮。
  • 用程式寫燈光。從全體閃爍到呼吸燈,再到自己設計的圖案。
  • 看懂電路板。遇到不亮的 LED,能順著接線自己找原因。
  • 一起完成。營隊裡有人焊、有人除錯,一天完成。

相簿

製作與成品

  • 2018:做好的 4×4×4 立方,還沒接電

  • 2018.06:第一版點亮

  • 2020.06:八階光立方的主板

  • 2021.09:紅色電路板版,藍光 LED

  • 2023 營隊:用模板固定 LED

  • 2023 營隊:完成的 4×4×4 光立方