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

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

3天内不再提示

如何制作一个传感器控制的LED灯

454398 来源:wv 2019-09-03 15:29 次阅读

第1步:零件

我有一份我在亚马逊下面使用过的零件清单。随意点击链接购买它们,但如果您有类似物品闲逛,请使用它们!请注意,其中一些是“多个”项目,所以你应该有足够的备件供朋友和家人使用,或者仅仅用于其他项目 - 但它们非常便宜,以至于购买一个通常会被运费抵消。.. 。.

此项目的各个部分:

完整的Arduino设置(注意:不是必需的,但包含很多未来玩的东西!)

Arduino NANO(盒子内使用)

PIR传感器

LED Light Strips

LED驱动程序(电源

MOSFET

按下开关

包含Arduino和MOSFET的黑盒子

传感器和开关的白盒子

将电线从元件连接到LED灯条

2.1mm插头和插座

将Arduino连接到其他组件的电线

散热片(用于MOSFET)

热敏双面胶

热缩套管

第2步:技术和如何合适

如何制作一个传感器控制的LED灯

为了做到这一点,首先,我们需要制作电路。..。..

首先,我使用了面包板和全尺寸的Ardiuno Uno。之前从未使用过Arduino,我买了一个包括第三方Uno和一整套零件的套件(在此之后,我将用于其他项目)。如果你只是跟随这个项目,你显然不需要这样做,但是如果这可能会让你构建其他东西也是一个好主意。

面包板允许你只是将电线和组件推到塑料板上,让您测试电子部件的设计。

我把它和几个红色LED组合在一起,这让我可以检查程序的淡化部分是如何工作的(我暂时将它设置为10秒后超时,这样我才能看到效果交错淡入和淡出)它的工作方式是LED是即时开/关(不像传统的灯泡),所以你不需要输入可变电压 - 你实际上可以快速打开和关闭它们看起来它们看起来不那么明亮。这称为脉冲波调制(简称PWM)。基本上,你保持“开”的时间越长,它们就越亮。

注意:一旦我连接了实际的灯条,每个完整条带的电流消耗会使它们变得不那么明亮并且它们的渐变会略有不同 - 因此,我使程序具有一些可配置性设置)

虽然你可以购买小插头电源直接驱动LED灯条,因为我有四个,我决定购买一个LED驱动器(基本上是一个电流输出更高的电源) 。我对它进行了高估,因为我没有“实际检查真正的电流消耗直到它被构建(因为我在安装厨房之前就这样做了)。”如果您将其改装到现有的厨房(或者您正在使用它的任何东西),您可以测量每个条带的电流消耗,将值相加,然后选择合适的LED驱动器(下一个额定功率)。/p》

在面包板之后,我意识到灯光的电流消耗太高而无法直接从Arduino驱动,所以对于真实的单元我使用了一些MOSFET - 这些基本上就像一个继电器 - 如果它们获得电源(来自然后,它们接通高电流侧的连接。

我在这里作弊 - 我本来可以买到实际的MOSFET但是有一些已安装到小型电路板上,一起板上有螺丝连接器和可爱的小型SMD LED灯,因此您可以看到它们的状态。节省焊接时间?地狱是的!

即使使用MOSFET,LED灯条长度的最大额定值仍然会吸收几个AMP,而MOSFET建议添加一个散热器以帮助它们保持凉爽。所以我得到了一些小型散热器,并使用双面热胶带将它们粘在散热器的金属部分上。在全功率时,它们仍然会变热,但是在我的程序中调整了最大亮度(LED太亮了)之后,我发现MOSFET无论如何都不会发热,但仍然值得添加它们以延长组件的使用寿命或者如果你确实选择了比我更亮的水平。

传感器也已经封装在小型电路板上,这包括所有的支持电路,以及一些跳线(小型)带有链接的引脚,可以在位置之间切换以选择不同的选项)和变量超时。当我们使用它来触发我们自己的计时器时,我们可以将它们保持在默认位置。

