4

以前、ArduinoキットをBreakoutと同じハードウェアで動作させていましたが、 JohnnyFiveに切り替えたいと思います。私のハードウェアは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 

私はLEDストロボなしでFirmataREPLにまっすぐに行き着き、そしてboard.readyですfalse

board.readyコールバックが起動しない理由について何か提案はありますか?

4

2 に答える 2

8

Windows では、 COM ポートを指定する必要がある場合があります。ファームウェアのフラッシュ中に次のエラーを受け取りました。

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", ...);

于 2014-07-30T00:35:27.793 に答える
6

私は Arduino Uno R3 で johnny-five と同じ問題に遭遇していました。これを修正するには、StandardFirmata を更新する必要がありました。

  1. 最新のArduino ソフトウェアをダウンロードします(執筆時点では 1.0.2)。
  2. Arduino アプリケーションをインストールして開く
  3. Arduinoをコンピューターに接続します(USB経由)
  4. メニューで、[ファイル] > [例] > [Firmata] > [StandardFirmata] を選択します。
  5. アップロードボタンを押します

それが完了すると、firmata を使用してボードに接続でき、準備完了イベントが期待どおりに発生しました。Arduino を動作させるには、すべての Arduino で同じプロセスを実行する必要がありました。

于 2012-11-10T19:28:46.663 に答える