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

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

3天内不再提示

8x8x8LED立方体制作图解

454398 来源:wv 2019-09-05 08:35 次阅读

步骤1:零件清单

单色DIFFUSED LED x512,带有~30个备件(您可能会注意到我自己使用了三种颜色。这最初是为了帮助反射波形振幅(例如红色意味着更高的振幅),但我没有正确地焊接切片,所以最后我只是将它们视为相同。如果你仍然有兴趣在垂直方向上产生颜色变化,请阅读有关垂直切片步骤:))

PC板,中型x7和小型x2(这些是我实验室中可用的,但请随意调整大小,具体取决于您可以使用的内容!请阅读电路部分供您参考。我发现,对于初学者来说,没有任何连接条的PCB更容易适应,主要是因为您可以随意添加和切断连接。去焊可能很棘手!)

NPN 2N3904晶体管x72

1k电阻x 150

100欧姆电阻x 72

P - 通道MOSFET IRF9Z34 x8加上8个夹式散热器

100微法拉电容x8

74HC595移位寄存器x9

Arduino Uno +螺丝屏蔽(我使用过)原型螺旋式防护罩R3套件)

8种颜色的绝缘电线(我强烈推荐使用不同的颜色!你会有很多电线紧挨着,当我们检查颜色时颜色确实有用电路。)

5V 2.8A电源(只要您的电源电流限制高于64 *(通过1个LED的电流),它应该可以正常工作:))

电线端子

带8个引脚和6个引脚的Molex接头。

具有8引脚和6引脚的Molex线外壳(根据您的PCB尺寸,这些数量会有所不同)您的电路设计,请在决定您需要的数字之前阅读整个Instructable(特别是电路部分):))

S

裸铜线(为安全起见,准备50米)

大木板(每边大约9英寸)

12英寸木制串(可选;如果你找到一种制作直线的方法,你就不需要了。)

透明胶带

长指甲x16

工具

烙铁

剪线钳

钳子

胶枪(可选;如果你找到一种做直线的方法,你不要需要这个)

压接机

散热片夹x2(鳄鱼夹也能正常工作)

剥线器

第2步:制作LED行

8x8x8LED立方体制作图解

首先,测试所有LED !我用LED和100欧姆电阻器组装了一个电路板。然后,我一次测试一个LED,并将其与另一个LED并联。我们想要丢弃1)损坏的LED,2)阳极和阴极向后的LED(你不想只记得“哪一个让它翻转!)3)调光LED。

接下来,我们制作了木制夹具,这也是我对立方体的最终安装。在孔的中心之间钻一个8x8网格,1英寸。选择直径刚好高于LED直径的钻头,这样它们就可以装入孔中并保持笔直。我们在周边钉上额外的木条,这使得板面保持平整(我们使用胶合板作为板,所以它有一点弯曲)。此外,这增加了具有孔的区域,使得LED可以穿过孔。选择一侧并将两个长钉放在与孔中心相同的线上。我们将把电线绑在这些钉子上。

我们现在可以开始制作LED排了!我没有找到制作直线的有效方法,所以我只使用木块解开电线。将电线穿过块的边缘;用拇指将电线固定在电池组的一侧,然后将电线拉过;块的边缘将解开电线。我建议戴上手套来保护你的拇指:(

将8个LED放入这一行,长的“腿”,阳极,朝向一个方向。我们要将它们焊接到电线上。由阳极腿和阴极腿形成的平面应垂直于导线,阴极腿应远离导线。将导线绑在钉子上并拉动它穿过LED直到它是直的把它绑在另一个钉子上。调整电线高度(我注意到LED腿上有一个小的平面区域,我调整了电线使得它接触所有LED的这个区域)。这个高度是任意的,但请记住:1)立方体中的水平高度差大约为1英寸(因此导线不能太高); 2)LED可能会在烙铁的热量下断裂(因此导线不能太低)(尽管我个人没有遇到任何问题)。现在你的电线应该接触所有LED的长腿,形成一个十字架。焊接导线和阳极引线并随后修整引线。

