Johnny-five导致延迟

时间:2016-10-25 23:40:15

标签: javascript arduino johnny-five

如何使用API​​ johnny-five/arduino循环javascript。这个循环是将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>");
  }

};

可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用setTimeout延迟LED延迟一次,或setInterval延迟重复延迟:

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

这是异步延迟。如果您需要同步延迟,则可以使用sleep包或使用节点execSync模块中的child_processexecSync("sleep 1.5")