【点击上方「蓝字」关注DF,一起成为技术颜控!】

正文共:4619字33图
预计阅读时间:12分钟
该项目利用一个基于WS2812的20x10像素的LED显示屏,尺寸为78x35厘米,实现可以轻松地安装在客厅中玩复古游戏。
该LED矩阵屏的一个特殊功能是特殊的木质贴面,当LED禁用时,它可以遮盖住LED。这极大地提高了非技术人员的接受度;-)
当然,如果您所在的国家/地区没有这种特殊的贴面,您还可以使用其他诸如丙烯酸树脂之类的扩散材料来隐藏LED。
耗材:
Raspberry Pi Zero W(如果经过一些调整,其他型号也可以使用)
200 LED / ss(30 LED /m的WS2812B LED灯带)
带有MAX7219的SPI LED矩阵显示器 *4
电缆线
蓝牙游戏手柄
电源5V,至少5A
用于激光切割的MDF木材
木质贴面或丙烯酸扩散板
电容,电阻
一些螺丝
步骤1:激光切割
矩阵屏的基础结构由MDF木材制成,厚度为3mm,并通过激光切割机切割。如果您没有激光切割机,可以寻求在线服务或者与当地的创客空间联系,比如上海的创客朋友可以找蘑菇云创客空间。
大多数零件只是通过滑动就位而保持在一起,只有某些零件(如外框)应使用木胶将其粘合在一起。在涂任何胶水之前,请确保您之前的步骤是正确的。此外,还必须粘贴木质贴面,但这是确保一切正常之后的最后一步。
在背板的右侧(下部),有一个切割的部分,用于将电子元件固定到矩阵屏上,并且当胶合单板时仍然可以接通这些元件。
文件点击文末阅读原文下载。
步骤2:安装LED

LED灯条是标准的30 LED / m WS2812灯条,可在亚马逊,eBay或世界各地的其他在线商店购买,国内用户可以在DF官方商城购买。通常,这也是最便宜的可寻址LED灯带。
接线方式为锯齿形,因此在最后,矩阵屏只有一个输入引脚,电缆长度应尽可能短。为了正确分配电源并减少矩阵屏顶部的布线,每个LED灯条都连接到矩阵屏底部的5V和GND。您可以使用单线或原型PCB来分配5V和GND线。
步骤3:组装
上述视图有助于识别装配的正确零件。只需按照分步安装图片进行操作即可。背板具有交叉结构,以固定长侧壁和一些短侧壁。如果您在安装部件时遇到问题,请使用砂纸进行处理。
步骤4:焊接
有多种方法可以将不同灯带的电源线焊接在一起。您可以使用单根电线或某种铜制共轨来焊接不同的电线。在这种情况下,使用原型PCB块将电源轨引导到灯带。WS2812B灯带已经有单独的电源电缆,您可以使用它们将电源轨连接到第一个灯带输入(图片的左侧)。
步骤5:安装SPI显示
为了显示游戏成绩和文字,使用了基于LED驱动器MAX7219的LED矩阵屏显示器。它通过SPI(串行外围接口)连接到Raspberry Pi。四个8x8显示器组合成一个32x8像素点矩阵显示器。您可以在网上购买这种8x8像素显示器,也可以购买32x8像素组合显示器。
如果此显示直接放置在饰面板层的后面,则只能从外部读取。如果没有,则只有红色模糊可见。因此,您必须将其安装在背板切口段的顶部,背板表面与矩阵屏表面之间的距离为30mm。我使用了一些剩余的木制件和螺钉来适应底板和PCB之间缺少的19毫米,您也可以使用任何外部类型的垫片。
显示屏的接线在步骤7中显示。
步骤6:安装树莓派
在此安装中,使用了Raspberry Pi Zero。您也可以使用任何其他Raspberry Pi型号,但是较新的型号具有集成的WiFi和蓝牙,可以轻松连接到无线游戏手柄并简化编程。
您可以使用至少两个螺钉和小的垫片将Pi固定到背板上,以固定Pi。
对于Raspberry Pi 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
步骤7:接线和电源
根据接线方案进行接线。电源为5V直流电源。
为了方便矩阵屏的开/关切换,在电源插头和矩阵屏电路之间增加了一个开关。但是,由于Raspberry Pi不喜欢硬关闭,因此软件中有一个关闭选项,可以在切换矩阵屏之前通过Gamepad安全关闭Pi。
LED灯条DIN引脚通过电阻连接到Pi,还添加了一个大电容(4700uF)来缓冲电源。有关更多详细信息,请查看AdafruitÜberguidefor Neopixels。
每个LED消耗的最大电流为60mA,因此最大电流为200x60mA = 12A是可以的!!!通过降低亮度并且不使用所有全白LED,这虽然是一个理论值,但取决于达到最大电流的代码。因此,选择足够大的电源非常重要。对于大多数应用,具有5V / 5A(25W)的电源就足够了。
要将背板与PI和矩阵显示器固定在一起,可以使用一些小木块将它们的边缘固定,也可以使用螺钉将背板固定到位。
步骤8:设定树莓派
1.下载最新的Raspian lite版镜像
2.复制到SD卡,8GB就足够了。
3.在使用SD卡启动Pi之前,请准备好WIFI和SSH访问
4.将SD卡插入任何计算机,启动文件夹应可访问
5.将以下行复制到文件wpa_supplicant.conf(如果不存在,请生成文件)并根据您的Wifi和区域更改参数
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br>country=US
update_config=1
network={
ssid="Home Wifi"
psk="mypassword"
key_mgmt=WPA-PSK
}
6.添加一个名为ssh(没有任何扩展名)的空文件以启动以启用ssh访问
7.现在,将SD卡插入Raspberry Pi并启动它。检查您的wifi路由器以获取Pi的IP地址
8.使用终端(Linux,Mac)或例如Putty(Windows),启动到Pi的SSH连接。插入Pi的IP而不是192.168.xy
ssh pi@192.168.x.y
9.更新Pi(需要一些时间!)
sudo apt-get update
sudo apt-get upgrade
10.安装pip和设置tool
sudo apt-get install python3-pip
sudo pip3 install --upgrade setuptool
11.安装Neopixel驱动程序,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
12.通过调用raps-config启用SPI,导航至5接口选项/ P4 SPI /Enable
sudo raspi-config
13.添加蓝牙游戏手柄
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是您的蓝牙游戏手柄的MAC地址。调用“ scan on”命令后,会显示该地址。确保您的蓝牙控制器已准备好配对,请检查控制器手册以了解如何进行配对。
14.现在,您可以通过以下方式连接到Pi,默认密码是raspberry(Windows用户可以使用Putty):
ssh pi@192.168.x.y
步骤9:Python代码,测试和模拟器

