2020年10月18日 星期日

【分享】自製LED炫彩特效(Hypersion + Raspberry Pi 4B + APA 102)

 

首先,先看一下效果(螢幕是21吋的螢幕,所以燈條也比較少)



好,正題開始~

零、寫在前面

這個特效是【Hyperion】這個控制程式,主要是控制LED燈來達成炫彩的效果。

基本上需要

    1. 訊號來源,可以是電腦本身,或者透過HDMI截取器來獲取訊號

    2. 控制器,用來控制LED燈帶的元件,可以直接透過樹莓派、Arduino、Nodemcu等開發板

    3. LED燈帶,或者飛利浦、or 其他品牌的燈

完整的細節可以參考官網 https://docs.hyperion-project.org

或者官方論壇 https://hyperion-project.org

裡面很多技術討論與問答

其他細節分享則是感謝line群組內的大大分享

(大大在Dcard的文章分享:https://www.dcard.tw/f/smart_home/p/233563361

另外,比較完整的教學影片請參考 DRZZS 大大的影片


看不懂/聽不懂英文的可以跳過

以下是我個人實作的分享


一、事先準備

首先先準備材料

    1. 訊源的部分:因為這種氣氛燈目標是放在電視、大螢幕後面,效果會更好,所以訊源的部分我會以HDMI為主,我是買可以直通 4K/60Hz 的截取器,淘寶上各種都有,可以挑評價比較好的,例如我買的這個截取 HDMI 後是輸出 USB3.0 的訊號,而我的樹莓派 4B 是有支援USB 3.0 的規格,所以買之前要先評估自己的預算。另外也可以考慮使用 HDMI 1進2出再搭配便宜的 HDMI 截取器,也可以達到同樣的效果。


 

    2. 控制器的選擇:因為之前玩Home assistant的系統,曾經入手一台樹莓派4B,所以就以樹莓派來做控制器的部分。(對於各種開發板比較熟的朋友,line群的大大建議,可以考慮使用NODEMCU,刷入WLED的韌體,直接走wifi控制會更方便)。另外 LED 燈帶還有裸裝、膠裝,與管線等,因為室內安裝無防水需求,所以僅僅採購裸裝版本。 

    3. LED燈帶的選擇:上面DRZZS的教學是使用WS2812,但是官方討論區比較推薦APA102,所以我後來選購APA102的燈帶。



另外,除了RGB的LED燈,預算高的朋友也可以考慮RGBW的燈帶。選購時,燈帶還有分30顆/公尺、60顆/米、144顆/米,由於每顆LED燈約需50mA的電流,燈的密度越高越耗電,這個大家可以自行考慮。


    4.其他材料:杜邦線、電源線等等

清單如下:

1. HDMI 截取器,淘寶上100~800RMB不等

2. LED 燈帶,種類:APA102,30顆/米,一卷5米,適用5V電壓,淘寶約135RMB

3. 樹莓派:基本上3B就夠用了,但我當初買的是4B,2G版蝦皮約1500~2000NTD

4. 電源供應器:這個要評估螢幕的大小會需要多少顆LED來估算,65吋的電視大小長寬約1462x841 mm ,整圈約 4.4 公尺,約132個LED燈,所以LED燈約需6.6A,而樹莓派約3A,所以電源需5V/10A比較夠。

5. 其他:因為我沒有電焊工具,所以有多買一些配件,例如免焊接卡扣、免焊接電源接頭、L 型PCB 板等等,買的時候要注意跟 LED 燈帶是否適配,例如我的APA102 是 4 pin 的,而WS2812 是 3 pin。




另外要記得買杜邦線,或者自家有多的杜邦線,需要母對母的杜邦線若干條(電子材料行應該都有)


二、安裝 Hyperion 系統

官方支援樹莓派、Ubuntu/Debian、或者 Mac 上安裝,安裝細節可以參考官方文件 

以下分享樹莓派(HyperBian)的安裝方式

1. 到官方發佈頁下載最新的 IMG 檔案,把它燒錄到給樹莓派用的SD卡

推薦使用 balenaEtcher 來燒錄,Windows/Mac 皆有支援


① 選擇下載的 img 檔

② 選擇目標記憶卡

③ 執行

--

2. 假如要讓樹莓派透過 WIFI 來連接網路的話,需要在已經燒錄好的 SD 卡內,新增一個 ” wpa_supplicant.conf “ 的檔案,內容如下:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB

  network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
  }


ssid 要改成你家 WiFi 的名稱

psk 後面要改成你家 WiFi 的密碼


3. 直接把 SD 卡插進樹莓派再連接電源就可以了,開機後會自動連網路,順利連上網路,由自己的路由器確認一下樹莓派的 IP 位址之後,瀏覽器輸入 IP 位址: 8090 (ex: 192.168.0.123:8090 )就可以進入 Hyperion 的 WEB 管理界面。(Windows 的 IE 不支援)



右上角的扳手符號可以設定登入密碼,其他設定可以參考前面 DRZZS 的影片,由於我是用 APA102,所以這邊分享一下我自己的設定。

這邊 Controller type 我是選擇 APA102,RGB byte order 選擇 BGR,假如預設的順序是RGB,但是實測的時候發現紅色變藍色,藍色變紅色,那就調整為BGR,顏色顯示就會正常了

這邊就要設定螢幕一邊是幾個燈珠,我的螢幕上下各14個,左右各7個。預設順序是從左上角開始,點選 LED number 可以看到編號,在 Input position 輸入編號可以設定起始位置。

我只有用 HDMI 截取器的訊號,所以只有勾 USB capture。 優先度數字越低越優先,最低是100

這邊是截取訊號的細節設定,基本上我們只需要螢幕訊號的顏色訊號,所以解析度不需要太高(設定太高反而會增加延遲),因為我的截取器是 4K/60Hz 直通,所以這邊的截取訊號設定為640x360 並不影響我看到的螢幕解析度。 


另外,在 Effects 裡面,我把開機效果和背景效果關掉了,不然有時候在畫面轉場的時候可能是全黑,但是燈帶卻自行跑背景效果,會影響體驗。


三、硬體配置

基本上我是走 HDMI 截取器直通的路,所以截取器的 USB 訊號連接樹莓派的 USB3.0 接口,燈條的接法如下圖(來源



由於我沒有焊接工具,所以連接方式都是透過杜邦線與免焊接卡扣。

另外,由於小螢幕只用到42顆燈珠,整個安裝完後,我發現樹莓派原廠的電源供電竟然足以提供樹莓派本身+ HDMI 截取器 + LED 燈帶,因此最後我就沒用額外的電源供電器。

紅色線是另外安裝的散熱風扇

LED 燈帶沿著逆時針方向黏貼在螢幕的邊緣處


免焊接卡扣連接 LED 燈條


全部完成之後,就可以享受美美的燈光了!



沒有留言:

張貼留言

【教學】親愛的,我把框框變大了!

前言 在即將上路的新病歷系統下, 閱讀的介面被受限在小小的框架中 在資訊系統進一步改善介面之前, 身為讀者的我們有沒有辦法自行調整呢?