×

床灯下的运动感应开源分享

消耗积分:0 | 格式:zip | 大小:0.03 MB | 2022-11-07

分享资料个

描述

曾经试图在晚上安静地起床,结果却被什么东西绊倒,把整个房子都吵醒了?小心地安装在床下的运动感应夜灯可提供足够明亮的低光,引导您绕过那些散落的乐高积木,但又足够暗,因此您不会完全醒来。除了感应运动外,还可以在固定(或不确定)的时间长度内将灯光编程为您选择的颜色。它们为任何卧室增添了凉爽的光芒和氛围。借助一些基本套件、一些额外的配件以及我们的 T3ch Flicks 教程和视频,您可以在几个小时内相对轻松地安装这些灯。

第 1 步:测量床

将床翻转到一侧,以便轻松够到底座。为控制箱找一个合适的位置,我们选择了靠近床头的稍高的区域(见图)。测量床的周长及其长度和宽度(见图)。记下您的测量值。确定三个传感器的位置。您需要一个面向不靠墙的床的三个侧面中的每一个。我们选择了靠近床边但不可见的位置。测量传感器位置到控制箱的距离。

 
pYYBAGNoeNqAH-F1AACU64PNDug455.jpg
 

第 2 步:剪断电线和 LED 灯条

将 LED 灯条切割到床周边的长度。接下来,切断电线:每个传感器需要三个,LED 灯条需要三个,每个都通向控制箱 - 总共 12 个。取三段不同颜色的线,剪成合适的尺寸。我们使用黄色、绿色和橙色——公认的惯例是红色代表电源,黑色代表接地,另一种(粗体)颜色代表信号。只要您知道哪种颜色,您使用哪种颜色并不重要。

第 4 步:将电缆焊接到运动传感器

我们将运动传感器安装在 3D 打印的外壳中(您可以在下面找到文件链接)。拥有这些并不是完全必要的,但它们使传感器更整洁,更容易放在床底。如果您使用的是 3D 打印的外壳,请先将三根不同颜色的电线穿过盖子。运动传感器具有三个不同的引脚:接地 (GND)、电源 (VCC) 和信号 (S)(如上所示)。如上图所示握住传感器(即,模块底部边缘的引脚),将三种不同颜色的电线连接到各自的引脚并将它们焊接到位。然后,使用热收缩覆盖电线。对三个传感器中的每一个切割的电线重复此操作。将运动传感器的圆顶推入主外壳上的孔。它应该点击到位。结案,

 
poYBAGNoeN-ARhfvAAA582cJgyk901.png
 
 
pYYBAGNoeOGAWQfIAAA1xkZYkK4552.png
 

第 5 步:连接 LED 灯条

LED 灯条具有三个相同的连接:电源、信号和接地 - 除了信号引脚是输入。这些 LED 接收来自 Arduino 的指令,每一个都是可寻址的。我们可以改变颜色(RGB)和亮度。将三根彩色电线焊接到 LED 灯条上,这些将用于稍后连接到 Arduino。

 
pYYBAGNoeOSAbMzIAAA5vjpru_c102.png
 

第 6 步:电源开关

如果您使用的是 3D 打印控制箱,则需要安装电源开关并将其连接到电线上。首先,确保插头末端没有任何东西,如果有,请将其切断。将电线穿过盒子前面的孔,然后再次穿过紧挨着它的开关的孔。剥去 AC 线的外壳,以便可以看到 10 厘米的三根内线(火线、零线和接地线)。然后,剪掉 8 厘米长的火线(红色)和零线(蓝色)线,留待以后使用。使用交流插头线末端的剩余 2 厘米,将火线(红色)和零线(蓝色)焊接到底部两个插脚的开关上(如图所示)。下一个,将您之前剪下的 8 厘米长的火线(红色)和零线(蓝色)线焊接到开关顶部的两个插脚上(如图所示) - 这些线将连接到控制器内的电源盒盒子。首先拉出电线,将开关推入盒子中的孔中。

 
poYBAGNoeOeAGQ2WAABfONDlGRg831.png
 
 
pYYBAGNoeOqAUkRCAAB0FlwwAxs497.png
 