我在传感器附近添加了一个小的Push to Make开关,让我可以连续“打开”灯光。再次按下它们关闭它们。这是我遇到的问题最多的组件,因为Arduino经常认为开关被按下了,所以它可以随意打开和关闭灯。这似乎是Arduino中的噪声,电缆的长度,地面/0V线路上的噪声以及开关内的连接有噪声的组合,因此它们需要“去抖动”。我玩了一些东西,但最终决定让程序检查我按下按钮几毫秒 - 基本上是反弹,但也忽略了任何噪音。

对于真正的单位,我发现一个小的,不显眼的盒子,用于容纳传感器和按钮开关,另一个用于安装所有MOSFET板和电缆。为了方便起见,我买了一些可以承载电流的双芯电缆(并标记了一根电缆以便于识别),并在厨房周围运行到每个灯条的起点。我还买了一些插座和插头,这让我可以将插头上的电缆端接,并将四个插座安装在较大的插座中。这样我就可以重新订购灯条,这样它们就可以从踢板,手柄,橱柜和橱柜灯开始,只需拔掉它们而不是更换密码。

这个盒子也很方便在顶部安装了Arduino NANO(再次是低于3英镑的第三方板)。为了从NANO和MOSFETS等中获得小连接,我使用了各种彩色单芯电缆(我使用的是一个带有耐热绝缘的电缆,但你不需要)。我仍然使用从MOSFET到插座的更高电流额定双芯电缆。

