超音波距離センサーの距離を表示しよう
スターターキットにある超音波距離センサーから対象物とセンサーの距離を取得してみましょう。
ドキュメントは https://obniz.com/ja/sdk/parts/HC-SR04/README.md にあります。
このように、GND を 0 番ピンに合わせて挿しこみます。
しっかり最後まで差し込みましょう。
エディタに反映
こちらを以前の内容は、すべて選択して消してから、エディタの内容を上書きします。
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@3.24.0/obniz.js" crossorigin="anonymous"></script>
</head>
<body>
<h1>Hello obniz!!!</h1>
<div id="obniz-debug"></div>
<script>
// 今回の obniz を指示するための設定
const obniz = new Obniz("OBNIZ_ID_HERE");
// 接続後、ディスプレイに指示を出して、センサー取得
obniz.onconnect = async function () {
console.log("[distance]");
// ディスプレイ表示
obniz.display.clear();
obniz.display.print("[distance]");
const hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3});
// 1秒ごとチェック
obniz.onloop = async function () {
// 距離取得
const distanceMM = await hcsr04.measureWait();
// 小数点切り捨て + mm から cm に変換
const distanceCM = Math.floor(distanceMM / 10);
console.log(`${distanceCM} cm`);
// ディスプレイ表示
obniz.display.clear();
obniz.display.print(`${distanceCM} cm`);
// 1秒ごと待つ
await obniz.wait(1000);
}
}
</script>
</body>
</html>
動かしてみる
右上の実行ボタンをクリックして、実行してみましょう。
Obniz ID を確認して Connect をクリックします。
起動時は、おそらく天井や遠くの壁に跳ね返って長めの距離が表示されています。
手をかぶせると、センサーと対象物(手)になるので距離が短くなるはずです。
終了する
右上の終了ボタンをクリックします。
終了をすると obniz が処理待ちに戻ります。