在给定时间后打开arduino上的led连接

时间:2016-03-06 11:49:37

标签: android android-studio time timer arduino

我创建了一个连接到arduino的Android应用程序。该项目非常简单:在应用程序上有一个开关按钮,分别打开和关闭一个连接到arduino的LED ......但我想更进一步...我喜欢用户能够给出必须通过的时间,直到指示灯开启......例如,他在他的应用程序中拨打20,并在20分钟后开启指示灯...我已经考虑使用已经存在的警报应用程序和他们的代码,但我的知识不足以处理它们...你能否建议我一个更简单的方法来实现我的想法...是否有人知道已经存在类似的项目?

任何建议都表示赞赏!!!

2 个答案:

答案 0 :(得分:0)

您可以在延迟一段时间后使用Handler执行代码。

public void turnOnLED(int timeDelay){

  new Handler().postDelayed(new Runnable() {
     @Override
     public void run() {
        // Do something after timeDelay ms
     }
  },timeDelay);

}

run()方法中的代码将在timeDelay(以毫秒为单位)

之后执行

答案 1 :(得分:0)

如果您使用应用程序发送命令,也可以在Arduino上启动计时器。一个简单的方法是:

#define MAX_UNSIGNED_LONG 4294967295
unsigned long StartTime = MAX_UNSIGNED_LONG;
unsigned long DelayTime = 10000; //Your delay in ms

loop
{
  //Receive Commando from app ... your code here:
  //To start your "timer": StartTime = millis()
  //Stop it with: StartTime = MAX_UNSIGNED_LONG;

  //Check if your time is elapsed here:
  unsigned long ActualTime = millis();
  if (ActualTime > StartTime && ActualTime - StartTime >= DelayTime)
  {
    //Tur on your Light here
  }
}