材料清單
樹莓派 Zero W × 1
WS2812B LED(30 LED/m) × 200
帶有 MAX7219 的 SPI LED 點陣顯示器 × 4
電線 × 若干
藍(lán)牙游戲手柄 × 1
電源5V 5A × 1
激光切割的 MDF 板 × 若干
木質(zhì)貼面或擴散板 × 若干
電容 × 1
電阻 × 1
螺絲 × 若干
制作外框
點陣屏的框架由 MDF 木材制成,厚度為 3mm,并通過激光切割機切割。
大多數(shù)零件只是通過嵌入固定,只有某些零件(如外框)應(yīng)使用木膠將其粘合在一起。
在涂任何膠水之前,請確保之前的步驟是正確的。此外,還必須粘貼木質(zhì)貼面,但這是確保一切正常之后的最后一步。
在背板的右側(cè)(下部),有一個切割的部分,用于將電子元件固定到點陣屏上,并且當(dāng)膠合單板時仍然可以接通這些元件。
激光切割文件請在項目文件庫中下載。
https://make.quwj.com/project/209
安裝 LED
LED 燈條是標(biāo)準(zhǔn)的 30 LED/m WS2812 燈條。
激光切割段具有較小的切割區(qū)域,以適合 10cm 的 LED 寬度。該 LED 燈帶的背面帶有雙面膠帶,因此可以在精確定位后直接將它們直接粘貼到 MDF 上。
在使用膠帶之前,請檢查每條燈帶的正確方向( DIN-DOUT 方向)。
接線方式為鋸齒形,因此在最后,點陣屏只有一個輸入引腳,電纜長度應(yīng)盡可能短。
為了正確分配電源并減少點陣屏頂部的布線,每個 LED 燈條都連接到點陣屏底部的 5V 和 GND??梢允褂脝尉€或原型 PCB 來分配 5V 和 GND 線。
組裝
只需按照分步安裝圖片進行操作即可。背板具有交叉結(jié)構(gòu),以固定長側(cè)壁和一些短側(cè)壁。如果在安裝部件時遇到問題,請使用砂紙打磨處理。
焊接
有多種方法可以將不同燈帶的電源線焊接在一起。可以使用單根電線或某種銅制共軌來焊接不同的電線。
在這種情況下,使用原型 PCB 塊將電源軌引導(dǎo)到燈帶。WS2812B 燈帶已經(jīng)有單獨的電源電纜,可以使用它們將電源軌連接到第一個燈帶輸入(圖片的左側(cè))。
安裝 SPI 顯示
為了顯示游戲成績和文字,使用了基于 LED 驅(qū)動器 MAX7219 的 LED 點陣屏顯示器。它通過 SPI(串行外圍接口)連接到樹莓派。四個 8×8 顯示器組合成一個 32×8 像素點矩陣顯示器??梢栽诰W(wǎng)上購買這種 8×8 像素顯示器,也可以購買 32×8 像素組合顯示器。
同樣,有不同的顏色選擇;在這種情況下,使用紅色顯示。因為 SPI 就像移位寄存器一樣工作,所以通過將第一個矩陣的數(shù)據(jù)連接到第二個矩陣的數(shù)據(jù)輸入,依次將這些顯示器串聯(lián)在一起,依此類推,從顯示器的右側(cè)開始。
如果此顯示直接放置在飾面板層的后面,則只能從外部讀取。如果沒有,則只有紅色模糊可見。因此,必須將其安裝在背板切口段的頂部,背板表面與點陣屏表面之間的距離為 30mm。我使用了一些剩余的木制件和螺釘來適應(yīng)底板和 PCB 之間缺少的19毫米,也可以使用任何外部類型的墊片。
顯示屏的接線將在下面的步驟中進行講解。
安裝樹莓派
在此安裝中,使用了樹莓派 Zero。也可以使用任何其他樹莓派型號,但是較新的型號具有集成的 WiFi 和藍(lán)牙,可以輕松連接到無線游戲手柄并簡化編程。
可以使用至少兩個螺釘和小的墊片將樹莓派固定到背板上,以固定樹莓派。
對于樹莓派 Zero W,使用以下引腳:
PIN 2:5V
PIN 6:GND
GPIO18-> LED燈條
GPIO11:SPI CLK -> MAX7219 matrix CLK
GPIO10:SPI MOSI -> MAX7219 matrix DIN
GPIO8:SPI CS -> MAX7219 matrix CS
接線和電源
根據(jù)接線方案進行接線。電源為 5V 直流電源。
為了方便點陣屏的開/關(guān)切換,在電源插頭和點陣屏電路之間增加了一個開關(guān)。但是,由于樹莓派不喜歡硬關(guān)閉,因此軟件中有一個關(guān)閉選項,可以在切換點陣屏之前通過 Gamepad 安全關(guān)閉樹莓派。
LED燈條DIN引腳通過電阻連接到Pi,還添加了一個大電容(4700uF)來緩沖電源。有關(guān)更多詳細(xì)信息,請查看Adafruitüberguidefor Neopixels。
每個 LED 消耗的最大電流為 60mA,因此最大電流為 200x60mA = 12A 是可以的。通過降低亮度并且不使用所有全白 LED,這雖然是一個理論值,但取決于達(dá)到最大電流的代碼。
因此,選擇足夠大的電源非常重要。對于大多數(shù)應(yīng)用,具有 5V/5A(25W)的電源就足夠了。
要將背板與樹莓派和矩陣顯示器固定在一起,可以使用一些小木塊將它們的邊緣固定,也可以使用螺釘將背板固定到位。
配置樹莓派
1、下載最新的 Raspian Lite 版鏡像并安裝,參考教程:
https://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html
2、配置網(wǎng)絡(luò),參考教程:
https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html
3、在 boot 分區(qū)下添加一個名為 ssh(沒有任何擴展名)的空文件以啟動以啟用 ssh 訪問。
4、將 SD 卡插入樹莓派并啟動它。
5、運行下面的命令安裝軟件和依賴。
sudo apt-get install python3-pip
sudo pip3 install --upgrade setuptool
6、安裝 Neopixel 驅(qū)動程序,ws281x lib,pygame 和 libsdl
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixels
sudo pip3 install pygame
sudo apt-get install libsdl1.2-dev
sudo pip3 install --upgrade luma.led_matrix
7、通過調(diào)用 raps-config 啟用 SPI,導(dǎo)航至 5 接口選項 /P4 SPI/Enable
sudo raspi-config
8、添加藍(lán)牙游戲手柄
sudo bluetoothctl
[bluetooth]# agent on
[bluetooth]# pairable on
[bluetooth]# scan on
[bluetooth]# pair aa:bb:cc:dd:ee:ff
[bluetooth]# trust aa:bb:cc:dd:ee:ff
[bluetooth]# connect aa:bb:cc:dd:ee:ff
[bluetooth]# quit
其中 aa:bb:cc:dd:ee:ff 是藍(lán)牙游戲手柄的 MAC 地址。使用“scan on”命令后,會顯示該地址。確保藍(lán)牙控制器已準(zhǔn)備好配對,請檢查控制器手冊以了解如何進行配對。
9、現(xiàn)在,可以通過以下方式連接到樹莓派,默認(rèn)密碼是 raspberry(Windows 用戶可以使用 Putty):
ssh pi@192.168.x.y
Python 代碼,測試和模擬器
可以在 Github 上找到代碼。games_pi_only.py 和所有 bmp 文件都是必需的。
git clone https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
該代碼具有一個選項,可以使用 pygame 在樹莓派之外的模擬模式下運行,以模擬點陣屏。這對開發(fā)新功能非常有幫助,而無需直接訪問點陣屏硬件。
而且調(diào)試也容易得多。必須設(shè)置PI常數(shù)才能激活仿真模式(第 15 行):
PI=False
在此模擬模式下,還可以使用鍵盤代替藍(lán)牙游戲手柄。按鈕 1、2、3、4 分別映射到游戲手柄的 A,B,X,Y,方向箭頭鍵,“s”表示開始,“x”表示選擇??梢允褂脴?biāo)準(zhǔn)編輯器以及控制臺,也可以使用某些集成的 IDE(例如 Micosoft Visual Studio Code 或 Jetbrain PyCharm)在 PC 上進行開發(fā)
如果使用矩陣和樹莓派,則必須定義:
PI=True
要將代碼復(fù)制到樹莓派,可以用 scp 命令。打開控制臺窗口,切換到包含 Github 文件的文件夾并運行:
scp games_pi_only pi@192.168.x.y:/home/pi
scp *.bmp pi@192.168.x.y:/home/pi
然后通過 ssh 連接到樹莓派(Windows用戶可以使用Putty):
ssh pi@192.168.x.y
成功登錄后,通過以下命令來啟動 python 代碼:
sudo python3 games_pi_only.py
如果代碼正確運行,則可通過以下命令啟用自動啟動:
sudo nano /etc/rc.local
并在出口 0 之前添加以下行:
/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &
測試和貼面
在將膠合板粘貼在正面頂部之前,應(yīng)先測試點陣屏以確保所有 LED 都能正常工作。
木質(zhì)貼面是一種特殊的楓木貼面紙,稱為 Microwood,單面覆蓋有紙,厚度為 0.1mm。可以使用標(biāo)準(zhǔn)的無水紙膠將紙面直接粘合在 MDF 板上。
完工!
現(xiàn)在可以開心的玩耍啦!
via?instructables.com/id/Wooden-LED-Gaming-Display-Powered-by-Raspberry-Pi-/
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!