Linux中國

利用樹莓派和乒乓球製作一個假日彩燈

這個樹莓派教程用於製作一個可編程的 LED 燈光顯示器,非常適合各種技能水平的人。

我喜歡聖誕裝飾品和燈飾,因此很長一段時間以來我一直想做一個可編程的 LED 項目。最近,我製作了一個由 LED 燈、乒乓球和樹莓派 Zero 組成的燈陣列。這個項目相對簡單並且具有教學價值,因此我認為它非常值得分享。

整個彩燈由我設計,但其中一些靈感也來自 YouTube。你可以在我的 Git 存儲庫 中找到源代碼和製作說明。

購物清單

  • 樹莓派 Zero
  • 樹莓派保護殼
  • 5V 2A 的電源線
  • 展架
  • 255 個乒乓球
  • 熱熔膠槍和若干熱熔膠棒
  • 烙鐵
  • 焊錫絲
  • 22 AWG 0.35mm 實芯線
  • 10 米 WS2812(B) LED 燈帶(每米 30 像素)
  • 萬用表
  • 鋼絲鉗
  • 剝線鉗

設計樹莓派的燈光效果

這個設計是根據我展框的大小決定的。我在全球速賣通買到了每米 30 像素的燈帶,它可以輕鬆地切成 0.5 米的長度,每條有 15 個 LED 燈。乒乓球的直徑是 40 毫米,所以我測量並隔開 40 毫米划了線,LED 燈條放在每隔 40 毫米的中間部分,這就產生了 17 條線。因此我的燈光陣列是 15×17。你可以根據實際情況來調整尺寸。

為了給燈帶和樹莓派供電,我在電路板底部設置了數據線和電源線。我的 LED 燈不需要很多電,所以我使用樹莓派 Zero 的 5V 輸出 GPIO 為它們供電。當我以 50% 的亮度運行時,這個亮度已經足以在白天和晚上透過我的窗戶看到。

布線

我從電路板的底部以之字形開始布線,這使得焊接非常容易,因為每行的末尾不必返回到每行的開頭。

我的線路大致像這樣(為清楚起見,這裡進行了簡化,實際上它一共有 17 行):

<---------------
                |
/---------------/
|
---------------< # 這裡連接樹莓派

使用樹莓派製作顯示屏

當設計和布線的工作完成後就可以開始製作顯示屏了。

我在展板上測量並繪製了線路。我的燈帶背面有膠帶,所以我只需要取下背襯並將其貼在展板上。我檢查了每個燈帶的位置和數據線的方向,以確保燈帶可以按照樹莓派的指令正確串聯起來。

連接好所有燈帶後,我剪下三段長度相同的電線,並將每個燈帶末端的電源線、數據線和接地線連接到其上方。

Connect each light strip at the end of each line.

在線路連接完成後,我檢查了每條燈帶之間的電源線和地線之間的連接,以確保其連通性。我還檢查了是否存在錯誤的橋接,所以我驗證了電源線和地線之間的連接。我還進行了一些測試以確保所有燈都正常點亮(鏈路測試參閱 測試代碼)。

完成上述工作後,我開始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然後剪一個小洞讓 LED 燈穿進去。手工不太行,每個球都不太一樣,但效果真的很好。我使用的每米 30 個像素的 LED 燈,所以每個 LED 之間有大約 30 毫米的空隙。一個乒乓球是 40 毫米寬,但我不打算開始單獨焊接每一個 LED!我想,這是很重要的。首先,我並不擅長焊接(正如我的照片所顯示的),而且無論如何,我想「好吧,它們是乒乓球。我可以把它們壓在一起!」

我是這樣做的:

在 LED 燈上滴上熱熔膠,然後在 LED 上放了一個乒乓球並按住大約五秒鐘,就粘好了一個乒乓球。粘貼下一個乒乓球時我只需要擠著上一個乒乓球,就能讓所有乒乓球都變得整齊了。我對它的外觀很滿意。它還有一個很好的好處,就是掩蓋了我糟糕的焊接工作;)

It&apos;s a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.

我繼續為餘下的乒乓球進行焊接。儘管這個過程中有幾個乒乓球被壓碎了,但最終還是順利完成了製作。

255 LEDs and 255 ping pong balls in an array.

測試代碼

測試代碼需要確保所有部件都能正常工作,為此我使用了這個 Adafruit 指南,它以紅、綠和藍點亮每個 LED,然後依次進行循環。我在測試時使用它來確保我連接無誤並且焊接正常。

在此之後,我在電子表格中設計了一個網格,將每個像素映射到一個網格位置。由於我的像素編號呈之字形排列,因此很難跟蹤每個 LED(例如 A1 為 256,B1 為 226)。重新映射網格位置能使得我在構建圖像時更容易。

在所有準備工作完成之後,我就可以在紙上和電子表格中設計圖像,然後編碼。於是我開始添加一些動畫(使用循環並將像素變為一種顏色,然後變為另一種顏色)。

最終的結果還算順利。

A Christmas gift in LED.

Reindeer painted with light.

An LED snowflake.

能玩一年的樹莓派彩燈

我不確定這是否已經完全完成了。自從把它擺放到櫥窗里,幾乎每個晚上我都會添加一些新的圖像和動畫。我已經在考慮除夕夜的時候要做成什麼樣了。它不會像聖誕裝飾品一起在聖誕節後被放進儲藏室。我只需要在上面顯示其它圖案,就能使它成為一個能玩一年的彩燈!我的一個朋友推薦了像素版馬里奧,這聽起來是個好主意!

我的代碼仍然需要完善。例如,我做了一些滾動文本,但當我為文本的每個位置重新繪製時卻花了很多時間。我想我可以用循環做一些事情,或者圖像庫可以幫助更輕鬆地滾動字母,並使添加文本更容易,而不是在每一步打開和關閉每個像素。

這裡有一張照片記錄了我製作的全過程:LED 乒乓牆

可以在此處觀看它的運行視頻:XMas 燈光展示

這個彩燈最終的效果我非常滿意。以後我也會嘗試更多利用 LED 彩燈完成的項目。我也鼓勵大家親自動手製作一個這樣的彩燈,它會比你想像中更簡單。

via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display

作者:Brian McCafferty 選題:lkxed 譯者:Return7g 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國