首先,我不是在寻找确切的代码,只是帮助创建一个算法。我们走了......
我有一个带有以太网屏蔽的arduino,设置为每隔几分钟发出一次HTTP请求。对该请求的响应是一个简单的JSON数组{"new":0}
或{"new":1}
我不会详细介绍,但基本上,我在Web上有一个事情,当更新时,这个JSON数组变为1,当更新已被确认,即用户登录到后端,JSON数组变回0。
我需要arduino做的是当JSON数组等于1时,打开和关闭LED,直到JSON数组再次等于0。
我遇到的问题是,设计一种能够淡化LED同时继续发送HTTP请求的算法。
答案 0 :(得分:0)
基本的伪代码大纲如下:
int PWM;
int minute_ctr;
loop()
{
if (minute_ctr > 1000)
{
minute_ctr = 0;
check HTML page for 1/0
}
if (page == 1)
PWM++;
set PWM for LED (analogWrite) change direction when PWM = 0 or 255
else
set LED off
end if
delay(10)
minute_ctr += 10;
}
您需要填写所有详细信息。
答案 1 :(得分:0)
我建议看看Simple Timer Library它基本上会像@JackCColeman建议的那样,但是以更清洁/更简单的方式,在幕后。类似于@Morrison Chang的打断,建议。
#include <SimpleTimer.h>
SimpleTimer timer;
// a function to be executed periodically
// by the below timer.run in the main loop
void change_pwm() {
if (page == 1)
PWM++;
set PWM for LED (analogWrite) change direction when PWM = 0 or 255
else
set LED off
end if
}
void setup() {
Serial.begin(9600);
timer.setInterval(10, change_pwm);
}
void loop() {
timer.run();
//...along with all the other stuff.
}