FLEXSCHEでお酒を計画的に飲みましょう
今年もはやいもので、もうすぐ年末、忘年会の季節ですね。
お酒の席といえば、先日、会社の飲み会でこんな会話がありました。
望月:「最近、お酒が弱くなってきてさ~。今日はもう3本しか飲まないから。」
ニシ:「本当ですか? でも、その言葉が守られてるの、見たことないですよ。」
望月がお酒を飲みすぎないように、FLEXSCHEを使って飲みのペースを計画しましょう。
同じペースを維持して2時間で3本飲むとするとこんな感じになるでしょうか。
横軸が開始からの経過時間です。ビールを消費するオーダーをFLEXSCHEに登録しています。在庫量チャートではビールの残量と、飲み干した缶の数が分かります。
***
でも計画を立てただけでは意味がありません。飲み始めると、みんな計画のことはすぐに忘れてしまいます。飲んだ量を計測する仕組みを作る必要があるでしょう。
ということで、電子工作で「コースター」を作ってみたので、その内容を共有します。
完成物
購入したもの
- Raspberry Pi Pico WH
- ロードセル
- その他諸々
- ブレッドボード
- ジャンパ線(オスオス・オスメス)
- など
- 本
Raspberry Pi Pico (以下、Pico) を初めて使いましたが、こんなに小さいのに、WiFi接続用のモジュールまでついていて、しかも安い!
重量計測用のロードセルは、直接Picoに接続しても値を読み取れないようなので、ADコンバーターであるHX711と一体になったものをAmazonで購入しました。
また、Picoのセットアップから電子回路の接続まで、「ラズパイ Pico 完全ガイド(日経BP)」を参考にしました。ロードセルで計測した値を読み取るところのコード例まで記載されていて、電子工作初心者の私にも大変分かりやすかったです。
繋げてみた
ロードセルは、重さを計測できるセンサーモジュールです。ロードセルに力を加えると、中央の穴の部分にひずみが生じ、ひずみセンサーの内部抵抗値が変化します。この内部抵抗値の変化を読み取ることで、重さを計算できます。
Picoとロードセルを配線で繋げて、重さを計測するプログラムを組んでみました。実際にどのような値が計測できるのでしょうか?
缶を置いたり取ったりして観察してみます。
ちゃんと重量が表示されていますね。誤差は+/-1gだそうで、かなり正確です。
置くときは、0gから徐々に増えて、>0gで安定しています。また取るときは、>0gから徐々に減って、0gで安定します。
ということは、
- 0g で安定したときがビールの飲みはじめ、
- >0g で安定したときが飲み終わり(=残量)
とすれば良さそうです。
また、前回の残量よりも増えたら新しい缶を飲み始めたと考えて良いでしょう。(良い子は一気飲みをしてはいけません!理由は説明しなくても分かりますね?)
そして、この値と日時を実績値としてFLEXSCHEに送れば、飲んだ量とそのペースを実績として確認することができそうです。
望月で実践する前にまずは自分で。試した結果を、FLEXSCHEに取り込んでみました。
結果
1本目よりも2本目の方が飲むペースが遅くはなっていますが、思っていたよりも一定のペースで飲み続けていたようです。また、1~3本目すべてで9~10口をかけて1本を飲みきっているという発見もありました。
このチャートを作り出した元データはコースターで取得した実績データです。
上の「作業実績データ」は、缶1本ごとの実績です。下の「作業実績細分データ」では、1行=1口として、開始日時・終了日時・1口で飲んだ量(g)が登録されています。けっこう細かいですね。
最後に、時間軸のスケールを合わせて、計画(上)と結果(下)のチャートを縦に並べて表示しておきます。
3本/2時間ペースよりはだいぶはやかったみたいですね。私でこの結果なので、私よりもお酒の強い望月がこのペースを守るのは相当大変そうです。。今回は、結果を後日FLEXSCHEに取り込んで比較をしましたが、飲みの席でリアルタイムに動かすことで「飲みのペースがはやいですよ。もっと抑えて!」とFLEXSCHEに注意されるようになる未来もあるかもしれませんね。