makoragi が 2021年05月13日14時52分31秒 に編集
初版
タイトルの変更
黙って帰らせないず
タグの変更
obniz
クラッピーチャレンジ
メイン画像の変更
本文の変更
## これは何か 帰宅時にドアを開けて「ただいま」と言うためのシステムです。 子供が学校から帰宅したとき、家に誰も居なくても「ただいま」と言うのは、防犯上とても大事だそうです。 この癖をつけさせたいです。 ドアが開いたときに警告音が鳴り、「ただいま」を言うまで鳴り続けます。 注)出かけるときにも鳴ってしまうので要改善です ## デモ動画 https://www.youtube.com/embed/8Vyk8O1WVVY ## 設置イメージ  ## 使用部品 | 部品名 | 個数 | |:---:|:---| | obniz Board 1Y | 1 | | ドアセンサー | 1 | | サーボモータ(SG90) | 1 | | クラッピー | 1 | | iPhone | 1 | ## 製作プロセス ### 設計図  ### ソースコード ```javascript: const obniz = new Obniz("OBNIZ_ID_HERE"); const vth = 4; let angle_list = [45, 0]; let isOpened = false; let isStopped = true; obniz.onconnect = async function () { const servo = obniz.wired("ServoMotor", { signal: 3, vcc: 4, gnd: 5 }); SpeechRecognition = window.webkitSpeechRecognition || window.SpeechRecognition; const recognition = new SpeechRecognition(); recognition.interimResults = true; recognition.onresult = async (event) => { document.getElementById("voice").innerHTML = event.results[0][0].transcript; if (event.results[0][0].transcript == "ただいま") { servo.angle(0); isStopped = true; } }; while (true) { if (!isStopped) { for (let i = 0; i < angle_list.length; i++) { servo.angle(angle_list[i]); await obniz.wait(150); } } if ((await obniz.ad0.getWait()) < vth) { if (!isOpened) { document.getElementById("voice").innerHTML = "Open!"; recognition.start(); isOpened = true; isStopped = false; } } else { document.getElementById("voice").innerHTML = "Closing..."; // recognition.stop(); isOpened = false; } await obniz.wait(200); } }; ```