在这个项目中,我尝试了两种不同的焊点接触配置。一个是上述的交叉接触,另一个是弯曲LED腿使得接触线是平行的。从理论上讲,平行接触接头的抗应力更强,但考虑到LED的亮度,交叉接头可能并不那么有害。您将获得大量焊接线和LED腿的练习,因此您可以尝试不同的技术!我使用的是平头烙铁,我个人认为它可以更好地控制焊料斑点和更大的热接触表面积。

进行焊接后,使用面包板进行LED检查以检查连接(重要)。将正极引线夹在导线上,并将负极导线扫过短的LED支脚。它们都应该亮起来!在我们检查它们都很好之后,轻轻地从板下面推动LED以使它们脱臼并将电线向上滑动到指甲上。你可以修剪掉环状的末端,但绝对可以节省一些长度!

如果我的LED没有亮起怎么办?

你可以检查的第一件事是你是否有阴极和阳极翻转。然后尝试将正极引线夹在LED支脚而不是整条线上。如果您的LED指示灯亮起,则可以重新焊接LED。如果您的LED仍然没有亮起,请将其更换为另一个。

我们需要制作64个这样的LED行:)

步骤3:焊接垂直切片

作为预览,每层中的所有阳极都是连接的,每个垂直列中的所有阴极都是连接的。现在我们需要制作垂直切片。还记得我们放入电路板上的两根钉子用来绑线吗?现在以类似的方式再添加14个:)(小心:提示指甲很好!你会用手指按压这些小贴士。)

现在将8个LED排放在电路板上,确保它们的腿朝向相同的方向。请注意,电线应与指甲行平行!按下LED使它们都处于相同的高度。如果某些LED不断弹出(可能是由于电线弯曲),请将两端的透明胶带向电路板下方。现在,像以前一样在指甲上穿线。我只能看到电线大约在同一高度,但这没关系,因为你真正关心的是LED处于同一高度。

将阴极引线焊接到电线上。你会注意到我在这里使用了平行接触式焊接配置,我确实发现它比十字接头更坚固,更美观,但它更耗时,因为你需要1)用钳子弯曲电线; 2)确保弯曲部分接触主线; 3)将该部分弯曲到合适的高度,因为您的烙铁将以一定角度进入,您需要熨斗同时接触两根电线。

如果您想在不同的图层使用不同的颜色。..。

确保每个切片都反映了颜色方案。例如,如果我希望前三个层是黄色LED,中间两个是橙色LED,而后三个是红色LED,我将按顺序放置三个黄色LED列,两个橙色LED和三个红色LED 。确保所有八个切片的颜色顺序和LED方向一致!

使用面包板设置测试每个切片中的所有LED。当LED固定而不是在空气中间时,重新焊接肯定更容易。

如果您的电线不直,请不要将指甲从指甲中拉出来!阅读下一步。

如果您已经有直线,请从下方轻轻推动LED,然后从指甲上滑下切片。不要修剪末端:)

步骤4:支持垂直切片

如果你的电线有一些曲率,就像我的那样,我们可以通过在周边添加刚性支撑将它们固定在平面上。我选择了12英寸木制烤串,因为它们在亚马逊上很容易买到。我在周边粘上了串子,并在角落里加了小块来加强框架。查看照片了解详情。请注意,只有两根扦子完全连接到电线上,另外两根扦子在整个网格上方。我建议首先测试不带角落的框架。我发现,当我将切片堆叠起来时,额外的短棒会妨碍LED,并且胶接点可能足以保持LED网格。如果网格仍然略微凸起,请按下两个未粘合的侧面,并在几个点将电线粘到串口上。暂时不要修剪松散的末端!特别是,在将要位于立方体底部的一侧保留相当长的扦子长度,以便我们可以将LED保持在地板上。

第5步:组装多维数据集

