Posted on Leave a comment

Arduino を用いた “ねこ鍋型猫体重計” の製作

料理用のはかりと市販のアルミ製 “ねこ鍋” と Arduino Uno を用いて、猫専用の体重計を作りました。

なぜ、ねこ鍋型体重計?

去る2月のとても寒い日に、当ラボのスタッフが弱って行き倒れている三毛猫を保護したのが始まりです。病猫の容体を把握するためには体重を正確に測り続けることが必要です。ところが、人間用の体重計は誤差が 500g 程度もあり、病猫用にするには精度が不十分です。また、台所用のはかり (キッチンスケール) は精度が 0.1g から 1g 程度と高いものの、病気の保護猫を秤皿に乗せてじっとさせておくのが至難の技です。もちろん獣医さんに連れて行けば体重は測ってもらえるのですが、猫は病院が大嫌いで、とくに保護猫はキャリーに入れるだけでも一大事です。

というわけで、猫用の体重計を市販の製品 (キッチンスケール、ねこ鍋) を組み合わせて自作することにしました。

特徴

次の条件をみたすことを考えました:

  1. 市販のアルミ製ねこ鍋を秤皿に用いて、猫が勝手に入ってくれるようにする。
  2. ねこ鍋には毛布やおもちゃが入れてあっても正確に測れる。
  3. 猫が入ってから電源を入れても測れる。

上の条件1をみたすために、ねこ鍋を単純に台所用のはかりに乗せたのでは安定が悪く、はかりの台座の拡張が必要でした。また、条件2、3をみたすために、マイクロコントローラ (Arduino Uno) を用い、風袋(猫体重を測る際に差し引かれるべき、毛布やおもちゃの重量) の値を電源断の間も保持するようにしました。

Arduino Uno を用いたため、

  1. PC で連続的に体重データを読み込むことも可能

になりました。また、液晶ディスプレイの表示スペースに空きがあったので、

  1. 温湿度計と時計の機能

も持たせました。

実際に製作した、ねこ鍋型体重計の様子

写真の美猫はみちつなちゃんで、Instagram: @azumakuniyuki さんにご撮影/ご提供いただきました。ありがとうございます。

ねこ鍋型体重計の取説

取扱説明書 (PDF) はここにあります。

ねこ鍋型体重計の製作

ここまで記事を読んできて同じものを自作してみたいと思われた方は、以下もお読みください。自作したくないという方は、ありがとうございました、お読みになる必要はありません。

なお、ここで製作した “ねこ鍋型猫体重計” と同じものを MewPro Scale という名前で、当ラボで受注生産しております。ご興味のある方は info@mewpro.cc にご連絡ください。8000円 (消費税と送料別) で納期約1週間で承ります。

次の材料を使いました:

  • ねこ鍋: Petio クールアルミキャットボウル (幅X奥行X高さ 35×7.7×35cm)
  • 台所用のはかり (キッチンスケール): HBLIFE デジタルキッチンスケール 1g単位 最大10kgまで 計量可能 風袋引き機能付き
  • クリアパイン集成材 1R円形 300mmɸ x 18mm
  • Arduino Uno (互換機 Seeeduino R4.2 を用いました)
  • キャラクタLCDディスプレイ 16×2
  • ロードセル用24ビットADコンバーター HX711
  • 温湿度センサー AM2320
  • リアルタイムクロック DS3231
  • モーメンタリースイッチ、配線部材など

キッチンスケールの表示部を取り除き、そこに HX711 を収め、ロードセルからのリード線をはんだ付けします。クリアパイン集成材を切断し、キッチンスケールをはめ込みます。

底面はアルミテープで接着します。

Arduino Uno に表示/センサー部を載せた自作のシールドを装着し、HX711 と接続します。(Arduino Uno には専用のソフトウエアがインストールされています。ソースコードは、まだ公開されていませんが、必要な方はご連絡ください。)

動作確認とロードセルの校正をしたあと、ねこ鍋を接着します。

完成です。

Posted on Leave a comment

ポケモンGO S2セルビューワー

ポケモンGOトレーナーが利用できるS2セルビューワーを用意しました。

注意: このポストはビデオカメラGoProとかジェンロックとかArduinoとかには関係ありません。

ポケモンGOは「S2セル」という、Googleが発明したすごい技術を使っています。トレーナーとしてはぜひそれを知っておいた方が良いでしょう。ゲーム内ではS2セルが、すくなくとも次のようなところに使われているのが知られています:

セルレベル
天気 10 1つのセル内の天気は同じです
EXレイド 12* 〜2018年2月8日 開催日には、各セルごとに最大1箇所のジムでEXレイドが開催されます
13* 2018年2月17日〜
ジムとポケストップの視界 15 (注1を参照)
ポケモン捕獲の領域 20 (注2を参照)
EXレイドが来るかどうか 20 (注3を参照)

注1: あるジムまたはポケストップが地図上で(あるいは「ポケストップのちかくにいるポケモン」で)見えるのは、トレーナーを中心とする半径500mの円を覆う レベル15のS2セル被覆 にそれが含まれるときです。

注2: ポケソース(つまり、ポケモンが出現する地点)はいつもレベル20のS2セルの中心にあります。あるポケモンがトレーナーから見えて捕獲可能であるのは、トレーナーを中心とする半径50mの円を覆う レベル20のS2セル被覆 にそれが含まれるときです。同様に、あるジムまたはポケストップにトレーナーから手が届くのは、トレーナーを中心とする半径30mの円を覆う レベル20のS2セル被覆 にそれが含まれるときです。

注3: スポンサージムでないジムにEXレイドが来る可能性があるのは、そのジムを含むレベル20のS2セルの中心が「公園」の内部に位置するときです。

ここでは、S2セルとは何かとか、そのレベルとか、被覆とかについては説明しません。それにもかかわらず、わたしたちがここで公開したツールを使えばそれを経験することができます。

ではお楽しみください!

蛇足

(2019年1月22日)†: 1月中旬にこの半径の値は500mから630mに変更になっています。半径の値を調べて知らせてくださったGavan Gatesさんとお友達に感謝いたします。(2019年2月7日)しかしながら、この値は2月初旬に元の500mに戻りました。

このサイトのツール以外にもS2セル被覆を見せてくれるサイトがあります: Region Coverer by Sidewalk labs.

S2セルについてもっと知りたい方は、この説明とかこれとかを参照してください(どちらも英文です)。

このサイトのPokémon GO S2 Cell Viewerには「逆」関数の機能が実装されており、半径が0、レベルが15または20のときに発動します。つまり、その際にはピンク色で囲まれた領域が現れ、ピンを立てた場所にあるジムまたはポケストップが見える/さわれる範囲を表します。


(*) 2018年2月中旬に、EXレイドパスを多く配布するための修正があり、S2セルのサイズがレベル12から13になりました。ところがこれに関して、Niantic は 2018年2月11日(北米から南米では2月10日)2018年2月26日 に開催されるEXレイドのパスの配布にそれぞれ手違いがあったとアナウンスしています。実際、後者の配布は修正前のレベル12のS2セルを使って間違えて行われました。そして、前者の配布は、なんとレベル10のS2セル(これは、通常の場合のレベル12のS2セルの16倍の広さがあります)を使って配布されました。下のスクリーンショットは、このバグの回なのに貰えた、とても珍しいEXレイドパスです。 🙂