0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用Arduino做一面LED墙,是一种什么体验?

大鱼机器人 来源:趣无尽公众号 作者:趣无尽公众号 2022-11-10 16:26 次阅读

本期的 LED 项目是由 Arduino 主控,3D 打印外壳组装的交互式 LED 显示墙。

整体项目花费不大,人机交互性强,希望可以给你带来灵感。

材料清单

Arduino Mega×1

WS2812b 可寻址 LED 灯带×若干

轻触开关×64

5V 10A 电源×若干

18 号电线×若干

白色 PLA 灯丝×若干

4’x 4’x 1/4” 中密度纤维板×若干

焊料×若干

热熔胶×若干

3D 打印墙体

1a4b7068-60d1-11ed-8abf-dac502259ad0.png

在这个部分需要 3D 打印 64 块的 8×8 的网格。每个墙体方块为 3.6 英寸的正方形,厚度为 1 英寸。墙体的边缘会有一些凹口,以方便 LED 灯条和按钮布线。每次打印三块,大约需要 5.5 小时。全部完成大概需要约为 120 小时。

所以你在打印的同时,可以同步进行其他部分。

所有 3D 打印的 STL 文件:

https://www.thingiverse.com/thing:4080834

或者在文末打包下载

LED 灯带布线

1a78c45a-60d1-11ed-8abf-dac502259ad0.png

采用 WS2812b LED 灯条是因为它们可单独寻址,灯带上的每个 LED 灯可以编程不同的颜色和亮度。它们还可以将数据从一个像素传递到下一个像素。这些功能只需要通过 Arduino 的一个数据引脚就可以实现。灯条的像素密度为每米三十个 LED 灯。

1c59097e-60d1-11ed-8abf-dac502259ad0.png

每块墙体方块安装六个 LED 灯,三个一排,共两排。因此我们将这些条切成十六段,每段二十四个 LED 灯。然后将这些灯带粘在木板上。注意固定灯带前,请将木板擦拭干净。

另外注意灯条安装的方向。如上图所示,从板子的左下角开始,完成一边的布线后改变方向。将每条灯带的输出端焊接到下一条灯带的输入端。

调整电路板的尺寸(可选)

1c7e063e-60d1-11ed-8abf-dac502259ad0.png

由于我们买的木板大小是四英寸,但最后发现只需要三英寸,所以要将多余的板材锯掉。但是如果你想制作更大的显示器墙体,你只需添加更多的 3.6 英寸的墙块就够了。

制作按钮矩阵

这个部分不仅费时更需要耐心。在这个部分将利用 Arduino IDE 中包含的键盘库,把 64 个按钮按行和列进行连接。图中所示的是 4×4 的例子,按照这种结构增加至 8×8 的网格,你也可以自选矩阵的大小。

1ca0877c-60d1-11ed-8abf-dac502259ad0.png

1、准备十六根电线,每根 3.6 英寸长并剥好线头,以便按钮安装到每个墙体方块的中间。

1cb6c65e-60d1-11ed-8abf-dac502259ad0.png

2、将每个轻触开关的一根脚焊接到行(横着)导线上。列(竖着)导线焊接到行导线的对角线。按下轻触开关时,它将使横竖电线合在一起。

1cefc44a-60d1-11ed-8abf-dac502259ad0.png

3、每一行和每一列都需要一根电线将其连接到 Arduino 的数字引脚上。对每一根电线进行颜色编码,这样也更易于排除故障,在检查过程中,我还更换几次引脚。

1d066f24-60d1-11ed-8abf-dac502259ad0.png

4、将所有按钮粘到木板上。请确保每个按钮固定到位。

测试电路

1d627aa8-60d1-11ed-8abf-dac502259ad0.png

所有的 LED 灯带和按钮都安装好后,就可以开始测试。

在代码中,有一些测试 LED 灯带和按钮的功能。如果有任何问题,你可以及时发现并解决。
注意在添加墙体方块前,尽量排除所有故障。

安装 3D 墙体

1d93228e-60d1-11ed-8abf-dac502259ad0.png

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
    led
    +关注

    关注

    242

    文章

    23437

    浏览量

    664730
  • 可视化
    +关注

    关注

    1

    文章

    1208

    浏览量

    21133
  • Arduino
    +关注

    关注

    188

    文章

    6478

    浏览量

    188357

原文标题:用Arduino做一面LED墙,是一种什么体验?

