LoginSignup
9
1

More than 1 year has passed since last update.

こんにちは!
こちらの記事はWorks Human Intelligence Advent Calendar 2021 14日目の記事です。

普段は大学生をしながら、個人開発をしたりイベントに参加したりしています。
今回はobnizを使って、自分の困っていることをHackしてみました!

わたしの困りごと

水分を摂るのがめちゃくちゃヘタクソで、1回あたりペットボトルキャップ1杯分で満足してしまいます。
最近、気づいたのが普通の人は"ごく"で終わるのではなく、"ごくごく"することに気づき練習中です。今まで、他の人は一回あたり飲み込める量が多いのかと思っていました。。。
なので、ペットボトルを買っても全然消費できない日もあります。
ダイエットのサイトには1日1リットルから2リットル水分を摂ろう!とよくあるので、せめて1リットル飲むようにしたいです。
参考: https://www.suntory.co.jp/eco/teigen/jiten/life/01/

特に冬場になるとみなさんもあまり水分を摂らないのではないでしょうか。

つくるもの

水分を一定の時間まで量が減っていなかったら、光ってお知らせしてくれるデバイスを作ります。
LINE BotなどのBotも検討しましたが、LEDが光ってくれるのが1番気がつきそうだと思いました!

用意するもの

今回はお家であるもので作りたかったので、以下を用意しました!

部品 補足
obniz本体 obniz Board 1Y
ロードセル
赤色LED 抵抗機能非搭載
使いたいタンブラーやマグカップ ロードセルの上に載せれるもの

デモ動画

使い方は、2時間でコップに入っている一定の量を飲むのを目標にして、飲めていなかったらLEDで光ってお知らせしてくれます。
コップが空になったら自分で飲み物を足しに行きます。ずっと座っているのはあまり健康的によくないのでそのような仕様にしました!!

demo.gif

配線

ロードセルは、gnd:8, dout:9, sck:10, vcc:11に接続し、
LEDは、anode: 0, cathode: 1 に接続しました。

ソースコード

<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>
    <div class="container">
      <div class="text-center">
        <h3>冬でも水分摂ろうよ!!</h3>
      </div>
    </div>

    <script>
      //type in your obniz ID
      var obniz = new Obniz("OBNIZ_ID_HERE");
      var sensor;

      //during obniz connectionv
      obniz.onconnect = async function() {
        //wire LED to obniz
        //io0: anode
        //io1: cathode
        var led = obniz.wired("LED", { anode: 0, cathode: 1 });

        // Initialize Temp Sensor
        sensor = obniz.wired("hx711" , {gnd:8, dout:9, sck:10, vcc:11});

        // 重量測定
        sensor.setScale(441.9);
        var value = await sensor.getValueWait(5); //5 times average
        console.log('grams:' + value);

        while (value > 400 ) {
          led.on();
          sensor.setScale(441.9);
          var value = await sensor.getValueWait(40); //40 times average
          console.log('grams:' + value);
        }
        obniz.display.print("😁👍");

        // sleep next 120 minutes. 120分間スリープをデバイスに指示
        obniz.sleepMinute(120);
      };
    </script>
  </body>
</html>

setScaleやsleepMinuteの値をいじって、自分好みにカスタマイズしてみてください!!

おわりに

スリープモード機能付きobnizを購入していたのに使いこなせていなかったので、今回試せてよかったです!!
とても優秀🎉
これからも水分をきちんと摂れるようにどんどん改良していこうと思います!!
今回使用したobnizは、おもしろいことたくさんできるので皆さんもぜひ一緒に遊びましょう!!

最後まで読んでいただき、ありがとうございました!

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1