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

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

3天内不再提示

基于Arduino Nano R3实现蜡烛灯的设计方案

科技观察员 来源:Mattias Larsson 作者:Mattias Larsson 2022-04-11 16:44 次阅读

前段时间我正在筹备一个项目,大体是如何巧妙地照亮我们的中庭房间。在秋冬季节房间变得有点太阴暗了,我想要比 LED 灯更自然的东西,最好是闪烁蜡烛的现场外观。

创造一个逼真的人造火焰并不是一件容易的事,所以我的想法是:把灯光放在看不到“火焰”的地方,然后我们只能看到所产生的光,接着借此在墙上跳舞。

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

poYBAGJT6kiAHQJWAAWUBOsKF_I585.png

准备和计划

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

pYYBAGJT6kSALcQDAATzdoCZiR0577.png

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

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

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

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

poYBAGJT6kCAKqxjAAM5P-TNY1g554.png

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

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

pYYBAGJT6jyALfc-AASxkVOp6xI110.png

隐藏电缆

这一步依据我自身的情况,并没有那么难。因为 LED 被放置在水平光束的底部,LED 模块本身只需用强力双面胶带放置即可。

创建 LED 模块

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

LED 模块将放置在垂直光束旁边,以便尽可能多地反射光线。我还想让电缆靠近光束。这导致我有两个版本的模块;一个设置放在从 Arduino向右的绳子上,一个向左。

poYBAGJT6jiAWCtqAAOZ8D5f118623.png

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

poYBAGJT6jSABnGiAAJOpOy7HPQ796.png

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

焊接

在焊接之前,我从 2×5 的原始部分切下一个 2×2 LED 模块。然后我将一端涂成红色,另一端涂成黑色,以标记靠近 5V 和 GND 的两侧。

第一步首先做一个焊接练习,在每个 LED 的微小金属岛上滴一滴焊料。

pYYBAGJT6jCASD8vAAGslvpmPu4205.png

下一步是连接简单的直线,靠近的连接。

pYYBAGJT6iyAL0vgAATaYgWF_ac413.png

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

poYBAGJT6ieACWfFAAWzMWytXk8560.png

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

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

“短电缆技巧”

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

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

1.焊接电缆的一端,然后将其弯曲并切割成所需的长度。

pYYBAGJT6h2AQq9SAAEtyU_E2-8855.png

2.将绝缘层向下滑动一点。

pYYBAGJT6hmATMY2AADrY9KQZgA581.png

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

poYBAGJT6hWASCvBAAELWGTfnqw143.png

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

这样就可以创建裸露电缆芯的确切长度,结果非常好:

poYBAGJT6guAbB0NAAFfOCIf7uk945.png

完成 LED 模块

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

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

pYYBAGJT6geAP5p4AATi3zhgPGM445.png

这是所有完整的模块:

poYBAGJT6fWAMLOxAAU3JUTccJ8279.png

完整的模块很容易用强力胶带粘在它们现在平坦的背面。

制作电缆

幸运的是,我周围有一卷旧电话延长线。这条电缆有四根独立的电线,这绰绰有余,因为我需要三根电线(5V、GND 和数据)。

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

poYBAGJT6fGARQIoAARj6KQD1Sk457.png

电缆通道很容易安装;只需将其切成合适的长度并使用预先粘贴的胶带将其连接到水平梁上。

poYBAGJT6e2AFez6AAJNpnn0XKY228.png

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

poYBAGJT6f-AIgV9AAGae-E-7YQ055.png

自动激活和停用

由于我不想在天黑时手动打开灯并在之后将其关闭,因此我放入了一个光敏电阻

同时我不想要简单的开/关,而是在黄昏时分逐渐改变光强度。出于这个原因,我需要知道我的光敏电阻在晚上决定“白天”变成“暮光”和“暮光”变成“黑暗”的时间点的interwetten与威廉的赔率体系 值。

在下面的图表中,红色曲线代表光敏电阻在一天中变化时的模拟读数(不是下面的实际读数,只是我的手绘图)。两条微弱的水平线标志着两个层次;顶部是“daylight”变成“twilight”的极限,而底部是“twilight”变成“darkness”的极限。所以,当红色曲线高于顶部水平线时,我认为它是白天,当它低于底部水平线时,它是夜晚。

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

pYYBAGJT6eGABXzqAACQnbao5O0201.png

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

