首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用arduino中的函数启动计时器

使用arduino中的函数启动计时器
EN

Stack Overflow用户
提问于 2013-10-04 20:47:45
回答 2查看 1.1K关注 0票数 0

我有一个项目来控制我的投影仪通过RS-232命令,投影仪发送反馈给arduino。因此,我有一个带有按钮的液晶显示屏。为了使它更好,我有一个超声波测距仪,我想使用,以便当你接近设备,液晶背光打开30秒,然后关闭。我不能使用延迟,因为我需要继续轮询按钮和从投影仪的串行信息。

有一些社区库,如Timer.h和SimpleTimer.h,但它们只做振荡,等等。

我想做的是:

代码语言:javascript
复制
distance = measureUltrasonicDistance(ultrasonicPin); //returns in cm
if (distance <= 10) {
    //digitalWrite(baclkightPin,HIGH);
    //have this turn off 30 seconds later
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-05 15:48:47

这似乎是事件熔断器库的典型应用程序。

票数 1
EN

Stack Overflow用户

发布于 2013-10-05 03:01:34

首先要实现的是循环()被连续调用,您可以使用“看门狗”模式来保持灯不使用计时器。

代码语言:javascript
复制
unsigned long timeoff;

void setup() {

   timeoff = millis();

}

void loop() {

   distance = measureUltrasonicDistance(ultrasonicPin); //returns in cm
   if (distance <= 10) {
       digitalWrite(baclkightPin,HIGH);

       // compute boundary of when light should be off
       timeoff = millis() + 30L*1000L;   
   }

   if (timeoff < millis()) {

      digitalWrite(backlightPin, LOW);

   }

}

希望这有帮助,如果有什么问题请告诉我。

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

https://stackoverflow.com/questions/19190520

复制
相关文章

相似问题

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