现在我们有了切片,我们可以制作立方体!我发现将它们堆叠起来更容易,而不是将垂直切片粘在一起,但如果你有一个合作者,请随意即兴!为避免错误,首先将切片粘贴到另一组烤串,然后再添加连接线。正如你在照片中看到的那样,我在角落处粘上了四根串,以帮助对齐和支撑各层。请记住,理想情况下,这些层相距1英寸。我发现我的LED安装在前一层的木制框架上,所以我不需要在粘贴时将它们固定住,但如果你的切片放在较低的高度,那么合作者或一些木条(见图)就会救命。 在粘贴切片之前,请确保它们的方向正确!您希望阴极和阳极端指向一致的方向。还要检查LED的方向。

确保堆叠每一层时LED亮起非常重要! 一旦完成所有组装,几乎不可能到达立方体的中心。

您可能会注意到我的木框架不一定彼此对齐,但如果您看一下LED,它们会更好地对齐!由于我们将在黑暗的环境中看到这个立方体,因此可以接受框架的错位。

接下来,使用额外的电线将阳极引线焊接在同一水平面上。如果您发现难以将导线保持在那里,请尝试通过导线“编织”导线(交替导线穿过导线的方式,从上到下)。如果这些导线不是完全笔直的,这是可以的,因为主LED结构已经设置好,一旦我们打开LED,侧面导线就不会很明显了。

为了安全起见(我们宁愿在谨慎方面犯错,是吗?),再次测试所有LED。此时,如果立方体中心的其中一个指示灯没有点亮,我不确定是否有一种简单的方法可以解决这个问题:(但是,如果您在堆叠时仔细检查LED是否一丝不苟层,LED应该仍然很好。

现在我们可以修剪除了底部以外的所有线材。现在我们可以暂时把立方体拿走!恭喜!现在我们已经超过了一半有:)

第6步:电路连接

请阅读在PC板上安排电路元件之前的pdf原理图。这个原理图是由Kevin Darrah设计的RGB立方体,由于我们的立方体有单色LED,我们的工作量实际上只有三分之一(具体来说,我们有三分之一的阴极控制)。我强烈建议首先将所有电路元件放在PCB上以测试间距。给自己更多的工作空间,特别是移位寄存器板和阳极控制板。然后将电路元件倾倒出来,一次只焊接几个,因为没有那么多的电路元件支路妨碍焊接就不那么困难了。

阳极和阴极电路

我们的电路设计是这样的,当阳极电路和阴极电路的输入是无论是5V(或高),LED都会打开。我们先来看看阳极电路。当输入为高电平时,晶体管迅速饱和,集电极电压降至接近0,这意味着MOSFET的栅极被拉至低电平。由于MOSFET源极连接到5V,因此栅极中的低电平意味着漏极电压设置为高电平。源上的电容有助于保持系统稳定。

当阴极控制输入为高电平时,晶体管再次饱和,集电极电压变为0V。集电极端子通过限流电阻连接到LED。您可以根据LED属性选择限流电阻。由于我使用红色,橙色和黄色LED,我使用了100欧姆。我们看到,现在LED的正极被抬高,负极拉高,LED亮起。

由于我们有64个阴极引线(每列)和8个阳极引线(每层),我们需要64组阴极控制和8组阳极控制。我建议在同一块电路板上安装完整的8个控制器,因为每个移位寄存器连接到8个控制器,如果8个连接线连接到同一个位置,它看起来更有条理。小心不要过度拥挤板!我们要开很多电线,所以一定要给自己足够的空间!将所有组件焊接到电路板上。增加工作表面稳定性的一个技巧是焊接具有相同高度的元件(例如,在焊接所有电阻器之后焊接晶体管以避免电阻器掉出)。对于每组8个阴极控制电路,确保焊接一个8引脚接头,将数据输出到LED立方体。

从原理图中看不出来,但无论哪里有晶体管,我们都需要将它连接到GND和5V。

移位寄存器电路

