編集履歴一覧に戻る
saitohiroakiのアイコン画像

saitohiroaki が 2021年05月13日10時26分50秒 に編集

初版

タイトルの変更

+

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

タグの変更

+

自動車

+

距離センサー

+

obnizIoTコンテスト

+

接近アラーム

+

obnizBoard1Y

メイン画像の変更

メイン画像が設定されました

本文の変更

+

**1.実現したいこと** 自動車でバックモニターが付いていない車をバックさせたり狭いところに停めようとするときに、不注意で車をこすってしまうことがあります。 そんなときに、このような距離センサーと接近アラームがあれば、うっかりミスが減らせると思いました。 なお、このIoTデバイスはあくまで試験的なもので、このまま実利用はできませんのでご了承ください。 **2. できたもの** 車のバンパーに距離センサーを付けて、壁に向かってバックしました。 1mくらい近くなって音が断続的になりはじめ、30cmに近づいて鳴り続けます。 [動画](https://www.youtube.com/watch?v=KNbNNMqwmbg) **3. 準備するもの** [obnizBoard1Y ](https://obniz.com/ja/products/obnizboard)        1個 [距離センサー HC-SR04](https://obniz.com/ja/sdk/parts/HC-SR04/README.md)     1個 [低電圧メカニカルブザー 3V](https://www.amazon.co.jp/Cewaal-1-5V-3V-VDC-DC-70DB%E4%BD%8E%E9%9B%BB%E5%9C%A7%E3%83%A1%E3%82%AB%E3%83%8B%E3%82%AB%E3%83%AB%E3%83%96%E3%82%B6%E3%83%BC/dp/B075H9P5JS)  1個 USB TYPE-Cケーブル    1本(obnizBard1Yの電源) 4芯ケーブル         3m **4. ハードウェア接続** ![obnizに距離センサーとブザーを取り付ける](https://camo.elchika.com/784142405831b7e54ffc1f1334d2e214d9a50c78/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f35653731393939342d336364662d343835312d396332312d3438646532663065363966632f39646463616235662d636633652d346238622d616666632d633837343466366634666530/) **5. プログラム** ```:距離センサー&接近アラームプログラム <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){ // 20cmを超え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> ```