猫を飼っているのですが、カメラ付き自動給餌機で仕事中に猫たちの様子(ほぼ寝てる)をじっと観察したり、遠隔操作で給餌したりと、そういえば知らず知らずの内に便利なIoTライフを送っていました。
ただ、どれくらい食べたか(減ったか)がわからないなとは常日頃思っていたので、最近Creator's Labでお世話になった「Arduino」を使って調べてみることにします。
注)タイトルにもあるとおり、完全非理系がお送りいたします。
Google先生のご教授により、用意したものは以下です。
オームの法則とかまるでわかりませんが、世界中からパクって集めてきた回路図と、fritzingが提供しているサンプルを参考にしてみました。
C言語とかまるでわかりませんが、世界中から拾ってきたスケッチ(=Arduinoで使用するプログラム)をパクって参考にしてみました。
int val = 0; //変数を設定しておく void setup() { //初期設定。1番最初に1回だけ呼ばれる Serial.begin(9600); //シリアルポートを設定 } void loop() { //電源が切れるまで繰り返し実行される val = analogRead(0); //アナログピンから値を読み取る。0はピン番号 Serial.println(val); //シリアルポートへ出力。printlnで改行してくれる delay(1000); //1000ms(1秒)ごとに実行 }
コンパイルしてスケッチにエラーがないかチェックしてマイコンボードに書き込んだら、圧力センサーをそれとなく押してみます。
「ツール > シリアルモニタ」で確認。
なんか取れている!
では、圧力センサーにごはん皿を乗せて...
※センサーに圧力を集中させるために、プラスチック粘土で「皿置き」を作ってかませています。
カリカリを投入。
はいもぐもぐ
カリカリが軽すぎて数値にさほど変化が現れなかったという誤算。
「ツール > シリアルプロッタ」を選択するとグラフで表示してくれます。
残念ながら、どれくらい減っているかの変化を取ることはできませんでしたが、猫たちががっついてお皿にアタックしているさまがグラフの揺れから感じられるのが、個人的に感慨深いです。
ちなみに、歪み(ひずみ)ゲージなんかを使うとちゃんとした重さも測れるようで、世界には市販の計りをハックしているツワモノもいます。
非理系に加えて、デジタル系ガジェットにも正直本当に全く興味のない私が、一人(+Google先生が招集してくれた全世界の有識者たち)でなんとかここまで出来ました。
世界の有識者たちよありがとう。
当初知りたいと思っていたどれくらい食べたかは結局わからない問題はさておき、オブジェにしか見えていなかったArduinoに触れてみるきっかけにはなったので良しということで。。
また、THE基盤みたいな物体にジャンパワイヤをぐさぐさ刺したりしていると、できていなくても謎のやってる感でなかなかテンションが上がるのでそういう意味でもオススメです。
あの憧れの「爆発を阻止するのは何色」ごっこができそうですね。
本当はそれこそIoTで繋げば遠隔で食べ具合を知ることができそうなので、どなたか作ってくださる理系の方、どうぞよろしくお願いします。