我在主引擎的管口,安裝了混音器和重低音擴音器,並在管口底部加裝一串GE Color Effects LED的五彩耶誕燈飾。前一個專題我甚至改造耶誕燈飾,控制了每個燈泡的顏色和亮度。我以Arduino控制燈泡串,透過簡易的圖騰來轉變色彩,模仿火箭的火焰。Arduino也可以控制我們火箭推進器的紅色LED燈。只要透過USB控制桿,就可以調整引擎和推進器的燈光。我讓Raspberry Pi來解讀控制桿的訊號,Raspberry Pi先判定操作桿朝哪個方向移動了多少,再命令Arduino點亮特定燈泡,其亮度取決於控制桿推進的程度。Raspberry Pi也可以透過太空船音響系統,來模擬火箭的聲音,聲音大小取決於動作的輕重。換言之,如果只是輕推控制桿,就只會有微弱的燈光和聲音,但只要朝著同一方向繼續推進控制桿,燈光就會愈亮,聲音也會愈大。
為了收集控制板的聲音,我逛遍freesound.org網站,搜遍NASA完整聲音檔案,尤其是阿波羅11號飛行日誌。我也運用聲音編輯軟體加以剪接、混合或編輯。
太空船通訊裝置面板(CAPCOM panel),也有「隨按隨響(PTT)」按鈕,只要按下去,上面LED燈泡就會發亮,並發出阿波羅號通訊的嗶聲前奏,但只要放開按鈕,LED燈泡就會熄滅,並發出阿波羅號通訊嗶聲的尾奏。
「SCE Power」開關,也是仿造阿波羅太空船,可以把「訊號調節設備」切換為主電力或備用電力。SCE專門整理遙測裝置傳回任務控制中心的訊號。阿波羅12號發射不久,太空船就在空中遭到雷擊,但大家都沒有發現(因為發射的聲音很大)。任務控制中心開始接收到各種微弱的訊息,指示太空船可能出了大差錯。約翰亞倫(John Aaron)駐守在任務控制中心的EECOM站,認定這是遭到雷擊的徵兆,也記得受訓所教的處置方法。他建議太空人「把SCE轉為備用電力」,遙測裝置馬上恢復正常,太空任務才有辦法繼續進行。我在太空船安裝祕密的雷擊觸發器,可以製造各種警報聲和警示,但只要SCE調為備用電力就會解除警報。
我四歲兒子最喜歡的開關,正是「Waste Dump」(棄置垃圾),因為會有沖馬桶的聲音,所以他覺得很好玩。他知道太空人對集尿系統的暱稱就是「口渴先生」(Mister Thirsty),所以只要有人碰那個開關,他就會大笑,還會學「口渴先生」說話。
我把程式碼刊在GitHub網站。我的控制臺程式,交互使用Arduino和Raspberry Pi。Arduino採用I/O擴張器(MCP23017),以解讀開關和按鈕的狀態。一旦開關(無論是短暫的按鍵開關、搖頭開關或翹板開關)的狀態改變了(關閉變成開啟,或者開啟變成關閉),Arduino都會透過序列連接(USB纜線)通知Raspberry Pi。Raspberry Pi可能發出聲音,也可能啟動一連串動作,如有必要,還會命令Arduino控制LED燈泡。Arduino會利用四個LED矩陣驅動程式(Matrix Driver,HT16K33安裝在Adafruit載板上),來控制所有LED燈泡。這可以支援291個LED燈泡,乍聽之下很多,但只要想想每個數字都要動用8個LED燈泡,每個LED燈排都要動用24個LED燈泡(燈排分成8格,每格都會發出紅黃綠三種光)。電位器也要透過Ardruino的類比輸入來解讀。
這艘太空船結合了我找來的各種小東西,最後變成完整而有趣的體驗。分解來看不難,但有很多需要整合,而且細節馬虎不得。如果你也想做點類似的事情,那就分成幾個可控制的部分,也不要害怕學習新技能。你可以每個禮拜花幾個小時,運用簡易的工具和技術,自己製作一些有趣的東西,你會學到很多。有努力過,才有所得!
Jeff Highsmith的Making Fun系列文章在此!
(譯者:謝明珊)
[原文]