ラズパイ + サーボモーター + PCA9685で水槽用の自動給餌器を作ってみた

ラズパイ

ラズパイとサーボモーターを使って我が家の水槽の自動給餌器(エサやり器)を作ってみました。

その際のメモです。

完成系

まず最初に完成したら以下のようになります。

サーボモーターの電源もラズパイから直接引いているため、電池切れの心配もありません。
ラズパイで朝夕の2回cronによる定期起動しています。

材料

以下を使いました。

・ラズパイ

・サーボモーター(sg90)

・PCA9685

・餌を入れる容器(近所のお菓子やさんの入れ物)

・マルチハンガー(下のように水槽に装備するものです。)

・結束バンド

作り方

エサやり機構を以下のように作成しました。

エサ入れ

近所のお菓子やさんでクッキーが入っていた以下の容器を使います。

この容器の側面にエサが出てくる穴をドライバーで開けます。

この穴の大きさや数はエサの種類によって変えています。

容器の底にはサーボモーターと結合するための穴をドライバーで開けます。

サーボモーターとの接続

サーボモーターとの接続は容器とサーボホーン(画像の白い部品)をアロンアルフアで結合します。

このときに、サーボホーンと容器だけが結合するようにしないと、モーターとくっついてしまい、容器の角度を変えられなくなってしまうので注意します。

制御プログラム

以下のようなpythonプログラムで制御しました。

#! /usr/bin/env python

import time
import Adafruit_PCA9685

pwm = Adafruit_PCA9685.PCA9685()
pwm.set_pwm_freq(50)

for i in range(515,124,-10):
        pwm.set_pwm(0,0,i) #初期位置から180度動かす
        time.sleep(0.1)    #ゆっくり動かす

for i in range(125,515,10):
        pwm.set_pwm(0,0,i) #初期位置に戻す
        time.sleep(0.05)   #早く動かす

このプログラムをcronで定期実行するようラズパイに設定します。

水槽へのセッティング

マルチハンガーに結束バンドを使ってサーボモーターを固定します。

水温を計るために、DS18B20をつけています。

これで忙しい朝や、旅行中もペット達がごはんを食べられるので安心です!

ラズパイカメラもあるので、その際の様子をカメラに撮ることができると、エサやりの確認+ペット達が食べていることもわかるのでなおよさそうですね。そこは今後改善していきます。

以上です。

コメント

タイトルとURLをコピーしました