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