Arduino資料一覧

Node.jsで超音波距離センサー(HC-SR04)の値を読み取る

2017/01/23更新

対応バージョン: Node.js 4.2.6, Johnny-Five 0.10.6

Node.jsでArduino Unoにつないだ超音波距離センサー(HC-SR04)の値を読み取る。

Node.jsを動かす母艦はUbuntu 16.04とする。

PingFirmata書き込み

HC-SR04の値を読み取るのにJohnny-Fiveを使用する場合、標準のFirmataでは動作しないので以下の手順でPingFirmataをArduinoに書き込む。

% wget https://gist.githubusercontent.com/rwaldron/0519fcd5c48bfe43b827/raw/f17fb09b92ed04722953823d9416649ff380c35b/PingFirmata.ino
% arduino --upload PingFirmata.ino 

結線

Arduino IDEのスケッチでなくJohnny-Fiveを使用する場合、4つのピンのうちTrig(出力)とEcho(入力)はまとめてよい。VccとGndはそれぞれ5VとGNDに接続する。

ソース

以下のようなコードを書きNode.jsで実行する。

echo.js
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var proximity = new five.Proximity({
    controller: "HCSR04",
    pin: 7
  });

  proximity.on("change", function() {
    console.log(this.cm + " cm");
  });
});
実行
% node echo.js
1485094276071 Device(s) /dev/ttyACM0  
1485094276078 Connected /dev/ttyACM0  
1485094279831 Repl Initialized  
>> 277.388 cm
277.835 cm
277.904 cm
277.027 cm
:
(障害物を近づけた時)
13.093 cm
11.684 cm
12.519 cm
:

関連資料・記事

参考サイト