餌ウォッチャー
機械工学科3年
180236 松下覚
1)コンセプト
ペットが食べたえさの量を測り、そのデータをクラウドに蓄積していく。
2)作った動機
家で猫を2匹飼っているが好き嫌いが激しくて餌を食べてくれないことがあるので、餌を食べるペースから餌の好き嫌いを知りたい。また2匹のうちどちらかに栄養が偏っていないかを食べる量から把握したい。
3)構成
猫が食べたえさの量を測るプログラムの概要は下のフローチャートに示した。実際には左右両側でそれぞれ重量を測っている。
マイコンは授業で配布されたRaspberry Piを使った。重量計測にはロードセルというひずみセンサーとADコンバータHX711を用いた。白い部分は猫が乗るのでMax20kgのもの、餌皿の部分にはMax500gのロードセルを用いた。ロードセルはおおよそ3秒ごとに値をとるようにした。2匹の猫は上図の通り色が違うので、Raspberry Pi Cameraで写真を撮り色から判別を行った。猫が乗る前と乗った後のエサ皿部分の重量の差を猫が食べたえさの量とし、時間、食べた猫とともにcsv形式で保存した。
cronを用いて30分ごとにcsv形式で保存したファイルをAzure Blob Storageに送り、Microsoft Power BIというソフトでデータを確認できるようにした。
4)苦労した点
アマゾンで安いロードセルとADコンバータを注文したら、届くまでに1カ月以上かかってしまいその間作業が進まなかった。そのためハード部分の製作開始から遅れていたのだが、頑丈に作っていたらさらに時間がかかってしまった。
よく考えずにネットで見つけたよさそうなプログラムを組み合わせていたらpython2対応とpython3対応のライブラリが混ざってしまいプログラムが実行できなかった。HX711とAzure Blob Storageのライブラリのどちらかをバージョンを変えるのは時間的に不可能だったので、Azure Blob Storageにデータを上げるのは別途cronで行うことにした。
またハードの部分に時間を取られすぎたせいでソフトに割ける時間が少なくなってしまったことも残念であった。Azureでウェブアプリを作りたかったが、ウェブアプリを作った経験は全くなかったのでMicrosoft Power BIを用いた。なんとか食べた量を表示できるようにはしたものの、餌の量の時間による変化などは表示することができなかった。
5)感想
IoT演習では設計からハード、ソフトまで自分一人でこなさなければいけないので大変ではあったがとても良い経験になった。電子工作や木工は楽しかったしソフトウェアのアルゴリズムを考え、設計通りに動いた時はうれしかった。それだけにウェブアプリの作成まで手が回らず完成できなかったのが悔しい。機会があればスケジュール通りに進めれるよう計画に余裕を持たせ、次こそ完成にたどり着きたいと思った。