🐥

2つの距離センサーGP2Y0A21で距離をobnizで計測する

2022/12/25に公開

購入した距離センサーの使い方メモ

距離センサー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つのセンサーを背中合わせにすると前後の距離を同時に計測することができそうです。この仕組みをつかって何か作りたいと思います。

参考

スクリプト作成に参考にさせて頂いたサイトです。

https://blog.obniz.com/blog/infrared-distance-sensor-gp2y0a21yk0f.html

余談

配線し易いようセンサー付属のコードにハンダで別のコードを接続しました。ハンダ付けの際に活躍したのが以前つくったこの固定台でした。

https://note.com/agw/n/n6098e27129e6

Discussion