poYBAGJT6duAIW_sAAZ0C3c34-8147.png

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

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

Arduino 源代码

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

主.ino文件非常小。我基本上只是启动了整个事情并调用Update()了几个助手类(这反过来又起到了作用)。

目前源代码支持两种不同的效果:“烛光”效果和“圣诞节”效果。目前效果的选择是硬编码的,这意味着如果我想进行切换,我需要重新编译代码。到这一步,所有需要的步骤就做完了,所以接下来让我们拭目以待。

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

    关注

    22

    文章

    1592

    浏览量

    107958
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    186970
收藏 人收藏

    评论

    相关推荐

    arduino R3arduino nano原理图文件

    arduino R3arduino nano原理图文件
    发表于 05-05 11:32

    Arduino UNO R3资料分享

    描述Arduino UNO R3
    发表于 07-11 06:25

    Arduino UNO R3的资料分享

    描述EUFORIS 的 Arduino UNO R3这是原始 Arduino UNO R3 的修改版本。它具有美学黑色外观以及我们的徽标和 Ardu
    发表于 08-19 07:44

    ARDUINO R3开发板

    开源硬件Arduino UNO R3的一些入门上手资料~有源代码,例程,还有安装指南
    发表于 11-17 18:16 139次下载

    dfrobotArduino UNO R3 介绍

    Arduino最新的R3版本。除了保留之前Arduino UNO板的所有特点之外,这个R3版使用了更强大的ATmega16U2替代了8U2。
    的头像 发表于 11-19 10:31 6703次阅读
    dfrobotArduino UNO <b class='flag-5'>R3</b> 介绍

    Arduino Files的Arduino Uno R3电路原理图免费下载

    本文档的主要内容详细介绍的是Arduino Files的Arduino Uno R3电路原理图免费下载
    发表于 03-12 08:00 102次下载

    如何使用Arduino Nano控制红绿灯

    本文将介绍如何基于一个简单PCB洞洞板制作红绿灯,并通过Arduino Nano R3对它进行控制。
    的头像 发表于 04-08 15:19 5349次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>控制红绿灯

    EUFORIS的Arduino UNO R3开源

    电子发烧友网站提供《EUFORIS的Arduino UNO R3开源.zip》资料免费下载
    发表于 07-29 15:01 12次下载
    EUFORIS的<b class='flag-5'>Arduino</b> UNO <b class='flag-5'>R3</b>开源

    使用Arduino Nano R3进行红外遥控的数字时钟

    电子发烧友网站提供《使用Arduino Nano R3进行红外遥控的数字时钟.zip》资料免费下载
    发表于 11-03 11:30 1次下载
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>R3</b>进行红外遥控的数字时钟

    基于Arduino Nano R3的日月时报

    方案介绍一些 Arduino 项目可能会通过计算日出和日落时间或当前月龄来改进其功能。您可以创建气象站或动画时钟,在早上开始动画并在日落时停止。网上有一个Arduino的软件库,可以计算一些天文
    发表于 12-16 15:57 0次下载

    基于Arduino Nano R3的RFID智能手推车

    方案是一个基于 Arduino Nano R3 的RFID智能手推车我们都在商场等地方排队等着付款,很累,在结账过程中浪费了很多时间。今天我们将构建一个带有自动计费系统的智能购物车,
    发表于 12-22 14:46 4次下载

    基于Arduino Nano R3的分钟交流定时器

    方案是基于 Arduino Nano R3 的分钟交流定时器。在你焊接电路板那么多年生涯当中,有没有忘记关闭焊台的时候?如果有一个简单的设备可以为你做这件事呢?正确设置它不会太多工作
    发表于 12-22 11:12 0次下载

    基于Arduino Nano R3的UHF天线旋转器

    方案是基于 Arduino Nano R3 的UHF 天线旋转器。电子零件:1x Arduino NA
    发表于 12-22 11:10 0次下载

    基于Arduino Nano R3的磁场强度仪

    方案介绍使用比例线性霍尔效应传感器来构建简单的磁场强度计。硬件部件Arduino Nano R3    ×    1个    图形OLED,128 x 64    ×    1个  
    发表于 12-30 15:19 0次下载

    基于Arduino nano R3 diy拍手控制的自动

    在这个项目中,我使用拍手声制作了一个简单的自动。使用的组件是传感器KY-037,LED和Arduino Nano。硬件部件Arduino nano
    发表于 01-05 16:24 0次下载