首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Javascript的PIR传感器检测值设置为0的时间

使用Javascript的PIR传感器检测值设置为0的时间
EN

Stack Overflow用户
提问于 2015-08-10 02:36:17
回答 2查看 30关注 0票数 0

我正在使用PIR传感器来检测我的环境中的运动。当有运动时,PIR传感器将值1发送到控制台。一旦检测到没有运动,每秒钟就会通过setInterval()多次到达0。现在,在那个时间点,我想要检测出0已经有多长时间了,然后在10分钟时做一些事情。我正在考虑在运动开始时做一次new Date().getMinutes();,然后在运动停止时再做另一次运动,并比较这两种情况。我在正确的轨道上吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-10 02:53:29

最后,我在setInterval()之外添加了一个setInterval(),并在if (myDigitalValue === 0)循环中保留了i++,直到它达到了我所寻找的秒数,并且它等于我运行了一个方法。

票数 0
EN

Stack Overflow用户

发布于 2015-08-12 23:08:44

(new Date()).getMinutes()将返回当前时间的“分钟”部分,即分钟指针指向时钟的位置。您可能想要的是自某一特定点以来已经过去的绝对时间。幸运的是,有一种简单的方法可以确定日期对象(或其中两个)的时间差:

代码语言:javascript
运行
复制
begin = new Date();
. . . time passes . . .
end = new Date();
timeDiffInMilliseconds = end - begin;

换句话说,当您从另一个Date对象中减去一个对象时,您将得到以毫秒为单位的时间差(多态运算符的万岁)。

这样做的一个好处是,如果您想改变测试的频率或时间长度,则只需更改相关的测试频率。使用您所描述的循环,两者不必要地结合在一起,这可能更容易出错。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31910905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档