重量モニタリングの憂鬱
例えばRaspberry Piなどを用いて,24時間365日,お手軽に重量推移をモニタリングしようとすると割と面倒で憂鬱になってきた (なおここでの対象物の重量は1kgから100kgくらいを想定しています).そして憂鬱になってきたというのは嘘で,かれこれ1年くらい憂鬱状態となっている.
単純にディジタル体重計を用いてGPIO経由かなにかで取ろうとするとすると以下のアプローチが考えられる;
- 7セグLEDにつながる端子・ケーブルをバラし,それらをGPIOに繋いで値を取る
- 液晶表示を画像認識してOCR
後者はさておき *1,前者は割と楽にできそうに見える.見えるものの「ケーブル数が多すぎる」という問題の他に「ディジタル体重計はある程度時間が経つとオートパワーオフが行われる」という問題があり,そのせいで24時間365日の重量監視という用途に向かなくなってくる.
スマート体組成計であればBluetoothやWi-Fiを経由して値を取得するという方法も考えられるが,特定のAppやデバイスでないとペアリングが出来なかったりして不自由 (出来るやつはあるだろうが).そしてスマート体組成計も「ある程度時間が経つとオートパワーオフが行われる」という問題を抱えている (聞くところによるとWiiFitだとこのへんの問題をクリアしているっぽい?).
さて,そうなってくるとディジタル体重計ではなく,代わりにアナログ体重計を使おうという話になってくるのは自然な流れと言える.アナログ体重計を用いたアプローチとしては以下が考えられる;
- 回転する針,もしくは文字盤に可変抵抗を取り付け,抵抗値の変動をもとに重量を測定する
- 表示を画像認識してOCR
後者はさておき *2,前者は割と楽に出来そうに見える.問題は抵抗値測定とそのA/Dコンバータあたりだろうか? これはどこかのタイミングで試してみたいと考えている.
さて,他にもアプローチは様々あるとは思う.例えば
なんかがざっと思い浮かぶが,これらはそこそこ難易度高いという印象がある.
とにかく画像認識をしたくない.そして圧電素子を用いてフルスクラッチをするのは先達の記事を見る限りめちゃめちゃ大変そうでつらい……
採りうる方策まとめ
- アナログ体重計を改造して可変抵抗を用いて重量を測定・取得する
- WiiFitを用いてBT経由で重量を取得する
俺はGPIO経由で単にシュッと重量を取ってきたいだけなんだ,信じてくれ!!!!!
[追記] 有益情報を頂きました.
ロードセルという部品とHX711というモジュールをつなぐと重力がシリアル通信で取得できて楽です。10kgロードセルで試したところこのようになりました。 https://t.co/lL2CVGHSIj
— ワニさん@肉と鍋 (@naotaco) 2017年8月31日
100kgのを買えば100g程度の精度は出るのではないかと
シリアル通信の仕様がキモいのでライブラリを探して使うとよい、
— ワニさん@肉と鍋 (@naotaco) 2017年8月31日
重量を表す謎の値が送られてくるので、既知の重さのときの値でキャリブレーションする必要がある、
ebayで買ったら2つのうち1つが不良品だった、あたりにハマりました。がんばってください