第 7 步:连接电源

将电源放入盒子中,使接线点朝向开关。将开关的火线(红色)和零线(蓝色)连接到电源上的火线和零线连接点(分别标记为 l 和 n)。电源上的连接点是螺钉,一旦电线就位,请确保这些连接点拧紧。

 
pYYBAGNoeOyAIry4AADDfXumb3Y117.png
 

第 8 步:连接 Arduino

电源具有 5V 和接地的输出连接(见图)。拿起 Arduino 并剪下大约 8 厘米长的电源线(通常为红色,但无论您使用哪种颜色)。通过将电源线的一端拧入“5V”连接点并将另一端焊接到 Arduino 上的“VIn”,将 Arduino 连接到电源。使用接地线(黑色或您选择的任何颜色)重复此过程,连接电源和 Arduino 上的“GND”。

 
poYBAGNoeO6AetU9AABZWpqjmME736.png
 
 
poYBAGNoePGAWb0LAADerg8Ra5w657.png
 

第 9 步:将 LED 灯条连接到电源和 Arduino

将 LED 灯条的电线穿过盒子中剩余的空孔。剥去 LED 灯条的电源线和地线。将电源(红色)线连接到电源的“5V”连接点(Arduino 已连接到此),将接地(黑色)线连接到电源“GND”连接点(Arduino 已连接到此,也)。将 LED 灯条的信号线焊接到 Arduino 的数字引脚 9。

第 10 步:将运动传感器连接到 Arduino

将运动传感器的电线(总共 9 条)穿过 LED 灯条电线所在的孔。将三根电源线焊接到 Arduino 的 +5V,将地线焊接到 Arduino 的地线,并将各个信号线焊接到 Arduino 引脚 10、11 和 12。

第 11 步:对 Arduino 进行编程

下载下面名为“motion_sensing_lights.ino”的代码。然后,使用此处的 Arduino 软件可下载表格,将代码上传到您的 Arduino 模块。如果您不确定如何执行此操作,请查看此处。代码非常简单:它会不断检查运动传感器是否输出信号,如果是,则启动计时器并打开 LED 灯条以发光,保持亮着一分钟,然后发光下来。

第 11 步:上床

关闭控制箱 - 它外面唯一的东西应该是 LED 灯条和交流插头。将盒子贴在您选择的位置的床底 - 我们使用强力双面胶带做到这一点。然后,使用双面胶带将运动传感器连接到床底。运动传感器应沿着床的三个侧面朝外,而不是沿着墙壁。接下来,将 LED 灯条安装在床的周围。虽然 LED 灯条有一个粘性背面,但这不足以支撑它的重量。因此,我们使用塑料线夹将其固定在床底。插上电源并打开控制箱,然后将床正确向上转动。

 
poYBAGNoePWANtVKAABqHyd8sfU291.png
 
 
pYYBAGNoePeAW6h3AABQU34_4uc945.png
 

第 12 步:调整、测试和欣赏

测试您的运动感应床下照明。您可以通过将螺丝刀穿过外壳顶部的孔并扭转灵敏度电阻来调整运动传感器的灵敏度。

 
poYBAGNoePmAUWBBAABtbxlqkJ4248.png
 

第 13 步:更进一步

使用 ESP8266 模块(亚马逊)而不是 Arduino,可以通过将 LED 灯条链接到开源家庭自动化平台Home Assistant来用手机或 Alexa 控制 LED 灯条已经有一个关于如何做到这一点的很棒的教程,你可以在这里找到它

第14步:如果你不能被打扰

该产品已经存在,您可以在此处从亚马逊购买但这有什么好玩的?!

 


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'床灯下的运动感应开源分享',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);