我以前让我的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.ready
是false
。
为什么board.ready回调不会被解雇的任何建议?
答案 0 :(得分:8)
在Windows上,有时您必须指定哪个 COM端口。闪烁firmata时收到以下错误:
avrdude: stk500_getsync(): not in sync: resp=0x00
将Arduino UI更改为指向另一个COM端口(在我的情况下为COM4)
工具 - >串行端口 - > COM4
将此添加到您的johnny-five启动代码中:
var five = require("johnny-five");
board = new five.Board({
port: "COM4"
});
board.on("ready", ...);
答案 1 :(得分:6)
我在使用johnny-five的Arduino Uno R3上遇到了同样的问题。为了解决这个问题,我不得不更新StandardFirmata。
完成后,我可以使用firmata连接到电路板,并按预期触发就绪事件。我必须和我所有的Arduinos一起做同样的过程才能让他们工作。