0

如何使用 API 在 javascript 中循环johnny-five/arduino。这个循环是为了延迟on/off到我的领导。例子:

while(true){
    while(time<1500){
        'led off'
    }
    while(time<1500){
        'led on'
   }

}

我的实际代码如下。我删除了标题http and otherslisten最后。

arduino 或登机:

arduino.on('ready', function(){
  console.log("Arduino Pronto");

  led0 = new five.Led(13);
  led1 = new five.Led(12);
  led2 = new five.Led(11);

  this.digitalRead(10, function(value) {
    console.log(value);
  });
});

服务器功能:

  function servidor(req, res){
  var url = req.url;
  if(url == '/'){
    res.writeHead(200);
    res.end(fs.readFileSync('view/index.html'));
  }else if(url == '/led0'){
    res.writeHead(302, {'Location': '/'});
    res.end();
    led0.toggle();
  }else if(url == '/led1'){
    res.writeHead(302, {'Location': '/'});
    res.end();
    led1.toggle();
  }else if(url == '/led2'){
    res.writeHead(302, {'Location': '/'});
    res.end();
    led2.toggle();
  }else{
    res.writeHead(200);
    res.end("<h1>Erro 404</h1>");
  }

};

这是可能的?

4

1 回答 1

1

您可以使用setTimeout单个延迟或setInterval重复延迟来延迟 LED:

setInterval(() => {
  led.toggle();
}, 1500);

这是一个异步延迟。如果您需要同步延迟,您可以使用sleep包或使用execSyncNode child_process模块:execSync("sleep 1.5").

于 2016-10-25T23:52:39.290 回答