为了钻出箱子,我幸运地有一个支柱钻,但即使没有它,你也可以钻一个飞行员使用较小的钻头钻孔,然后使用阶梯钻头(https://amzn.to/2DctXYh)将钻孔扩大到所需的尺寸。通过这种方式,您可以获得更整洁,更有控制的孔,特别是在ABS盒中。

按照图表钻出孔。

白色方框,我标记了传感器的位置,白色菲涅尔透镜所在的位置。然后,当我找到它的中心位置时,我钻了一个导孔,然后用较大的阶梯钻头加宽它(你可以使用更大尺寸的‘木头’钻头)。然后我不得不将孔打得更大但是我没有将所有的菲涅耳透镜都推过孔 - 通过保持孔更小,它不会使传感器如此‘可见。

你还会在白色的盒子上发现有两个凸耳伸出侧面,让你把盒子拧到墙上等,但我把它们切掉了。然后我在一侧为电缆设计的盒子中加宽了小镂空,以适应我使用的更大的4芯电缆,而盒子的另一侧我将它加宽以适合开关(见图)。

步骤3:接线

参见随附的接线图。

基本上,您可以使用推送-on连接器,然后焊接Arduino附带的引脚,或者像我一样,直接焊接到Arduino板上的引脚。与任何焊接工作一样,如果您没有经验,请先看看Youtube视频并先练习 - 但主要是:1)在熨斗上使用良好的热量(不要太热也不要太冷)并确保尖端没有凹痕。 2)不要将焊料“加载”到熨斗的顶端(尽管最好先开始擦拭或敲掉多余的部分,然后将焊头顶部接触到部件上,这是很好的做法。不久之后,焊料同时触及尖端和元件,它应该“流到”电路板上.3)不要使元件过热(重要!!!) - 如果它似乎不流动,让它冷却,并在一段时间后再试一次,也不要在同一区域工作太久。 4)除非你有三只手或者有拿筷子的经验,购买其中一个帮助的东西把组件放在一起(例如https://amzn.to/2VFJJC4)。

为了让生活更轻松,我还将MOSFET板上的3针连接器去焊。要做到这一点,将一些焊料熔化到现有的焊接连接上以帮助它再次流动,然后使用一把钳子将焊针拉过,同时焊料仍然熔化。如果你有一个去焊剂泵或芯子在你拉出元件之前将熔化的焊料吸走(例如https://amzn.to/2Z8P9aT),这会有所帮助,但你可以不用它。同样,如果你愿意,你可以直接焊接到引脚(如果你直接连接电路板就更整洁)。

现在,看一下接线图。

取一块精细的单芯线并从端部取一点绝缘材料(我发现rolson剥线钳和刀具https://amzn.to/2DcSkom好)然后扭转电线并将一点点焊料熔化在它们上面把他们抱在一起将电线穿过电路板上的孔,然后将电线焊接到位。

继续将所有电线连接到我列出的Arduino上(使用你需要的数字引脚数 - 我有4套灯但你可以使用或多或少)。理想情况下使用与使用相匹配的彩色电缆(例如12V红色,GND黑色等)。

为了使物品整洁并防止短路,我建议滑动一小块热缩套管(https://amzn.to/2Dc6lD3)焊接前每个连接到导线上。在焊接时将其保持在远处,然后在接头冷却后测试所有部件后,将其滑到连接处并用热风枪加热几秒钟。它会缩小以形成一个整洁的关节。

注意:我在某处看到Arduino D12或D8上某些引脚之间存在一些串扰。为了安全起见,我使用D3作为第四个输出 - 但如果你想尝试别人,请随意,只是不要忘记在代码中更新它。

将电缆剪成合适的长度以装入盒子内部,然后切割并再次涂上末端。这次,将电缆焊接到引脚上的MOSFET板上,如图所示。每个数字输出(D9,D10,D11和D3)应焊接到四块板之一。对于GND输出,我将它们全部放在一起并用一团焊料加入它们 - 这不是最好的方式,但无论如何它都隐藏在一个盒子里。..。

Arduino到MOSFET

输入电压I以相同方式连接+ 12V和GND,并将它们和一些短长度的2芯电缆放入Chocblock。这使我能够使用Choblock作为LED驱动器/PSU的输入电源的应变消除,并且还允许更厚的2芯电缆更整齐地连接起来。我最初对电缆的两端进行镀锡,但发现它们不适合MOSFET板上的连接,因此最终切断了镀锡端,它们更适合。

我多花了4厘米2芯电缆的长度并将它们焊接到2.1插座上。请注意,它们上面有三个引脚,一个用于在连接被移除时提供馈送。使用内部引脚(12V)和外部(GND)的连接,并断开第三个引脚。然后将每根电缆穿过盒子侧面的孔,加一个螺母,然后将它们插入MOSFET连接器输出端子并拧紧。

连接传感器

使用一些四芯电缆,切割一段足够长的距离,从隐藏PSU和盒子的位置移动到您要放置传感器的位置(确保这个位置能够吸引您你走进这个区域,但是当有人在隔壁房间走过时不会绊倒!)。

将电线焊接到传感器板上的引脚(如果你愿意,可以拆下引脚),并使用一根短的电缆(黑色!),连接一根连接电缆,将GND电缆连接到交换机的一侧。然后将另一根电线从4芯电缆焊接到开关的另一侧。

将传感器和开关放入白色盒子,然后将电缆布置在房间周围,然后将电缆的另一端推过黑色盒子中的孔,并将电线焊接到正确的引脚上。 Arduino的。

在电缆盒内部的电缆周围放置一根小电缆扎带,以防止拉动电缆并损坏您与Arduino的连接。

电源

我买的LED驱动器(电源)有两个输出尾部 - 两个都有12V和GND输出,所以我使用了这两个并分开使用,以便2个LED经过两个MOSFET由一个电源输出供电,另外两个LED由另一个输出供电。根据您使用的LED的负载,您可能选择了不同的电源并且只有一个输出。

因此,我的盒子有两个x孔,来自电源的电缆进入,然后我在里面放一个Chocblock进行连接,并提供应力消除。

步骤4:Arduino程序

程序(附件)应该是相对不言自明的,我试图在整个过程中提供意见。请随时根据您自己的项目要求进行修改。

重要提示:我最初是在一套零件和一个Arduino UNO上进行设置的。如果你再使用Arduino NANO板,它们上的引导程序可能会更旧。您不需要更新它(有一种方法可以执行此操作,但此项目不需要它)。您需要做的就是确保在工具》板中选择Arduino NANO,然后在工具》处理器中选择正确的。一旦选择了COM端口,如果连接到串行控制台(工具》串行监视器),也可以选择查看发生了什么。

这是我的第一个Arduino项目,我很高兴这真的很棒易于下载,安装和使用Arduino编程工具(允许您输入程序并将其上传到电路板的东西)。 (从https://www.arduino.cc/en/main/software下载IDE)

只需将主板插入USB端口,它就会显示为可以将程序上传到电路板和代码运行!

代码如何工作

基本上有一些设置在我定义所有内容的顶部。在这里,您可以更改用于灯光的引脚,灯光的最大亮度(最大值为255),淡出所需的速度以及衰减的速度。

还有一个偏移值,即一个光衰落到下一个光之间的间隙 - 所以你不需要等待每个淡入淡出 - 你可以在前一个淡入淡出之前开始下一个淡入淡出。

我选择了适合我的价值观,但请随意尝试。但是:1)我不建议将最大亮度调得太高 - 尽管它有效,但我感觉灯光太亮而且不亮(并且,由于长串LED,额外的电流会使MOSFET变热 - 其中案件改变箱子为更通风的)。 2)偏移适用于当前值,但由于LED不会根据所施加的功率以线性方式增加亮度,您可能会发现还需要调整其他参数,直到获得良好效果。 3)在淡入淡出程序中,我将我的柜台灯的最大亮度设置为最大值为255(它们消耗的电流更少,所以不要让MOSFET过热,我也想看看我在做什么!)。/p》

在设置部分之后,有一个大循环。

这首先是板载LED上的一两个闪光灯(因此您可以看到它正在工作,也可以延迟让您有机会走出传感器的范围)。然后代码处于一个循环中,等待来自传感器的触发变化。

一旦得到这个,它就会调用TurnOn路由,从而向上计数0到所有4的总值。处于选定最大值的设备,增加您在FadeSpeed1值中指定的数量。它使用约束命令来防止每个输出大于最大亮度。

然后它位于另一个循环中,如果再次触发传感器则重置一个值。如果没有重置,那么当Arduino的计时器到达这一点时,它会跳出循环并调用TurnOff例程。

在’on state‘循环期间的任何时候,如果开关是按下超过几毫秒,我们闪烁灯确认,然后设置一个标志,使定时器值始终重置 - 因此灯不会再次淡出。第二次按下开关会使灯再次闪烁并使灯圈退出,使灯熄灭并重置。

步骤5:全部放入Box

一旦你把所有东西连接起来,就该进行测试了。

我发现我的传感器的原始位置不起作用,所以我将电缆缩短并将其放置在一个新的位置 - 我暂时用一小块热熔胶粘住它,但它在那里工作得很好,我把它留在那里而不是使用魔术贴垫。

在传感器上,有几个可变电位器,可以调节PIR的灵敏度以及触发传感器的时间。由于我们正在控制代码中的“多长时间”元素,因此您可以将其保留为最低值,但可以随意调整灵敏度选项。还有一个跳线 - 我把它留在它的默认位置,并且它允许传感器被“重新触发” - 如果它只检测到你一次然后总是超时,那么是时候移动这个开关了!

为了帮助测试,我暂时将灯的使用时间缩短了大约12秒,而不是等待2分钟左右。请注意,如果您的时间少于完全淡入所需的时间,则代码将始终超过最大时间并立即淡出。

对于LED灯条,您需要切割条带。条带上标明的点。然后,使用锋利的刀(但小心不要一直切开!),通过防水涂层切割到金属条,然后将其剥离,露出两个焊盘。将一些焊料放在这些上(再次注意不要让它们过热)并连接一根双芯线。然后在电线的另一端焊接插头,这样你就可以将它插入插座中,以便电路驱动。

注意:虽然我为LED灯条买了一些90度的连接器你可以简单地滑动,但我发现它们会造成如此糟糕的连接,以至于它们会闪烁或失败。因此,我将条带切割成我想要的尺寸,并在LED条带之间焊接连接电缆。当我不得不运行橱柜下的条带时,这也有所帮助,因为我必须在洗碗机和冰箱之间进行更长时间的连接。

将所有部件插在一起,然后将电源插入电源。然后,如果你在PIR传感器附近移动,它应该触发,你应该看到灯光以优雅的方式淡出。

如果像我一样,灯光以错误的顺序淡出,只需找出哪个电缆是将电缆拔出/插入另一个插座,直到它很好地褪色。

您可能还想调整程序设置(我注意到LED条带越长,它们显示的颜色越深。 “完全亮度”)你可以简单地将arduino插入你的计算机并重新上传一个新程序。

虽然我在某个地方读到,在Arduino中安装两个电源并不是一个好主意。 (USB也提供电源),我最终将arduino插入电源,然后将USB连接插入计算机,以便我可以使用串行端口监视器监视发生的情况。这对我来说很好,所以如果你也想这样做,我已经在代码中留下了串行消息。

一旦你确认一切正常,就应该把所有东西放到盒子里了。为此,我只使用了热胶。

如果你看一下盒子里所有东西的位置,你会看到MOSFET板可以放在盒子的两侧,而电缆则从这些环路的输出和2.1mm插座然后可以通过孔和附加的螺母放置在MOSFET本身旁边,以将其固定到位。一小块胶水有助于将它们固定到位,但如果需要,它们仍然可以再次拉出。

Arduino应位于盒子顶部的侧面 - 并且电源的chocblock应该是坐在底部。

如果你有时间测量并重新焊接所有电缆,请随意这样做,但由于它都在一个盒子内并藏在我的台面下,我已经离开了我的’老鼠窝‘的电线在盒子的中间位置(远离MOSFET上的散热片,以防它们变热)。

然后只需将盖子盖在盒子上,插上盒子即可享受!

第6步:总结和未来

我希望你发现这很有用,虽然我是为我的新厨房设计的(有四个LED元件) ,它很容易适应其他目的。

我发现我们不倾向于使用主厨房灯,因为这些LED为大多数用途提供足够的光线,以及使厨房成为一个更有趣的地方。

这是我的第一个Arduino项目,当然不会是我的最后一个,因为编码部分允许我使用我的(生锈!)编码技能而不是电子设计过程,而Arduino连接和支持提供了许多非常酷的功能而无需做很多电路。

我本可以自己购买MOSFET(或使用其他方法)来驱动LED灯条的高电流,但这意味着购买支持元件(二极管电阻等) ),板上的SMD LED非常有用,所以我觉得为这些板子支付了一小笔额外的费用。

可能你想修改它以驱动其他类型的照明电路,或者甚至是特定项目中的风扇或其他电机电路。它应该工作相同,脉冲宽度调制方法应该适用于那些设备。

在我们的厨房里,灯应该用于重点,所以我们一直使用它们。然而,我最初考虑添加一个光传感器,只有在它足够黑暗时才能启用“ON”状态。由于代码中的分级循环,很容易将一个光依赖电阻添加到Arduino上的一个模拟引脚,然后在’OFF‘循环中更改分支条件,只需等待传感器和LDR到低于某个值,例如 while((digitalRead(SENSOR)== LOW)和(LDR 《= 128)); 。

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

    关注

    22

    文章

    1551

    浏览量

    107027
收藏 人收藏

    评论

    相关推荐

    Sensor 传感器

    传感器像是两LED组成(只有171 C69), 这是什么传感器,用在哪些地方
    发表于 02-28 14:48

    如何连接Arduino声音传感器控制带有声音的LED

    在本教程中,您将学习如何连接Arduino声音传感器控制带有声音的LED。在本指南结束时,您将拥有一个可以正常工作的声控LED
    的头像 发表于 02-11 10:21 992次阅读
    如何连接Arduino声音<b class='flag-5'>传感器</b>以<b class='flag-5'>控制</b>带有声音的<b class='flag-5'>LED</b>

    求购两LED呼吸控制器

    某宝某多买了几个控制器发现LED的亮度变化在低占空比的时候,变化很明显,而在高占空比的时候反而变化很小,导致呼吸表现呼吸不均匀的现象,我想要的是控制器能做到
    发表于 01-31 21:54

    【实验篇】FPGA驱动传感器:水位、巡线、振动传感器

    FPGA驱动传感器 大部分FPGA入门的第一个实验是点亮LED和流水灯,我们不妨试试通过驱动传感器来学习FPGA,本系列文章通过驱动
    发表于 11-06 14:33

    使用Arduino和PAJ7620手势传感器制作手势控制机器人

    使用Arduino和PAJ7620手势传感器制作手势控制机器人,简单程序即可实现。小小的传感器可以识别各种手势。它采用内置的空间传感器,可以
    发表于 09-27 06:17

    用电容传感器制作土壤湿度检测

    你经常忘记给室内植物浇水吗?或者你也给他们太多的关注和过度淡化他们。如果你这样做了,那么你需要让自己成为土壤湿度监测。这款基于Arduino的电池供电显示器使用捕获传感器,用于测量土壤的湿度,然后
    发表于 09-20 07:00

    ICP传感器信号调理电路

    求大佬。设计了ICP加速度传感器恒流源供电以及信号调理电路,如图,制作出来的电路板测得有4mA电流和24V电压,但是传感器没有输出是怎
    发表于 09-18 18:16

    Arduino供电、传感器控制的褪色LED灯带

    电子发烧友网站提供《Arduino供电、传感器控制的褪色LED灯带.zip》资料免费下载
    发表于 07-11 14:24 0次下载
    Arduino供电、<b class='flag-5'>传感器</b><b class='flag-5'>控制</b>的褪色<b class='flag-5'>LED</b>灯带

    由PIR传感器和RTC控制的调光LED灯条

    电子发烧友网站提供《由PIR传感器和RTC控制的调光LED灯条.zip》资料免费下载
    发表于 07-04 11:08 0次下载
    由PIR<b class='flag-5'>传感器</b>和RTC<b class='flag-5'>控制</b>的调光<b class='flag-5'>LED</b>灯条

    如何用ESP8266制作声音反应性RGB LED条?

    wifi 盒子的东西连接到 led 和预制应用程序。 所以我不能在这里使用预制应用程序,我也准备从 MIT App Inventor 创建应用程序,但我认为 MIT App Inventor 没有连续语音监听
    发表于 06-07 07:14

    制作简单的LED控制器电路

    led
    YS YYDS
    发布于 :2023年05月28日 12:25:48

    如何通过MQTT控制RGB LED

    我是新来的,遇到了些麻烦。目前我有运行 OpenHAB 服务的 RPi2。我有 No
    发表于 05-23 06:44

    TTP229电容式触摸传感器模块可以与ESP8266起使用来制作遥控吗?

    大家好,在家里我有四带有 tasmota 固件的 sonoff,我用它来控制不同的光点。 我在 aliexpress 上买了 TT
    发表于 05-19 11:48

    如何构建简单的传感器

    您可以自己构建简单的传感器。 我的博客上有 PNP 和
    发表于 04-28 08:23

    使用延时程序控制LED闪烁和熄灭

      名称:闪烁的LED   软件:proteus 8   keil 4   语言:C 语言   使用说明:本例中,作者使用延时程序,控制
    发表于 04-26 17:32