saitohiroakiのアイコン画像
saitohiroaki 2021年05月13日作成 (2021年05月13日更新)
製作品 製作品 閲覧数 1542
saitohiroaki 2021年05月13日作成 (2021年05月13日更新) 製作品 製作品 閲覧数 1542

自動車距離センサー&接近アラーム

自動車距離センサー&接近アラーム

実現したいこと

自動車でバックモニターが付いていない車をバックさせたり狭いところに停めようとするときに、不注意で車をこすってしまうことがあります。
そんなときに、このような距離センサーと接近アラームがあれば、うっかりミスが減らせると思いました。
なお、このIoTデバイスはあくまで試験的なもので、このまま実利用はできませんのでご了承ください。

できたもの

車のバンパーに距離センサーを付けて、壁に向かってバックしました。
1mくらい近くなって音が断続的になりはじめ、30cmに近づいて鳴り続けます。

ここに動画が表示されます

準備するもの

部品名 必要量
距離センサー HC-SR04 1個
低電圧メカニカルブザー 3V 1個
USB TYPE-Cケーブル(obniz電源) 1本
4芯ケーブル 4m

ハードウェア接続

部品 接続
距離センサー gnd:0, echo:1, trigger:2, vcc:3
メカニカルブザー signal: 10, gnd: 11

obnizに距離センサーとブザーを取り付ける

プログラム

距離センサー&接近アラームプログラム

<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://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.x/obniz.js" crossorigin="anonymous" ></script> </head> <body> <div id="obniz-debug"></div> <script> var obniz = new Obniz("OBNIZ_ID_HERE"); // called on online obniz.onconnect = async function() { const hcsr04 = obniz.wired("HC-SR04", { gnd: 0, echo: 1, trigger: 2, vcc: 3 }); const speaker = obniz.wired("Speaker", { signal: 10, gnd: 11 }); hcsr04.unit("mm"); var distance = 0; // called while online. obniz.onloop = async function() { distance = await hcsr04.measureWait(); if ( isNaN(distance) == false ) { // 測定が正しい場合(数値かどうかを判断) if (distance <= 300) { // 30cm以下になった場合 speaker.play(5); console.log("Very close to within " + distance + " mm") await obniz.wait(1000); // 長めの音 speaker.stop(); } else if(distance <= 1000){ // 30cm〜1m以下になった場合 speaker.play(20); console.log("Close to within " + distance + " mm") await obniz.wait(500); // 短めの音 speaker.stop(); } } else { // 測定が正しくない場合(数値ではない) console.log("Reset sensor!") hcsr04.reset_alltime = true; // HC-SR04をリセットする。 } }; }; // called on offline obniz.onclose = async function() { }; </script> </body> </html>
1