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

Arduino 控制的人造蜡烛灯

组件和用品

SparkFun LED - SMD RGB (WS2812)
我将 LED 放在 4 个模块中,需要 11 个模块
× 44
Arduino Nano R3
× 1
光敏电阻
× 1
宜家“蒙特拉”有线频道
× 2
男性标题 40 位置 1 行 (0.1")
× 7
M20-1060300 线对板连接器,M20-1系列,压接,插座,3, 2.54 mm
每个 LED 模块需要 2 个(4 个 LED)(可能还有几个)
× 25
M20-1180046 触点,M20 系列,插座,压接,22 AWG,镀锡端子,M20 系列母压接外壳
每个 LED 模块需要 6 个,但它们是 100 个一包,所以 1 个包可能就足够了
× 1

必要的工具和机器

烙铁(通用)

关于这个项目

不久前,我开始着手一个项目,以巧妙地照亮我们在秋冬季节变得有点过于阴暗的中庭房间。我想要比硬​​质 LED 灯看起来更自然的东西,最好是闪烁的蜡烛的生动外观。

对于不耐烦的人(不想一直向下滚动以找到视频),结果如下:

...还有一个圣诞节版本:

现在,回到故事:

但是创造一个逼真的人造火焰 不是一件容易的事,所以我的想法是将灯放置在一种你不能直接看到“火焰”的地方,而只能看到它产生的光,在墙上跳舞。

由于房间主要由玻璃墙组成,因此显而易见的选择是让光线投射在支撑窗户的白色光束上。我决定将灯放在水平光束的底部,将光线向下投射到垂直光束上。

准备和计划

由于我希望能够单独控制每个“蜡烛”,因此选择 LED 灯很容易;显然应该是一组基于 WS2812 的 LED 模块,所以我订购了 100 个单独的 LED。

正如您在上图中所见,每个 LED 都有六个连接 - 和一个方向 背面标有箭头。

其中两个连接标记为 5V ,两个是GND 然后是Din (数据输入)和 Dout (数据输出)。两个5V 已连接,因此两个 GND s。所以实际上有四个 连接; 5V , , Dout .

在对每个“蜡烛”使用不同数量的 LED 进行了一些试验后,我想出了 四个 .这个数字让我可以对每条光束进行足够有趣的灯光操作,从而在不需要太多 LED 的情况下制作出逼真的蜡烛外观。

但是,如果我必须再做一次,我会订购一组 2×2-LED 模块,以简化组装。

控制器不需要非常先进,我的假设是 Arduino Nano 就够了。

Arduino 的位置并不明显。最后我选择把它放在水平梁上,在上面第一张照片中可见的粗柱子后面(最左边)。柱子放置在房间的角落里,两面玻璃墙相交处(照片中显示了“右”墙)。通过这种方式,我可以将 LED 放在两根平行的灯串上——每面墙一个灯串——以最小化每根灯串的物理长度。现在每根弦的总长度约为 4 米(13 英尺),而不是两倍。

Adafruit NeoPixel Überguide 在这里读得非常好;如果您打算使用 WS2812 LED 模块,您一定要通读一遍!例如,它告诉我为什么限制电线的物理长度是好的。

隐藏电缆...

...在我的情况下并不难,因为 LED 将放置在水平光束的底部。我四处寻找便宜的有线电视频道,在宜家找到了一个(不知道是讽刺还是明显,来自瑞典)。

LED 模块本身只是用强力双面胶带粘贴。

创建 LED 模块

由于我不想将整个东西焊接在一根全长串上(我想象着尝试将东西安装在梁的底部时会遇到电缆堵塞)我决定用 连接器 用于电缆。

LED 模块将放置在垂直光束的旁边,以便尽可能多地反射光线。我还想让电缆靠近光束——我需要尊重 LED 的方向。这导致(没有双关语意)我有两个版本 模块的;一种设置放在去右边的字符串上 来自 Arduino 和一个 .

两个模块版本需要两个独特的焊接布局,其中主要区别是保持数据流从正确的 LED 流向下一个。

由于 LED 非常小,直径约为 9 毫米 (3/8"),因此焊接它们并不容易;而且鉴于我缺乏焊接经验,结果不是那么好和漂亮。但它奏效了。

焊接

在焊接之前,我从 2×5 的原始部分中切下了一个 2×2 的 LED 模块。然后我把一端涂成红色,另一端涂成黑色,以标记靠近5V和GND的一侧(为了防止愚蠢的错误)。

第一步 第一个焊接练习是在每个 LED 的小金属岛上滴一滴焊锡。

下一步是连接简单的直接、邻近的连接。

然后后面的电缆需要保持绝缘,因为它们会相互交叉。

总之,每个方向有五个光束——加上角光束——总共有十一个光束。由于每个 LED 模块有四个 LED,因此单个 LED 的数量为 44 个。

经过几个模块后,我掌握了窍门,最后我可以在大约 30 分钟内焊接一个完整的模块。

“短线技巧”

许多细小的电缆都需要绝缘,但是当电缆的总长度不到一厘米时,很难在每端切割足够的绝缘层以暴露内芯。

然后我想出了这个(明显的)技巧:

1. 焊接电缆的一端,然后弯曲并切割成所需的长度。 (在本例中,非焊接端应连接到 Dout 下图中右下角的 LED。)

2. 稍微滑下绝缘层。

3. 从释放的绝缘层上剪下所需的长度。

4. 将绝缘层向后滑动,露出自由端的芯线。多啊!

通过这种方式,可以创建暴露的电缆芯线的确切长度,结果非常好:

完成 LED 模块

最后,LED 模块应该倒置在横梁上,因此必须准备好焊接的、填充电缆的背面以固定胶带。

我开始使用一些随机的扁平塑料,我只是将其切成方块。这些只是用热胶粘在 LED 模块上。

这里是所有完整的模块!万岁!

(在这一点上,重要的是要在他们身上做一些标记,将向左走的和向右走的分开!)

使用强力胶带将完整的模块轻松固定在它们现在平坦的背面。

制作电缆

幸运的是,我身边有一卷旧电话延长线。这根电缆有四根独立的电线,足够了,因为我需要三根电线(5V、GND 和数据)。

在没有特殊压接工具的情况下安装母插座并不容易,但完全可行。

电缆通道易于安装;把它剪成合适的长度,用预先贴好的胶带把它粘在横梁上。

这是最终安装的模块的样子:

自动激活和停用

因为不想天黑了就手动开灯再关灯,所以加了一个光敏电阻。

我不想要简单的开/关,而是在暮光之时逐渐改变光强度。出于这个原因,我需要知道当我决定“白天”变成“黄昏”和“黄昏”变成“黑暗”时的傍晚时我的光敏电阻的模拟值。

在下图中,红色曲线代表光电阻器在一天中移动时的模拟读数(下面不是实际读数,只是我的手绘图)。两条微弱的水平线标志着两个层次;上层是“日光”变为“暮光”的极限,下层是“暮光”变为“黑暗”的极限。所以,当红色曲线高于顶部水平线时,我认为它是 DAY,当它低于底部水平线时,我认为它是 NIGHT。

绿色的直线是“清洁”的日光测量值,即夜间最小值(0.0),白天最大值(1.0),黄昏时线性斜率。

要了解实际的模拟读数,我将四个光敏电阻和一个 LCD 屏幕连接到 Arduino,以显示四个电阻的电流、最小值和最大值。我使用了四个,因为我不知道我是否有一个坏的,所以如果他们中的大多数人的读数大致相同,我知道他们会工作。显然,我将设备放置在我打算让 Arduino 最后驱动 LED 的同一位置。这是它的样子:

由于 LCD 非常有限,我当时显示了一个光电阻器的读数大约五秒钟。然后白天我不时走过去,把数字写在一张纸上。 (显然我可以将它连接到我的笔记本电脑并通过串行连接发送数字,但我白天需要我的笔记本电脑并且不想整天坐在中庭)。

最后我决定在“630”以下为暗,在“800”以上为亮。但这些数字显然只适合我的光敏电阻和我串联使用的 10 kΩ 电阻,所以这不是绝对的事实。

Arduino 源代码

我希望能够拥有不同类型的灯光效果,而不仅仅是烛光。出于这个原因,我构建了源代码模块化,试图隔离不同文件中的不同机制,以便于概览。

主要的.ino -file 非常小。我基本上只是启动整个事情并调用 Update() 在几个助手类上(反过来可以解决问题)。

目前源代码支持两种不同的效果;烛光效果和“圣诞节”效果。目前效果的选择是硬编码的,这意味着如果我想进行切换,我需要重新编译代码。最后,这应该使用遥控器进行控制——或者更好的是,使用智能手机。我们会看到的。

代码

中庭照明
Arduino 的所有源代码 https://github.com/emmellsoft/AtriumLighting

示意图

2drkW5vm9e7vAdGPxOsm.fzz

制造工艺

  1. 通过蓝牙控制的树莓派机器人
  2. 操纵杆控制的遥控车
  3. Arduino 带蓝牙控制 LED!
  4. Nunchuk 控制机械臂(使用 Arduino)
  5. 语音控制机器人
  6. Arduino Quadruped
  7. Arduino 控制的钢琴机器人:PiBot
  8. Arduino RGB 混色器
  9. DIY Arduino RADIONICS 治疗MMachine
  10. DMX RGB LED 户外
  11. 使用 Arduino 的触摸控制灯
  12. Arduino 控制的 USB 触控板