用树莓派做一个木制LED游戏显示器

2020-02-271.6万
精华项目
AI 快速预览详细 收起
该项目介绍了一种使用树莓派Zero W和蓝牙游戏手柄制作的20x10像素LED显示屏。该显示屏尺寸为78x35厘米,适用于客厅中的复古游戏。主要材料包括Raspberry Pi Zero W、WS2812B LED灯带、SPI LED矩阵显示器等。通过激光切割MDF木材制作基础结构,并使用木质贴面或丙烯酸扩散板遮盖LED。整个项目从激光切割到组装、焊接、接线和软件设置都有详细的步骤说明。最终效果是一个可玩复古游戏的LED矩阵屏,适合家庭娱乐和STEM教育场景。
用树莓派做一个木制LED游戏显示器图30

▲  完整演示视频文末观看

该项目利用一个基于WS2812的20x10像素的LED显示屏,尺寸为78x35厘米,实现可以轻松地安装在客厅中玩复古游戏。
该矩阵屏的第一个版本建于2016年,并由许多其他人重建。这次经验被用来总结所有改进,以构建新版本的矩阵屏,并将其现在带入教学网站。


主要的新功能是Raspberry Pi Zero的更新,而不是使用Pi A和Arduino,并用蓝牙游戏手柄代替了以前的大型控制器。此外,软件也得到了改进,包括模拟器,即使您无法访问矩阵硬件,该模拟器也可以使您在计算机上开发代码。


该LED矩阵屏的一个特殊功能是特殊的木质贴面,当LED禁用时,它可以遮盖住LED。这极大地提高了非技术人员的接受度;-)

当然,如果您所在的国家/地区没有这种特殊的贴面,您还可以使用其他诸如丙烯酸树脂之类的扩散材料来隐藏LED。


耗材:
  • Raspberry Pi Zero W(如果经过一些调整,其他型号也可以使用)
  • 200 LED / ss(30 LED /m的WS2812B LED灯带)
  • 带有MAX7219的SPI LED矩阵显示器 *4
  • 电缆线
  • 蓝牙游戏手柄
  • 电源5V,至少5A
  • 用于激光切割的MDF木材
  • 木质贴面或丙烯酸扩散板
  • 电容,电阻
  • 一些螺丝



步骤1:激光切割

用树莓派做一个木制LED游戏显示器图1

矩阵屏的基础结构由MDF木材制成,厚度为3mm,并通过激光切割机切割。如果您没有激光切割机,可以寻求在线服务或者与当地的创客空间联系,比如上海的创客朋友可以找蘑菇云创客空间。

或者也可以使用纸板或其他较轻的材料,但是附件的材料设计为3mm的厚度,因此较薄或较厚的材料需要重新设计文件。设计是在Fusion 360中完成的。


大多数零件只是通过滑动就位而保持在一起,只有某些零件(如外框)应使用木胶将其粘合在一起。在涂任何胶水之前,请确保您之前的步骤是正确的。此外,还必须粘贴木质贴面,但这是确保一切正常之后的最后一步。


在背板的右侧(下部),有一个切割的部分,用于将电子元件固定到矩阵屏上,并且当胶合单板时仍然可以接通这些元件。

文件文末下载。


步骤2:安装LED
用树莓派做一个木制LED游戏显示器图2

用树莓派做一个木制LED游戏显示器图3

用树莓派做一个木制LED游戏显示器图4



LED灯条是标准的30 LED / m WS2812灯条,可在亚马逊,eBay或世界各地的其他在线商店购买,国内用户可以在DF官方商城购买。通常,这也是最便宜的可寻址LED灯带。

如果要使用其他LED,则必须确保30个LED/米的距离以适合矩阵图案。激光切割段具有较小的切割区域,以适合10厘米的LED宽度。该LED灯带的背面带有双面胶带,因此您可以在精确定位后直接将它们直接粘贴到MDF上。在使用胶带之前,请检查每条灯带的正确方向(DIN-DOUT方向)。


接线方式为锯齿形,因此在最后,矩阵屏只有一个输入引脚,电缆长度应尽可能短。为了正确分配电源并减少矩阵屏顶部的布线,每个LED灯条都连接到矩阵屏底部的5V和GND。您可以使用单线或原型PCB来分配5V和GND线。


步骤3:组装
用树莓派做一个木制LED游戏显示器图5

用树莓派做一个木制LED游戏显示器图6

用树莓派做一个木制LED游戏显示器图7

用树莓派做一个木制LED游戏显示器图8


用树莓派做一个木制LED游戏显示器图9

用树莓派做一个木制LED游戏显示器图10

用树莓派做一个木制LED游戏显示器图11

用树莓派做一个木制LED游戏显示器图12

用树莓派做一个木制LED游戏显示器图13


上述视图有助于识别装配的正确零件。只需按照分步安装图片进行操作即可。背板具有交叉结构,以固定长侧壁和一些短侧壁。如果您在安装部件时遇到问题,请使用砂纸进行处理。




步骤4:焊接
用树莓派做一个木制LED游戏显示器图14

用树莓派做一个木制LED游戏显示器图15