移位寄存器通过6线相互连接。它们并联连接,用于5V,GND,CLOCK,LATCH和BLANK,以及串联用于DATA。连接导线时,请确保阴极移位寄存器位于序列的末尾,因为DATA始终位于串行线的最后端。基本上,Arduino发出一串二进制代码,沿着DATA线连接向下流动。然后二进制代码被分成每个移位寄存器8位。然后将8个移位寄存器端子连接到一组8个阴极/阳极控制器。 5V为整个立方体供电,由于我们最多同时点亮了64个LED,请确保总电流不超过电源限制。其他引脚基本上控制数据何时进入移位寄存器以及何时将数据从移位寄存器释放到电路控制器。确保每个移位寄存器都有自己的8引脚接头,每个移位寄存器板(最后一个除外)都有一个6引脚接头,5V,GND,CLOCK,LATCH,BLANK和DATA线可通过该接头连接到下一个移位寄存器板。

Arduino电路

Arduino的电路非常简单。基本上,我们有6条线从Arduino(5V,GND,CLOCK,LATCH,BLANK和DATA)出来。确保你的GND引线连接到Arduino的GND(实际上,这个项目中的所有GND都应该连接),但你的5V引线不是!请注意,Darrah的原理图中的Arduino实际上显示了ATMEGA芯片的端子。请参阅芯片和Arduino之间相应端子附带的图像之一。

我们使用了一个螺旋式防护罩,以避免直接将电线插入Arduino。焊接到螺旋焊接机上所需的部件是数字端口的堆叠插头引脚,1个6针插头和1个2端口接线端子。您可以在另一侧添加另一排堆叠头针以实现平衡。 (请注意,图片中显示的蓝色端子块实际上没有做任何事情)。根据原理图焊接。重要提示:为了安全起见,将6针接头上的5V端子连接到电源的5V(绿色接线端子),而不是Arduino的5V。这样,您的Arduino由您的计算机供电,电路中的所有5V电源都由电源供电。但是,请将所有GND连接在一起。您可以从图中看出,我将6引脚接头的GND引脚和接线端子的GND引脚焊接到螺丝挡板上的GND条上。

虽然我不知道检查移位寄存器电路的方法,但我们可以而且应该使用面包板检查阳极和阴极控制电路。有关详细信息,请参阅照片。基本上,我们将电路板输入连接到5V。然后我们可以用万用表检查输出电压。我们发现阳极控制的输出电压仅为4V左右,但这是MOSFET的预期结果。

接线提示:

不要吝啬电路板之间连接线的长度!您将拥有许多电路板和许多电线,如果电路板分离良好,则可以更清晰,更容易地进行故障排除。

使用不同的颜色来区分哪条线是哪条。这非常重要,特别是考虑到您需要多少线。然后我们将这些电线按固定顺序放入电线外壳中。使用良好的压接器制作安全的电线端子。

与标题和电线外壳的使用保持一致!在我的项目中,对于某个电路板,所有输入都来自电线外壳,输出通过接头传出。

因为插头端子非常靠近,所以要小心不要将导线焊接在一起,特别是如果你像我一样缺乏焊接经验!我发现一个有用的技巧是用烙铁向下推导线以熔化焊料,然后用钳子将导线中的绞线夹在一起,并将导线推到接头端子附近。移开烙铁,焊接接头应冷却并尽快保持其形状。

第7步:挂载多维数据集

而不是线程化刚性阴极穿过64个孔,这在实践中非常困难,我们可以先将导线焊接到导线上,然后将导线拉过孔。为了使电线从安装平台下方伸出,在安装座侧面钻9个孔(8个用于阴极,1个用于阳极)。

首先,将烤串修剪成大致相同的长度。切断阴极引线,使它们几乎与扦子处于同一高度。现在弯曲导线,用钳子形成一个小钩子。剥去大约半英寸的电线并弯曲电线。将导线和导线钩在一起,用钳子将钩子闭合。这样可以在导线和导线之间提供良好的接触,并且可以释放双手进行焊接。确保在最近的LED焊点之前放置一个散热片夹,使得焊点不会从新的热量中脱落。如果您没有散热片夹,鳄鱼夹也可以。

在完成每层焊接后检查连接(我测量焊点的电阻)是一个好习惯,尽管我发现“钩”方法提供了非常强的焊点。

