ironikot が 2021年04月28日17時59分16秒 に編集
コメント無し
本文の変更
# はじめに せっかく洗濯して干したのに、外出中に雨で濡れてしまった...!:sob: こんな経験ありませんか? 最近ゲリラ豪雨も多いので、突然雨が降ることもありますよね。 そんなイライラを解決するものを作ってみました😀 # デモ動画
実際の動作と構成を[ご確認](https://www.youtube.com/watch?v=liLyFrvxNTQ)ください。
実際の動作と構成をご確認ください。
@[youtube](https://www.youtube.com/watch?v=liLyFrvxNTQ) # 必要な物 | 品目 | 個数 | | ------------ | ------------ | | obniz Board 1Y | 1 | | マイクロサーボ SG-5010 | 1 | | 土壌湿度センサー | 1 | | ジャンプ線 | 6 | | モバイルバッテリー | 1 | | 充電ケーブル | 1 | | 長いレゴブロック | 2 | | 結束バンド (25㎝)| 15? | | 万力(2kgほどのもの) | 1 | | 伊右衛門2L | 1 | | 紐3m | 1 | | 食品トレー | 1 | | 薄型スパナ(100円) | 1 | | 蓋つきの箱 | 1 | | ゴミ袋 | 2 | | ガムテープ | 1 | # 構成図 構成は下記のようになっています。 (伊右衛門でなくても動きます)  # コード (もうちょっとちゃんと書けというのは言いっこなしでお願いします😇) 処理自体は、シンプルです。 ・無限ループで土壌湿度センサーの値を取ります。 ・もしも閾値を超えていた場合は、サーボモーターを動かし、ループを抜けます。 ・サーボモーターは目いっぱい動かすために0~180度を設定しています。 ```arduino:土壌湿度センサー+サーボモーター <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.14.0/obniz.js" crossorigin="anonymous" ></script> </head> <body> <div id="obniz-debug"></div> <h3>Connect From Your Browser</h3> <div id="print"></div> <script> var obniz = new Obniz("<YOUR ID>"); obniz.onconnect = async function () { var moistureSensor = obniz.wired("SEN0114", { vcc: 0, gnd: 1, output: 2 }); while (true) { var moistureLevel = await moistureSensor.getHumidityWait(); console.log(moistureLevel); if(moistureLevel >= 1){ //[memo]:閾値は仮置き var servo = obniz.wired("ServoMotor", { gnd: 3, vcc: 4, signal: 5 }); await obniz.wait(3000); await servo.angle(180); await obniz.wait(3000); await servo.angle(0); await obniz.wait(3000); await servo.angle(180); break; } await obniz.wait(20000); //[memo]:モーターの動作を待つ } console.log("雨降ってきたぜよ"); }; </script> </body> </html> ``` # 組み立て ありものを組み合わせて作りました。 ## サーボモーター部分 サーボホーンに、結束バンドを使って、レゴブロックのパーツを無理くりつけます(笑) サーボモーターの使い方のセオリーが分からないので、このようになりました😅 (もっと良いやり方あったら教えてください…!)  なお、サーボモーターは、重めの万力(2㎏くらい)で固定します。 ## 伊右衛門部分 結束バンドを使って、 百均の薄型スパナを括り付けます。 できるだけ下部につけるのが、ポイントです。 (洗濯物に引っ張られるため、重心が低い方が安定する)  ### サーボモーター部分と伊右衛門部分を繋げる 結束バンドを使って、サーボモーター部分と伊右衛門部分をつなげます。 写真ではカラビナを使っていますが、結束バンドで可能です。  ## 土壌湿度センサー部分 食品トレーへ、土壌湿度センサーを差し込みます。 土壌湿度センサーとトレーの結合部にビニルテープを張って止水すると安心です。  たまたま自宅のベランダの枠の幅がちょうどよかったので無理くり突っ込みます。 幅がいまいちな場合は、結束バンドで止める予定でした。 ## 箱部分 蓋と箱の端に、ゴミ袋を止めます。 こうすると、ゴミ袋の中心に荷重がかかった際に、蓋が自動で閉まります。  (ピタゴラスイッチを参考にしました!😏) ## 洗濯物部分 紐を物干し台の一端に括り付けて固定します。 もう一方は、伊右衛門部分に括り付けます。  ## 全体像 全体的な構成はこのようになっています。  # 感想 プログラムに時間をかけるというよりは、どうすればやりたいことが実現できるか、 仕組みを考えるのに時間がかかりました(笑) プログラム自体は、JavaScriptでサンプルコードを参考にさせて頂きました。 (部品ごとに有って、助かります!) 想像以上に簡単に開発ができたのでびっくりしました。 ラズパイなどに比べると電子工作の敷居がだいぶ下がりますね!