文章出处:【微信号:All_best_xiaolong,微信公众号:大鱼机器人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    纳祥科技NX1722,一种带键盘扫描的8段4位 LED 驱动控制方案

    NX1722是一种带键盘扫描电路接口的 LED 驱动控制专用电路,内部集成有 MCU 输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。 NX1722性能稳定、质量可靠、抗干扰能力强,可适应于 24 小
    的头像 发表于 02-05 17:27 90次阅读
    纳祥科技NX1722,<b class='flag-5'>一种</b>带键盘扫描的8段4位 <b class='flag-5'>LED</b> 驱动控制方案

    HAL库在Arduino平台上的使用

    ,适合于快速原型开发和教育。HAL(硬件抽象层)库是一种Arduino平台上使用的软件库,它提供了一种标准化的方式来访问硬件功能,使得开发者可以编写更通用、更可移植的代码。 1. 什么是HAL库 HAL库是硬件抽象层库的简称,
    的头像 发表于 12-02 14:04 606次阅读

    一种使用LED组成个丘比特之箭图案的设计

    丘比特之箭 如果使用LED组成个丘比特之箭图案,而且有不同的点阵变化似乎是个不错的想法。电子工程师的浪漫不在乎制作出来成品它有多么的完美,而是在于实现过程的困难。
    发表于 10-24 17:22 2291次阅读

    一种分立电荷泵的设计

    电子发烧友网站提供《一种分立电荷泵的设计.pdf》资料免费下载
    发表于 10-11 10:53 0次下载
    <b class='flag-5'>一种</b>分立电荷泵的设计

    双色led灯突然一种颜色不亮的原因及解决办法

    当双色LED灯突然一种颜色不亮时,可能的原因有多种,以下是些可能的原因及相应的解决方法:
    的头像 发表于 10-01 17:15 3894次阅读

    低压差分信号(LVDS)在LED中的应用

    电子发烧友网站提供《低压差分信号(LVDS)在LED中的应用.pdf》资料免费下载
    发表于 08-30 09:23 0次下载
    低压差分信号(LVDS)在<b class='flag-5'>LED</b>灯<b class='flag-5'>墙</b>中的应用

    低压线性恒流LED恒流驱动芯片:用于洗灯和线条灯

    的区域,因此需要使用较大功率的LED芯片,并配备能够提供足够电流的恒流驱动芯片。同时,为了实现更好的照明效果,洗灯通常采用多芯片组合的方式,这也需要恒流驱动芯片能够同时驱动多个芯片。   线条灯样式 而线条灯则是一种常见的装饰
    的头像 发表于 08-16 10:04 1203次阅读

    Arduino放回了个空的schetch,重新打开了程序不断重启的原因?

    . 我arduino重新加载,就像照片2样,但它总是以相同的方式重新启动。 我将代码切成两半,重新加载,它有效。 我恢复原始代码,加载它,它有效。 我将相同的程序与加载器放回原处,它会不断重新启动
    发表于 07-10 07:22

    rup是一种什么模型

    RUP(Rational Unified Process,统建模语言)是一种软件开发过程模型,它是一种迭代和增量的软件开发方法。RUP是由Rational Software公司(现为IBM的
    的头像 发表于 07-09 10:13 1473次阅读

    一面低压柜最多能放多少台电容器

    在电力系统中,低压柜是个至关重要的设备,用于保护、控制和分配电力。而电容器则作为一种具有储能功能的电气元件,常用于提高系统的功率因数、稳定电压等方面。那么,一面低压柜最多能放多少台电容器呢?
    的头像 发表于 07-04 14:26 759次阅读
    <b class='flag-5'>一面</b>低压柜最多能放多少台电容器

    Arduino编写ESP8266程序,定义某个IO为输入,另个为输出为什么没效果?

    Arduino编写ESP8266程序,定义某个IO为输入,另个为输出,为何没效果 以下是代码: #define PIN_LED16 #define PIN_IN 5 void s
    发表于 06-21 12:02

    plc是一种什么的电子装置

    PLC(Programmable Logic Controller,可编程逻辑控制器)是一种广泛应用于工业自动化领域的电子装置。它具有高度的灵活性和可靠性,能够实现各种复杂的控制任务。本文将详细介绍
    的头像 发表于 06-13 09:29 1211次阅读

    文get阵工业相机

    文快速了解阵工业相机
    的头像 发表于 04-17 16:09 783次阅读
    <b class='flag-5'>一</b>文get<b class='flag-5'>面</b>阵工业相机

    如何用Arduino制作个简易自动喂鱼器

    如果你家里养有鱼,并想找到一种自动化喂食的方法,这个项目可能会对你有所启发。 在这个教程中,作者将展示如何制作自己的基于Arduino的自动喂鱼器,让小鱼不在饿肚子。 自动喂鱼器的工作原理非常
    发表于 03-28 11:25

    低压线性恒流LED恒流驱动芯片SM15633EH:用于洗灯和线条灯

    灯和线条灯是两常见的LED照明产品,它们都需要使用LED恒流驱动芯片来确保稳定、可靠的电流供应,从而保证LED的使用寿命和亮度。
    的头像 发表于 03-12 16:36 1111次阅读
    低压线性恒流<b class='flag-5'>LED</b>恒流驱动芯片SM15633EH:用于洗<b class='flag-5'>墙</b>灯和线条灯