我已经创建了一个连接到arduino的android应用程序。这个项目非常简单:在应用程序上有一个打开和关闭按钮,分别打开和关闭连接到arduino的led。但我想更进一步...我希望用户能够给出必须经过的时间,直到发光二极管打开…例如,他在他的应用程序中拨打20,20分钟后led灯就亮了……我已经想过使用已经存在的警报应用程序和它们的代码,但是我的知识不足以处理them...Could。你能给我一个更简单的方法来实现我的idea...Is吗?有人知道已经有类似的项目了吗?
欢迎提出任何建议!
发布于 2016-03-06 12:43:27
您可以在延迟一段时间后使用Handler执行代码。
public void turnOnLED(int timeDelay){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Do something after timeDelay ms
}
},timeDelay);
}
run()方法中的代码将在timeDelay之后执行,单位为毫秒
发布于 2016-03-06 13:09:37
如果你用你的应用发送命令,你也可以在你的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
}
}
https://stackoverflow.com/questions/35826494
复制相似问题