git clone https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
该代码具有一个选项,可以使用pygame在Pi之外的模拟模式下运行,以模拟矩阵屏。这对开发新功能非常有帮助,而无需直接访问矩阵屏硬件。而且调试也容易得多。您必须设置PI常数才能激活仿真模式(第15行):
PI=False
在此模拟模式下,还可以使用键盘代替蓝牙游戏手柄。按钮1、2、3、4分别映射到游戏手柄的A,B,X,Y,方向箭头键,“ s”表示开始,“ x”表示选择。您可以使用标准编辑器以及控制台,也可以使用某些集成的IDE(例如Micosoft Visual Studio Code或Jetbrain PyCharm)在PC上进行开发。
如果使用矩阵和Raspberry Pi,则必须定义:
PI=True
要将代码复制到Raspberry Pi,可以使用scp命令。打开控制台窗口,切换到包含Github文件的文件夹并调用
scp games_pi_only pi@192.168.x.y:/home/pi
scp *.bmp pi@192.168.x.y:/home/pi
然后通过ssh连接到Pi(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 &
步骤10:最终测试和贴面
在胶合板粘贴在正面顶部之前,应先测试矩阵屏以确保所有LED都在工作。在胶合单板之前,修复某些东西要容易得多。
用过的木质贴面是一种特殊的枫木贴面纸,称为Microwood,单面覆盖有纸,厚度为0.1毫米。可以使用标准的无水纸胶将纸面直接粘合在mdf上。
步骤11:完工!!!
▲ 完整视频演示

玩得开心,享受游戏!

硬件购买请戳👆
大家有什么想法,欢迎下方留言!
欢迎大家点击阅读原文,在论坛互动交流!
往期回顾
听说创客们都收藏了这个网站……
自制的大疆S1战车来了!
当谷歌小恐龙变成了一个小人……
焊武帝,他来了!
Arduino大家都熟,你听过Freeduino么?
【福利】Arduino系列引脚大全
拾色手电:颜色万千,只取一种
整挺好!
👇

