🐥
2つの距離センサーGP2Y0A21で距離をobnizで計測する
購入した距離センサーの使い方メモ
距離センサーGP2Y0A21を買ったので、このセンサーを使って距離を計測する簡単なスクリプトを作りました。2つの距離センサーの計測結果を表示するスクリプトです。
配線
電源(VCC)とGNDはまとめて、出力電圧(SIGNAL)のみ別にしました。
実際の配線はこのようになりました。
スクリプト
obniz_GP2Y0A21x2.html
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/obniz@3.3.0/obniz.js" crossorigin="anonymous"></script>
</head>
<body>
<!-- obnizデバッグ表示 -->
<div id="obniz-debug"></div>
<!-- センサ距離表示 -->
<p>距離センサ「GP2Y0A21YK0F」<BR />
距離センサ①_<span id="text-distance">000</span>mm<BR />
距離センサ①_<span id="text-distance2">000</span>mm
</p>
<script>
// Obnizクラスのインスタンス化
const obniz = new Obniz("OBNIZ_ID_HERE");
// obnizオンライン
obniz.onconnect = async function () {
// 距離センサ「GP2Y0A21YK0F」の定義
const sensor = obniz.wired("GP2Y0A21YK0F", { vcc:0, gnd:1, signal:2 });
const sensor2 = obniz.wired("GP2Y0A21YK0F", { vcc:0, gnd:1, signal:3 });
// 計測処理
while (1) {
let distance = await sensor.getWait();
let distance2 = await sensor2.getWait();
document.getElementById("text-distance").innerHTML = distance;
document.getElementById("text-distance2").innerHTML = distance2;
await obniz.wait(1000);
}
};
</script>
</body>
</html>
実行
スクリプト実行するとこのように2つの距離センサーの計測値が表示されます。計測値は1秒ごとに更新されます。
使えそうです
このように2つのセンサーを背中合わせにすると前後の距離を同時に計測することができそうです。この仕組みをつかって何か作りたいと思います。
参考
スクリプト作成に参考にさせて頂いたサイトです。
余談
配線し易いようセンサー付属のコードにハンダで別のコードを接続しました。ハンダ付けの際に活躍したのが以前つくったこの固定台でした。
Discussion