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