现在将电线穿过孔。轻轻拉动电线并推动安装平台与烤串接触。将每组8根电线穿过安装平台侧面的一个孔,并用一条电工胶带固定电缆束。由于立方体的四个边是相同的,所以你的组的哪一边无关紧要。 我建议在这些上预先制作导线端子,这样就可以快速组装导线外壳。

对于阳极连接,将一根导线焊接到每个水平面上,然后将导线从其中一个孔中穿出。您将需要两个散热片夹,以防止相邻的焊点熔化。

安装立方体后,再次测试每个LED以确保它们正常。

提示:

不要吝啬电线长度!我认为我的电线很容易长12英寸,但它们仍然有点短。

现在您已准备好连接所有内容并运行多维数据集了!

步骤8:代码和多路复用

由于项目时间短,我借用了Darrah的代码,只对其进行了微小的修改。我附上了我用过的版本。他对他的代码做了很好的评论,我建议通过阅读它们来更好地理解它的实际工作原理。在这里,我将描述他的代码的两个关键特性,多路复用和位角调制。

的复用

我读到的所有LED立方体项目都使用多路复用,这是一种允许我们控制单个光源的技术。通过多路复用,一次只能点亮一层LED。然而,由于这些层以非常高的频率循环,图像在我们的视觉中“停留”了一段时间,我们认为光线仍然在那里。在软件中,我们一次将一层拉到HIGH,而将所有其他层拉到LOW,因此只有这层中的LED可以亮起。为了确定哪些灯点亮,我们使用移位寄存器来控制64个阴极中的哪一个被拉高。在点亮下一层之前,我们将该层的阳极设置为LOW,以使该层中的灯不亮。然后我们将下一层的阳极拉到HIGH。

位角调制

BAM技术允许我们在0到15之间的刻度上控制每个LED的亮度如果您不需要更改亮度,则无需执行此操作。基本上,我们有一个四位控制,这个控制对应于从底层到顶层的15个循环(请记住,对于多路复用,我们一次点亮每一层?)。如果我们向第一位写入1,那么当我们第一次循环通过这些层时,这个LED会亮起。如果我们将1写入第二位,则这一个LED将在接下来的两个周期内亮起。第3位对应于接下来的4个周期,第4位对应于接下来的8个周期(因此我们在一个完整的集合中有15个周期)。比如说,我们想将LED设置为其全亮度的1/3,即5/15。为了实现这一点,我们将1写入第一个和第三个位,将0写入另外两个,以便LED在第一个周期打开,在接下来的两个打开,在接下来的四个打开,在接下来的8个打开。我们如此快速地骑行,我们的视觉“平均”亮度,我们获得全亮度的1/3。

LED立方体作为波函数的显示器?

我们在该项目开始时考虑的一种可能性是使用此显示来显示方形盒中的粒子波函数。我确实在Arduino代码中编写了一个绘制基态和第一个激发态的方法,但事实证明分辨率不够。基态似乎很好,但第一个兴奋状态需要一些解释。但是,如果你眯着眼睛,你可以看出当你从一个方向看它时,这个函数看起来像一个凹凸,如果从另一个方向看,它看起来像一个完整的正弦波周期。这是波函数幅度应该是什么样子!因为即使是第一个兴奋状态也需要一些事后的解释,我没有编写其他更复杂的代码。

步骤9:测试运行!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22462

    浏览量

    645953
