熱帯魚の餌やり、俺はSuicaでやってるけどお前は?

これは Raspberry Pi Advent Calendar 2021 13日目の記事です。 adventar.org

あけましておめでとうございます。
あしゅりーです。

今年のGWあたりにIoTアクアリウムを始めました。
それに伴いラズパイを活用したのでその話を書きます。

ラズパイ歴

初心者です。
初めてであること、かつIoTアクアリウム実現に際して特段の制約も無かったため、他の用途でもいろいろ弄れるように現行の最新モデルであるRaspberry Pi 4 ModelBを購入しました。

あらゆるデバイスにドイツのトリシールを貼をらないでください。

IoTアクアリウム

俺のIoTユビキタススマートDXアクアリウム熱帯魚水槽を見てくれ

アクアリウム歴も浅いのでレイアウトも呆れるほど下手ですが気にしないでほしい

このアクアリウムでは現時点でこんな感じのことができます。

熱帯魚の餌やりにセキュリティを

小学校の頃、遊びに来た友達が家の金魚水槽に勝手に大量の餌をやってしまい大変なことになった経験が皆さんにも必ずあると思います。(ここではある事とします)

もうお分かりかと思いますがアルキメディアン・スクリューとSuicaを使ってセキュリティ施策を見直すことで解決できます。

アルキメディアン・スクリュー is 何

こんなん
f:id:asyley13:20211211230445g:plain

Silberwolf (size changed by: Jahobr) - File:Archimedes-screw_one-screw-threads_with-ball_3D-view_animated.gif created by Silberwolf, CC-BY-SA-2.5, https://commons.wikimedia.org/w/index.php?curid=2489813

これを使って熱帯魚水槽の自動給餌機を作りました。
アルキメデスも冷めた目で見ているに違いありません。

まずは完成物

最終的にこんな感じのものができました。

信じられないほどサーボモータがやかまし

やったこと

無限回転サーボモータにスクリューを取り付けた給餌機を作成

アルキメディアン・スクリュー構造を100均クオリティで具現化、これをサーボモータにくっつけて回せるようにします。
精度が必要になるものなので3Dプリントするべきだと思いますが、反省はしていません。

サーボモータは一般的な180°回転の物ではなく無限回転が可能なSG90-HVを使いました。

サーボモータをラズパイで制御して回転させる

import RPi.GPIO as GPIO
import time

PIN = 18 #BCM

GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN, GPIO.OUT)
servo = GPIO.PWM(PIN, 50)
servo.start(0.0)

# 5秒間サーボモータを回し続ける
servo.ChangeDutyCycle(12.0)
time.sleep(5)
GPIO.cleanup(PIN)

通常のサーボとは異なり、無限回転サーボにおいて一方向に任意の時間回転させ続ける方法がとうとう最後まで分かることはありませんでしたが、これでなんとなく動いたのでテストの上、OKとしました

餌の入った容器に貫通させる

上記の動画の通り、餌の入った容器に穴を開けてスクリューを貫通させます。 スクリューには入り口と出口の穴を開けておき、回転することで餌を押し出して出口に運びます。

最後に、これを台座に固定して水槽に取り付けて完成です。

NFCリーダでSuicaの読み取り

これをcronで定期実行すれば良いだけですが、Suicaで出来るようにします。

特に何のひねりもないですがNFCリーダとしてSONYのRC-S380を使い、こことかを参考にして特定のSuicaをタッチした時だけ上記のプログラムが実行されるようにしました。

もっとセキュアにするにはSuicaに特定の残高がチャージされているときだけ認証を通すとかにするとよりアホっぽくなるので良いと思います。
あしゅりーはやりません。

どうしてこんなことをやったのか

Q:どうしてアルキメディアン・スクリューなの?

A:かっこいいから

見ての通りSuicaタッチは後付けですが、自動給餌機そのものはいろいろな人が自作して試行錯誤しています。
その中でもメンテナンス無しで長期的な稼働が見込める方式としてこのやり方を採用しました。

とはいえ、世の中にはあしゅりーのような悩めるアクアリストのために自動給餌ソリューションがいろいろあります。

アルキメディアン・スクリューを利用した既製品でいえばエーハイムからこういう感じのやつが出ています。

www.youtube.com

おわりに

これでええやん(BAD END)

蛇足

書きかけですがIoTアクアリウムで作ったものをScrapboxにまとめています。
今後もいろいろ要らない機能を追加していく予定です。 scrapbox.io

Twitterでも #あしゅりーアクアリウム でツイートしています。

最近、フルリモートから週1,2日出社になり転職しようと思うので、アクアリウムSuicaタッチで自動給餌する案件ありましたらオファーのほどよろしくお願いします。

あしゅりーのBitcoinアドレス
1jYnUXDDu8Ve1aJGhjqg3D65r1C7r58Xm