有多种方法可以将不同灯带的电源线焊接在一起。您可以使用单根电线或某种铜制共轨来焊接不同的电线。在这种情况下,使用原型PCB块将电源轨引导到灯带。WS2812B灯带已经有单独的电源电缆,您可以使用它们将电源轨连接到第一个灯带输入(图片的左侧)。



步骤5:安装SPI显示

用树莓派做一个木制LED游戏显示器图16



为了显示游戏成绩和文字,使用了基于LED驱动器MAX7219的LED矩阵屏显示器。它通过SPI(串行外围接口)连接到Raspberry Pi。四个8x8显示器组合成一个32x8像素点矩阵显示器。您可以在网上购买这种8x8像素显示器,也可以购买32x8像素组合显示器。

同样,您有不同的颜色选择;在这种情况下,使用红色显示。因为SPI就像移位寄存器一样工作,所以通过将第一个矩阵的数据连接到第二个矩阵的数据输入,依次将这些显示器串联在一起,依此类推,从显示器的右侧开始。


如果此显示直接放置在饰面板层的后面,则只能从外部读取。如果没有,则只有红色模糊可见。因此,您必须将其安装在背板切口段的顶部,背板表面与矩阵屏表面之间的距离为30mm。我使用了一些剩余的木制件和螺钉来适应底板和PCB之间缺少的19毫米,您也可以使用任何外部类型的垫片。

显示屏的接线在步骤7中显示。



步骤6:安装树莓派

用树莓派做一个木制LED游戏显示器图17

用树莓派做一个木制LED游戏显示器图18

用树莓派做一个木制LED游戏显示器图19



在此安装中,使用了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:接线和电源
用树莓派做一个木制LED游戏显示器图20

用树莓派做一个木制LED游戏显示器图21


用树莓派做一个木制LED游戏显示器图22

用树莓派做一个木制LED游戏显示器图23


用树莓派做一个木制LED游戏显示器图24




根据接线方案进行接线。电源为5V直流电源。

为了方便矩阵屏的开/关切换,在电源插头和矩阵屏电路之间增加了一个开关。但是,由于Raspberry Pi不喜欢硬关闭,因此软件中有一个关闭选项,可以在切换矩阵屏之前通过Gamepad安全关闭Pi。

LED灯条DIN引脚通过电阻连接到Pi,还添加了一个大电容(4700uF)来缓冲电源。有关更多详细信息,请查看AdafruitÜberguidefor Neopixels。

每个LED消耗的最大电流为60mA,因此最大电流为200x60mA = 12A是可以的!!!通过降低亮度并且不使用所有全白LED,这虽然是一个理论值,但取决于达到最大电流的代码。因此,选择足够大的电源非常重要。对于大多数应用,具有5V / 5A(25W)的电源就足够了。

要将背板与PI和矩阵显示器固定在一起,可以使用一些小木块将它们的边缘固定,也可以使用螺钉将背板固定到位。


步骤8:设定树莓派


用树莓派做一个木制LED游戏显示器图25



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代码,测试和模拟器
用树莓派做一个木制LED游戏显示器图26

用树莓派做一个木制LED游戏显示器图27


可以在Github上找到代码。games_pi_only.py和所有bmp文件都是必需的。

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游戏显示器图28



在胶合板粘贴在正面顶部之前,应先测试矩阵屏以确保所有LED都在工作。在胶合单板之前,修复某些东西要容易得多。


用过的木质贴面是一种特殊的枫木贴面纸,称为Microwood,单面覆盖有纸,厚度为0.1毫米。可以使用标准的无水纸胶将纸面直接粘合在mdf上。




步骤11:完工!!!





▲ 完整视频演示

用树莓派做一个木制LED游戏显示器图29

玩得开心,享受游戏!

项目来源:https://www.instructables.com/id/Wooden-LED-Gaming-Display-Powered-by-Raspberry-Pi-/





激光切割.zip

82.51 KB, 下载次数: 11404

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(15)
小慈
小慈
666
代码应该敲的东
代码应该敲的东
哇,这个酷炫
rzegkly
rzegkly
666
DFHk-0ykaN8
DFHk-0ykaN8
已经学习了楼主,感谢发帖。
TuTu
TuTu
哇这个也太酷了
RRoy
RRoy
作者
视频补上了,大家可以看下效果!
想成为蟑螂恶霸
想成为蟑螂恶霸
好厉害啊 感觉人与人的差距真的是.....
DFr18f9QI4U
DFr18f9QI4U
评论内容
shangwe4416
shangwe4416
大神门都有3D打印机、雕刻机、激光雕刻机,购置这个那个的模块勉强跟得上,这让我感到坑又大了些
DI玩
DI玩
亮骚到飞起
gray6666
gray6666
酷。。。。。。。。。。。。。。。。。。。。。
春秋大仙
春秋大仙
酷炫酷炫!!
红通通
红通通
这种大型的LED简直太酷了!
rzyzzxw
rzyzzxw
特别棒的。
laai
laai
非常棒。如果能用ESP32或UNO实现,成本可以降不少
- 没有更多了 -