亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

动态三角形艺术

组件和用品

APA-106 可编程 RGB LED
× 45
22 号镀锡铜线
× 1
Arduino UNO
× 1
胶合板三角形一侧 12 英寸,1/4 英寸。厚度
× 1

必要的工具和机器

烙铁(通用)
热胶枪(通用)
散热片夹
使用这些来保护 LED 免受焊接热

关于这个项目

简介

该项目使用由 Arduino UNO 控制的 45 个 APA-106 可编程 LED。这些 LED 类似于可单独编程的 LED 灯条,因此我们使用 Adafruit 的 Neo-pixel 库来控制它们。 UNO 上的单个引脚对整个显示器进行编程,因为一条数据线连接到链中的所有 LED。

这个设计的灵感来自我早期的两个项目。我的第二个 5x5x5 RGB 立方体(另一个 5x5x5 RGB 立方体)使用 APA-106 可编程 LED,剩下大约 75 个额外的 LED。我本可以用它们建造一个 4x4x4 的立方体,但我最近建造了很多立方体 - 是时候做点别的了。我的伺服电机艺术项目是一个三角形,三角形设计创造了许多有趣的图案。所以这个项目使用 45 个 APA-106 LED 排列成三角形图案来进一步探索三角形艺术。

从硬件和软件的角度来看,这是一个相当简单的项目。让我们先看看硬件,然后看看软件。

硬件

硬件仅由 UNO 和 45 个 LED 组成。这些 LED 在全功率下非常明亮,所以我将整个显示器的亮度设置为 30,范围为 0 到 255。在那个级别,UNO 和所有 LED 都可以直接从 UNO 的 USB 输入供电,因此 1 安培 - 5 伏电源是可选的。

施工的第一步是在一块 1/4 英寸的胶合板上钻孔。电路板本身的每个边缘都是 12 英寸。 LED 在精心构建的等边三角形中间隔 1 英寸。 LED 是 8 毫米,所以我钻了 8 毫米的孔,使 LED 紧密贴合 - 它们压入后根本不会移动。

左上方是 APA-106 LED。长引线接地。数据输出是封装平坦边缘右侧的引线。左边的第一根引线是数据输入,数据输入和地之间的下一根引线是+5V。这 4 根引线如右图所示弯曲。地线末端有第二个弯曲——其目的只是为了识别地线,因为一旦它们都弯曲就很难看到它。

上图显示了电路板的接线方式。首先请注意,随着 LED 链接在一起,蓝色数据线向后移动。这意味着在奇数行中数据从左向右流动,而在偶数行中数据从右向左流动。这也导致奇数行与偶数行的电源轨不同。对于奇数行,地线上升,+5v 线下降,偶数行则相反。

上图显示了接线。这一切都是用 22 号裸镀锡铜线完成的。我收集了左侧的接地轨和右侧的 +5V 轨。你应该做相反的事情。我板上的每条数据线连接都必须通过电源轨,但如果将接地切换到右侧,将 +5v 切换到左侧,则数据线将无需交叉任何东西!

以上是接线的特写视图。请注意右侧的数据线如何穿过 5 伏电源轨的顶部。

上图显示了成品板。我用了一些小塑料片作为 UNO 的支架,然后用一点热胶将 UNO 安装在板上。

上面的照片显示了一个案例中的三角形。这是来自此处包含的 .stl 文件的 3D 打印。你也可以很容易地用胶合板建造一个。

软件

由于 Adafruit 的新像素库,软件非常简单。它为我们提供了 setPixelColor(# in the chain, color) 来定义任何一个 LED 的颜色,并且 show() 将整个显示器更新为最新的变化。该库使用一个无符号的 32 位数字来表示 LED 的颜色,分别为红色、绿色和蓝色的强度存储 8 位。我直接使用这个方案来增亮和调暗原色,但对于其他一切,我使用了我自己的简单色彩管理方案,从我的 LED 立方体借来。这是一个简单的方案,其中数字 1 到 42 代表彩虹调色板,添加 0 表示黑色(全部关闭)和 43 表示白色(全部打开)。

您可能已经注意到,在上面的接线图中,LED 的编号从顶部的 0 开始,编号从左到右逐行排列。这是我用来识别 LED 的编号系统。它不像数据线那样来回切换,所以我创建了自己的 setPixelColor 版本,它通过我的编号分配来引用 LED,并允许我使用我的 0 到 43 调色板指定颜色。

您在视频中看到的几乎所有动画或效果都是表格驱动的。一张桌子告诉你如何从顶角扫地。另外两个表将这种效果转化为另外两个角。另一个表格告诉你外面三角形的 LED,然后是中间的,然后是最里面的三角形。所有这些不同的表都存储在程序存储器而不是 RAM 中。我最初担心所有这些表会占用太多宝贵的程序空间。但事实证明,使用这种表方法非常有效,而且程序空间从来都不是问题。

程序或草图在 Arduino IDE 中分为四个文件或选项卡。第一个是声明、表格和设置例程。第二个是主循环,它简单地调出各种动画的列表。第三是动画本身。四是支持所有动画的通用函数或子程序。

在上面的视频中,您可以看到带有 15 个动画的原始节目。在重复之前,它会持续大约 3 分钟。然而,从那以后,我扩展了节目,加入了一些新的动画,你可以在下面的视频中看到。

上面视频中的所有动画都是通过调用一个名为 rotation() 的子程序完成的。三角形由 24 个 LED 的外三角形、15 个 LED 的中间三角形和 6 个 LED 的内三角形组成。这三个数字的公分母是120。所以120步我们可以将整个三角形的内容旋转360度。这就是rotate() 例程所做的。改变起始模式,改变旋转方向,改变旋转速度,你就会得到上面视频中看到的所有效果。

下载中的节目现在包括原始节目以及上面的所有动画,制作一个包含 26 个动画的节目,在重复之前持续 5 分钟。

代码

  • Art Triangle 的 Arduino 代码
艺术三角的Arduino代码Arduino
这是一个包含测试例程的 zip 文件、一个包含 26 个动画的节目以及使用 Neo-pixel 库的说明
无预览(仅限下载)。

定制零件和外壳

外壳的 .stl 文件

示意图


制造工艺

  1. 直角三角形
  2. 非右三角三角学
  3. 可编程逻辑控制器 (PLC)
  4. C 动态内存分配
  5. FPGA 和可编程逻辑简介
  6. Walabasquiat:一个交互式生成艺术装置!
  7. C++ 动态内存
  8. Arduino + LEDs + MIDI 键盘 + MuseScore =Piano Tutor
  9. G.AL® C330 动态
  10. G.AL® C210 动态
  11. 卧式铣削是高效生产的艺术
  12. 动力泵和容积泵的区别