本期的 LED 项目是由 Arduino 主控,3D 打印外壳组装的交互式 LED 显示墙。
整体项目花费不大,人机交互性强,希望可以给你带来灵感。
材料清单
Arduino Mega×1
WS2812b 可寻址 LED 灯带×若干
轻触开关×64
5V 10A 电源×若干
18 号电线×若干
白色 PLA 灯丝×若干
4’x 4’x 1/4” 中密度纤维板×若干
焊料×若干
热熔胶×若干
3D 打印墙体
在这个部分需要 3D 打印 64 块的 8×8 的网格。每个墙体方块为 3.6 英寸的正方形,厚度为 1 英寸。墙体的边缘会有一些凹口,以方便 LED 灯条和按钮布线。每次打印三块,大约需要 5.5 小时。全部完成大概需要约为 120 小时。
所以你在打印的同时,可以同步进行其他部分。
所有 3D 打印的 STL 文件:
https://www.thingiverse.com/thing:4080834
或者在文末打包下载。
LED 灯带布线
采用 WS2812b LED 灯条是因为它们可单独寻址,灯带上的每个 LED 灯可以编程不同的颜色和亮度。它们还可以将数据从一个像素传递到下一个像素。这些功能只需要通过 Arduino 的一个数据引脚就可以实现。灯条的像素密度为每米三十个 LED 灯。
每块墙体方块安装六个 LED 灯,三个一排,共两排。因此我们将这些条切成十六段,每段二十四个 LED 灯。然后将这些灯带粘在木板上。注意固定灯带前,请将木板擦拭干净。
另外注意灯条安装的方向。如上图所示,从板子的左下角开始,完成一边的布线后改变方向。将每条灯带的输出端焊接到下一条灯带的输入端。
调整电路板的尺寸(可选)
由于我们买的木板大小是四英寸,但最后发现只需要三英寸,所以要将多余的板材锯掉。但是如果你想制作更大的显示器墙体,你只需添加更多的 3.6 英寸的墙块就够了。
制作按钮矩阵
这个部分不仅费时更需要耐心。在这个部分将利用 Arduino IDE 中包含的键盘库,把 64 个按钮按行和列进行连接。图中所示的是 4×4 的例子,按照这种结构增加至 8×8 的网格,你也可以自选矩阵的大小。
1、准备十六根电线,每根 3.6 英寸长并剥好线头,以便按钮安装到每个墙体方块的中间。
2、将每个轻触开关的一根脚焊接到行(横着)导线上。列(竖着)导线焊接到行导线的对角线。按下轻触开关时,它将使横竖电线合在一起。
3、每一行和每一列都需要一根电线将其连接到 Arduino 的数字引脚上。对每一根电线进行颜色编码,这样也更易于排除故障,在检查过程中,我还更换几次引脚。
4、将所有按钮粘到木板上。请确保每个按钮固定到位。
测试电路
所有的 LED 灯带和按钮都安装好后,就可以开始测试。
在代码中,有一些测试 LED 灯带和按钮的功能。如果有任何问题,你可以及时发现并解决。
注意在添加墙体方块前,尽量排除所有故障。
安装 3D 墙体
1、为了将方块连接到木板上,需要设计了一个 3D 打印的支架,它使方块的每个角上相邻的四个方块固定在一起。每次粘贴一块方块,然后慢慢的连起来,使每个方块之间紧凑的挨在一起,不留多余的空间。
2、另外再打印 64 个垫片,粘在每个方块的柱塞上。这些垫片可以弥补因为支架而增加的高度,也可以为点击柱塞增加空间,弥补了按钮间距中的微小误差。
支架和垫片的 STL 文件,在文末下载。
编程
到目前为止硬件部分就已经完成,开始编程!目前编程了彩虹图案模式和单击绘画模式。
在视频中可以看见其具体效果。
在项目文件库中下载代码:
https://github.com/TechRandom/Interactive-LED-Wall/blob/master/LED_Wall_main.ino
同时你也可以通过修改的代码,动态展示自定义的视觉效果。
未来可实现的功能
1、使用麦克风和 FFT Arduino 库的音频可视化器。
2、可设计的游戏(跳棋、井字游戏、战舰、黑白棋)。
3、记忆功能。
4、更多网格上可玩耍的游戏。
审核编辑 :李倩
-
led
+关注
关注
242文章
23437浏览量
664730 -
可视化
+关注
关注
1文章
1208浏览量
21133 -
Arduino
+关注
关注
188文章
6478浏览量
188357
原文标题:用Arduino做一面LED墙,是一种什么体验?
文章出处:【微信号:All_best_xiaolong,微信公众号:大鱼机器人】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
纳祥科技NX1722,一种带键盘扫描的8段4位 LED 驱动控制方案

HAL库在Arduino平台上的使用
一种使用LED组成一个丘比特之箭图案的设计
低压线性恒流LED恒流驱动芯片:用于洗墙灯和线条灯
用Arduino放回了一个空的schetch,重新打开了程序不断重启的原因?
rup是一种什么模型
一面低压柜最多能放多少台电容器

用Arduino编写ESP8266程序,定义某个IO为输入,另一个为输出为什么没效果?
plc是一种什么的电子装置
如何用Arduino制作一个简易自动喂鱼器
低压线性恒流LED恒流驱动芯片SM15633EH:用于洗墙灯和线条灯

评论