收藏 人收藏

    评论

    相关推荐

    STM8S引脚描述中大写“X”的含义是什么?

    各位大侠,我遇到一个问题,我使用的片子是STM8S003F3,在看数据手册时,发现如下问题:蓝色框中是一个黑体+下划线X,而红色框中都为X,在规格书中找到描述前者的文字,,现在请问红色框中不加下划线的
    发表于 04-30 06:05

    使用Arduino Nano制作一个4×4×4 LED立方体

    在这个项目中,我们将使用 Arduino Nano 制作一个很酷的 4×4×4 LED立方体LED 立方体,也称为
    的头像 发表于 02-11 12:07 1390次阅读
    使用Arduino Nano<b class='flag-5'>制作</b>一个4×4×4 <b class='flag-5'>LED</b><b class='flag-5'>立方体</b>

    怎么用单片机控制8*8*8立方

    怎么用单片机控制8*8*8立方
    发表于 11-10 06:29

    8x8点阵用什么芯片驱动?

    有一个74ls245N能不能这一个芯片驱动8x8的点阵 或者我还有两个595可不可以做点阵的驱动
    发表于 10-28 06:37

    使用Ansys Zemax实现立方体卫星的光机械设计

    在航空航天行业中,立方体卫星是一种适用于太空光学系统的低成本、易于制造的解决方案。本博客系列阐述了如何使用Ansys Zemax软件将立方体卫星从最初的光学设计转变为光机械封装,以便进行光机热耦合系统性能(STOP)分析。
    的头像 发表于 10-27 14:44 326次阅读
    使用Ansys Zemax实现<b class='flag-5'>立方体</b>卫星的光机械设计

    8x8点阵怎样实现纵向滚动上下滚动?

    [i][i][i][i] 8x8点阵怎样实现纵向滚动,上下滚动?
    发表于 10-17 07:32

    写字机的制作过程

    写字机的制作过程,图解,利用了core——XY的结构,详细制作图解,需要有一定制作基础的DIY同学。
    发表于 09-27 07:41

    CW32F030x6/x8数据手册

    CW32F030x6/x8 是基于 eFlash 的单芯片微控制器,集成了主频高达 64MHz 的 ARM® Cortex®-M0+ 内核、高速嵌入式存储器(多至 64K 字节 FLASH 和多至
    发表于 09-14 07:19

    CW32F030x6/x8产品介绍

    CW32F030x6/x8是一款基于eFlash的单芯片微控制器,集成了ARM®Cortex®-M0+内核 主频率高达64MHz,高速嵌入式存储器(高达64K字节的FLASH和高达 8K字节
    发表于 09-14 07:03

    如何在8x8 LED点矩阵屏幕上滚动文本

    。 在这种情况下, LED 屏幕需要能够滚动到文本中 。 此样本代码主要用于演示如何在 8x8 LED 点矩阵屏幕上滚动文本。 我们希望在 LED 点矩阵屏幕上显示文本, 通常通过
    发表于 09-01 06:15

    Unity中的局部立方体图渲染技术解读

    本指南介绍了用于在Unity版本5及更高版本中实现反射的本地立方体贴图渲染技术。反射在游戏中很重要,因为它们使对象看起来很逼真。与旧的渲染技术相比,立方体贴图提供了几个优势。 例如,立方体映射解决了
    发表于 08-02 10:14

    通用型8位CMOS 芯片——SC8F289X

    ;gt; 工作温度:-20℃ - 75℃ &gt; 内置4K x 14Bit FLASH、256B通用RAM &gt; 支持内部振荡8MHz/16MHz &
    发表于 06-26 09:29

    使用ESP8266和LED 8x8 Max7219构建一个小项目失败了怎么解决?

    我正在尝试开发一个新爱好,并决定使用 ESP8266 和 LED 8x8 Max7219 构建一个小项目。我在互联网上找到了一些教程,但似乎对我没有用。请提示我做错了什么。 董事会是 代码:全选Esp8266 Nodemcu Wifi Dev. Board - Wemos
    发表于 06-01 06:54

    gdk_x11_window_get_xid支持imx8MP evk Yocto 4.0吗?

    imx8mp evk 中的“gdk_x11_window_get_xid”函数支持如何? 在 Yocto 4.0 中,我们按照 NXP SOP 构建 imx8mp evk 板。 在 tmp/work
    发表于 05-19 07:14

    由i.MX8/8X中的勘误表引起的插件检测问题求解

    这是关于两个 USB 相关问题的案例研究: #1。由 i.MX8/8X(主机模式)中的勘误表引起的插件检测问题。 非常有限的单位可能会遇到这个问题。当问题发生时,插入调试时 USB 主机端口将
    发表于 05-11 07:40