×

LED闹钟开源项目

消耗积分:0 | 格式:zip | 大小:3.06 MB | 2023-06-26

无人岛

分享资料个

描述

对于我的 PCL 课程的一个项目,我被告知要在我的房子里自动化一些东西。我想了想,决定让我房间里的 LED 灯自动化来做一些事情。当我做这个项目时,我想学习一些新东西。我决定将我的 LED 灯变成我眼睛的闹钟,当您设置闹钟响起的时间时,它就会响起。我还决定使用世界时钟 API 获取时间。

它是如何工作的

该项目的工作原理是将 Particle Argon 连接到 LED 灯,当闹钟响起的时间到了时,LED 将闪烁不同的颜色,直到闹钟关闭。该项目是使用 Alexa 激活的,当触发“Alexa 触发闹钟”时,该项目每分钟都会使用从 API 获取时间,如果时间等于代码中设置的时间, LED 将开始闪烁。要关闭 LED,需要说出触发器“Alexa 触发闹钟关闭”。

示范

 
 

接线步骤

 
 
 
poYBAGPjTeOAEg7oABF3rBWHJho952.jpg
 
1 / 8将 MOSFET 添加到面包板,并将电阻从负电源轨跨过中央分压器连接到与 MOSFET 栅极端子相同的行
 

脚步

  • 按照给出的接线步骤进行操作,以允许 Particle Argon 使用 LED
  • 将代码上传到您的 Particle Argon
  • 在 IFTTT 中创建小程序
  • 在 Particle Console 中创建 webhook

IFTTT

我使用 IFTTT 连接到我的 Alexa,当说出触发短语时,

您需要为 Alexa 创建自己的小程序才能触发您的氩气。当您创建小程序时,请确保您的 argon 已打开并且您已将代码上传到您的 argon。单击“IF THIS”旁边的“添加”并搜索 Amazon Alexa。点击“说一个特定的短语”并选择你想说的短语来触发 Alexa。

pYYBAGPjTeaAdeaaAABU4nAGsb8280.png
 

然后你需要点击“THEN THAT”,点击你的函数名称并将输入留空。

poYBAGPjTeiATajBAAC1aYS8bVo123.png
 

时间API

您将需要创建一个将使用时间 API 的 Webhook。

单击此链接https://www.timeapi.io/swagger/index.html ,然后单击 /api/Time/current/zone,然后单击试用。

pYYBAGPjTeuAOqLQAADweTC0l70053.png
 

您需要将“欧洲/阿姆斯特丹”更改为您居住或居住的每个国家/城市。单击执行并保存提供给您的请求 URL。

您需要在粒子控制台中创建一个新的 webhook,除非您住在不同的区域,否则它看起来应该与图像相同。

poYBAGPjTfGAQLNOAABYtv3TD2Q112.png
 

对于高级设置,所有需要添加的内容如下所示。(将 America/Chicago 更改为您之前输入的内容以获取 URL)

pYYBAGPjTf-Af9WfAABF1hvfXk8281.png
 

然后创建 webhook,当您在粒子控制台中打开事件时单击测试,您应该得到类似这样的结果。

pYYBAGPjc5yAScxqAADg_SiweFc250.png
 

您可能面临的挑战

如果您在从 API 获取数据时遇到问题,请使用粒子控制台并使用 webhook 上的测试按钮查看返回的信息。


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

评论(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.obk20.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:'LED闹钟开源项目',//标题 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.obk20.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);