0

首先,我不是在寻找确切的代码,只是在寻找创建算法的一些帮助。开始了...

我有一个附加了以太网屏蔽的 arduino,它设置为每隔几分钟发出一次 HTTP 请求。对该请求的响应是一个简单的 JSON 数组{"new":0},或者{"new":1}我不会详细介绍,但本质上,我在网上有一个东西,当更新时,这个 JSON 数组更改为 1,并且当更新得到确认时,即用户日志进入后端,该 JSON 数组变回 0。

我需要 arduino 做的是当 JSON 数组等于 1 时,使 LED 淡入淡出,直到 JSON 数组再次等于 0。

我遇到的问题是设计一种算法,使 LED 褪色,同时继续发送 HTTP 请求。

4

2 回答 2

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.
}
于 2013-08-15T13:44:38.513 回答
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;
}

您将需要填写所有详细信息。

于 2013-08-15T07:16:24.200 回答