在指定时间内重复眨眼素描
Repeat blink sketch for a specified time
我需要有关 Arduino 草图的帮助,我想重复闪烁草图指定的时间(例如 3 分钟),然后停止。
据我们所知,loop() 一直在运行永远这不是我想要的。我有什么想法可以实现这一点,使 LED 闪烁 X 分钟然后停止?
您或许应该使用一些计时器库。实现您想要做的事情的一种简单(也许是天真的)方法是使用一个布尔值,该布尔值在 3 分钟过去后设置为 0,或者简单地在计时器过去后将 LED 数字写入低电平。
检查此 link:
http://playground.arduino.cc/Code/Timer
我建议你使用int after(long duration, callback)
。
下面是一个(非常)简单的示例,说明您可能如何做:
#include "Timer.h"
Timer t;
LED = 1;
void setup() {
int afterTime = t.after(180000, cancelLED);
}
void loop() {
t.update();
if(LED) {
//The "write HIGH" statement in your sketch here.
}
else {
//Write the led to LOW
}
}
void cancelLED() {
LED = 0;
}
我自己没有使用过这个库,我只是查看了文档并写了一个例子来给你一些想法。不要期望它会立即起作用。
我需要有关 Arduino 草图的帮助,我想重复闪烁草图指定的时间(例如 3 分钟),然后停止。
据我们所知,loop() 一直在运行永远这不是我想要的。我有什么想法可以实现这一点,使 LED 闪烁 X 分钟然后停止?
您或许应该使用一些计时器库。实现您想要做的事情的一种简单(也许是天真的)方法是使用一个布尔值,该布尔值在 3 分钟过去后设置为 0,或者简单地在计时器过去后将 LED 数字写入低电平。
检查此 link: http://playground.arduino.cc/Code/Timer
我建议你使用int after(long duration, callback)
。
下面是一个(非常)简单的示例,说明您可能如何做:
#include "Timer.h"
Timer t;
LED = 1;
void setup() {
int afterTime = t.after(180000, cancelLED);
}
void loop() {
t.update();
if(LED) {
//The "write HIGH" statement in your sketch here.
}
else {
//Write the led to LOW
}
}
void cancelLED() {
LED = 0;
}
我自己没有使用过这个库,我只是查看了文档并写了一个例子来给你一些想法。不要期望它会立即起作用。