约翰尼五:董事会没准备好

时间:2012-07-01 14:52:58

标签: node.js arduino johnny-five

我以前让我的Arduino套件使用Breakout在相同的硬件上工作,但是想切换到Johnny Five。我的硬件连接了http://weblog.bocoup.com/javascript-arduino-programming-with-nodejs/的简单单LED布局,但运行基本的LED选通演示不能按预期工作:

var five = require("johnny-five"),
    board, led;

board = new five.Board();

board.on("ready", function() {
  console.log('ready');
  led = new five.Led(13);
  led.strobe(100);
});

返回:

1341154189666 Board Connecting... 
1341154189697 Serial Found possible serial port cu.usbmodem621
1341154189699 Board -> Serialport connected cu.usbmodem621
1341154191570 Repl Successfully Connected 

我最终直接进入Firmata REPL而没有LED频闪,而board.readyfalse

为什么board.ready回调不会被解雇的任何建议?

2 个答案:

答案 0 :(得分:8)

在Windows上,有时您必须指定哪个 COM端口。闪烁firmata时收到以下错误:

avrdude: stk500_getsync(): not in sync: resp=0x00
  1. 将Arduino UI更改为指向另一个COM端口(在我的情况下为COM4)

    工具 - >串行端口 - > COM4

  2. 将此添加到您的johnny-five启动代码中:

    var five = require("johnny-five"); board = new five.Board({ port: "COM4" }); board.on("ready", ...);

答案 1 :(得分:6)

我在使用johnny-five的Arduino Uno R3上遇到了同样的问题。为了解决这个问题,我不得不更新StandardFirmata。

  1. 下载最新的Arduino software(撰写1.0.2时)
  2. 安装并打开Arduino应用程序
  3. 将Arduino连接到电脑(通过USB)
  4. 在菜单中,选择文件>例子> Firmata> StandardFirmata
  5. 按上传按钮
  6. 完成后,我可以使用firmata连接到电路板,并按预期触发就绪事件。我必须和我所有的Arduinos一起做同样的过程才能让他们工作。