注目キーワード

【Arduino】M5Stamp で メダカの住む環境を快適に!第3弾 餌やり機をもっと便利に改良!

すけろく
ん!?
メダカの餌やり機から餌がでない?
げんろく
本当だな。
電池切れかと思うが、少々構造的に課題があるな。
すけろく
1年以上稼働させていろいろと
課題も分かってきたしな。
げんろく
よし、餌やり機の改良版を製作するか!
皆さん、お家で何か動植物を飼っていますか?
我が家のメダカもよく育っています。
メダカの餌やり機の製作から1年以上たちました。
メダカの数も数倍になっていて、かなり快適な環境を提供できていると実感しています。
安定した餌やりができる環境が整いましたが、いくつか課題が出てきました。
今回は、出てきた課題を解決すべく、「自動餌やり機バージョン2」を作っていきます!
この記事ではArduino IDEを使ったプログラミング例を紹介します。
この記事の製作工程を動画にする予定ですのでご期待ください!

この記事の前提となる「M5Stamp Pico」のはじめかたについては、次の記事で紹介しています。

関連記事

すけろく 切手サイズのコンピューター。 なかなかいい響きだの~。 げんろく 何だそれは? すけろく 「M5Stamp Pico」だ。 ESP32系のマイコンを搭載した切手サイ[…]

記事内でご紹介する「M5Stack」はこちら!

これからはじめる方にお勧めの参考図書はこちら!

created by Rinker
¥3,089 (2025/05/13 15:37:07時点 Amazon調べ-詳細)
created by Rinker
¥2,310 (2025/05/13 15:37:08時点 Amazon調べ-詳細)
created by Rinker
技術評論社
¥3,278 (2025/05/13 15:37:08時点 Amazon調べ-詳細)
created by Rinker
¥2,420 (2025/05/13 15:37:09時点 Amazon調べ-詳細)

餌やり機を使ってみて出てきた課題とは?

自動餌やり機」を1年間使用してみて新たに出てきた課題をまとめると、主に以下の3点にまとめました。

  • 水槽から上がった水分で餌が固着する
  • 電池切れで餌が出ていないことがわかりずらい
  • エサを入れる際に装置を分解する必要がある

水槽から上がった水分で餌が固着する

メダカの餌は、固形の粉末タイプを使っています。
前回製作した自動餌やり機では、内部のインペラが回ると餌が適量入ります。
その後、ケースに設けた穴から餌が出るという仕組みです。
使用していくと、インペラの周囲に餌が固着するという現象が発生しました。
どうやら、水槽から上がってくる水分が餌に影響して固着しているようでした。
3Dプリンターで製作したパーツだと、完全に防水というわけにはいかないので
影響が出ているのでしょう。
そこで、解決策として次の2点の改良を行います。
  • ケース内の底面にアクリル板を入れ、水分の透過を防止する
  • インペラもアクリル板を加工することで吸湿を防ぐ

ケース底面にアクリル板を入れる

まず、底面にアクリル板を入れます。

これで底面からくる水分が餌に影響しないようにします。

アクリル板には、ケースの餌落とし穴と同じ位置に穴をあけ、インベラ回転用の円形の穴をあけます。
インペラや、モータをマウントするパーツとの固定用に四角の穴を4つ配置しました。

インペラをアクリル板で作る

次にインペラについてもアクリル板で作ります。

モーターの回転軸からの力を均等に加えるため、次のようなインペラの形状にして

モーターの回転軸を固定できるようにしました。

インペラは、90度ごとに餌が入る切り欠きがある形状にしています。

底面の板と合わせると次のようなイメージになります。

インペラが45度回転すると次のように餌が落ちる穴が塞がるようになっています。

このような形状にすることで、1回の餌やり時に90度回転させれば、
餌を落とした後に穴を塞ぐような動きができるようになります。
これで、水分の影響を押さえられるはずです。

電池切れで餌が出ていないことがわかりずらい

前回製作した餌やり機は、極力コードレスで使用できることを目指して
電池式の電源供給を行っていました。
電力消費もマイコン自体のSleep機能を使って省電力にしていました。
この方式は、電池で長期間使用することができましたが、
同時に電池切れを検出することが難しいので、「あれ、餌が出てないな~」という感覚で
電池の入れ替えをするしかありませんでした。
そこで今回は、USB給電方式をとり、稼働状況や設定を変更できるように改良します。
常時給電になりますので、マイコンも常時稼働ができますので
餌やり設定時間も時間単位から、分単位で設定して稼働させることができます。
また、手動で餌をあげる機能や、餌やりの時間設定を変更できるようにするため
スマホのブラウザから操作できるように改良します。
ブラウザでの操作画面は、次の2つで構成します。

手動操作画面

 自動餌やり機を手動で実行する際に使う画面です。
 「実行」ボタンを押すと自動餌やり機が動きます。

スケジュール設定画面

自動餌やり機をスケジュール実行する際の動作時刻を設定する画面です。
スケジュール実行のON/OFFおよび、餌やり時刻の設定を行うことができます。
餌やりの時間は、朝と夜の2度設定できます。
時刻設定は、時刻(時)と時刻(分)が設定できます。

エサを入れる際に分解する必要がある

前回の自動餌やり機は、次のような構造で。餌を入れるケースがモーター軸の周りにありました。

餌を入れた後にステッピングモーターを上に被せるようにしていました。

これだと、餌を追加する際にすべてを取り外して、組み立てなおす必要があり、面倒でした。

そこで、今回の自動餌やり機は、ステッピングモーターを取り外すことなく餌を投入できるように変更します。

ステッピングモーターを取り付けるカバーをかぶせると次のようになります。

また、ステッピングモータードライバ基板や、M5Stampなどを固定するために

以下のような取り付け位置を設けてました。

 

実際に取り付けたイメージは次の通りです。

組み立てたものを外側のカーバ内に収めます。

これで自動餌やり機の改良版を作ることができます!

前回から引き続き使うもの

前回の自動餌やり機の記事内で紹介しているもので、
今回流用するものを紹介します。

水槽

今回の餌やり機を設置する水槽は、次のものを使っています。
上蓋つきの水槽で、上蓋の四隅に切り欠きや穴が開いているので、今回のように後で何かと追加設置する際も便利です。
キッチンカウンターにしっくりくるサイズの水槽ですよ!ポンプ付きでおススメです。

ステッピングモーター軸を45度ずつ正確に回す

今回も回転軸を動かすのに使うのは、ステッピングモーターです。

ステッピングモーターは、決まった角度まで正確に回すことができるモーターです。

次のステッピングモーターを使います。

M5Stamp Picoでのステッピングモーターの使い方は、次の記事で紹介しています。

関連記事

すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく[…]

このステッピングモーターを、餌をまく時間帯になったら、90度だけ動かします。

90度回すことで、餌を放出した後に蓋になっている場所まで移動させます。

こうすることで、一回分を正確に散布することができます。

水槽の上におけるデザインのケース作り

今回の仕組みをすべて盛り込んだケースのデザインを作成しました。

電池ボックスを内蔵せず、USB給電としたことで、前回よりもより小さくすっきりとしたものになりました。

ケースのデザインをFusion360で作る!

ケースのデザインは、AutoDeskのFusion360を使用して作成しました。

M5Stamp Pico」とステッピングモーター、モータードライバ基板を含め、収納できるケースとして設計しています。

※ケースのデザインは次のようになりました。

回転軸上にステッピングモーターの回転軸がくるように、モーターマウントは、ケース本体の球面に合わせた作りにしています。

また、ケース本体の中心部を少しシェイプすることで、モーターマウントなどのブレを極力小さくしています。

これで、自動餌やり機の改良版のデザインが決まりました。

3Dプリンター向けの印刷データを作る!

さて、作成したデザインをもとに、各パーツを作っていくのですが、

こういうときに役立つのが、3Dプリンター「ORIGINAL PRUSA MK4S」です。

積層型の3Dプリンターで、造形精度が良く、当ブログでもいろいろなものを作っています。

自分で組み立てるキットもあるので、自作ユーザーや、導入コストを抑えたい人に最適です。

 

今回使用した3Dプリンター「ORIGINAL PRUSA MK4S」はこちらからどうぞ!

3Dプリンター(キット)

created by Rinker
ORIGINAL PRUSA
¥111,900 (2025/05/12 19:26:43時点 Amazon調べ-詳細)

オープンソースの3Dプリンターの仕様を作った技術者が作った会社の3Dプリンターです。この商品は、自分で組み立てることが前提です。マニュアルも日本語化されていて、組み立てで特に手順に困るということはありませんでした。非常によくできた製品で、印刷品質も高いので非常に満足できます。
ちなみに「HARIBO」というお菓子もついている(笑)ので楽しみながら組み立てられます。

ただし、執筆時点では、Amazonで購入できるキットは、MK4となっていますので、最新のものであれば組み立て済みを選択してください。

3Dプリンター(組み立て済み)

オープンソースの3Dプリンターの仕様を作った技術者が作った会社の3Dプリンターです。この商品は、すでに完成済みで調整もされているものです。私は自作キットのほうを購入しましたが、非常によくできた製品で、印刷品質も高いので非常に満足できます。
買ってすぐに印刷が楽しめるのもいいですね!

今回使う3Dプリンター「ORIGINAL PRUSA MK4S」で印刷するためのデータに変換します。

データの変換には、「Plusa Slicer」を使いました。

これは、3Dプリンターの販売元が提供している専用のソフトウェアです。

ソフトウェアは無償で利用が可能です。

Fusion360で作成したデータを「エクスポート」機能で「3MF」形式のファイルに保存します。

保存した「3MF」データを「Plusa Slicer」で読み込んで印刷データへ変換します。

変換したイメージは次のようになりました。

これで、保護ケースを3Dプリントする準備が整いました。

次は、実際に印刷していきます。

3Dプリンターを使った造形

作成したデータをもとに3Dプリンター「ORIGINAL PRUSA MK4S」で印刷を行います。

今回は、印刷する素材(フィラメント)としては、「PETG」を使用しています。

理由としては、多少柔軟性があり、ケースとしての強度も十分に出せるためです。「PLA」では、硬すぎて、落とした際に割れてしまいそうなので。

 

今回使用したPETGのフィラメントは、次のものになります。

フィラメントの巻も綺麗に揃っており、印刷時にも問題がほぼない優秀なフィラメントです。

3Dプリンターで印刷する

それでは、3Dプリンター「ORIGINAL PRUSA  MK4S」を使って印刷します。

実際の印刷工程や、出来上がりの動作イメージは、動画を公開予定です。

さてこれで、保護ケースも完成しました。

自動餌やり機の回路を作る

M5Stamp C3Uとステッピングモーター、電池ボックスをつなげる回路を作ります。

全体的な接続構成は、次の通りです。

各部の接続

それでは、M5Stamp C3U、ステッピングモーター、ドライバIC基板、USB-A基板を接続するための準備をしていきます。

ステッピングモーターとドライバIC基板の接続

今回使用するステッピングモーターは、モーターを動作させるためのドライバIC基板が付属しています。

そのため、接続に必要なケーブルやコネクタがついています。

ステッピングモーターのケーブルについているコネクタを、ドライバIC基板のコネクタに接続するだけです。

接続したイメージは次の通りです。

M5Stamp C3UとステッピングモーターのドライバIC基板の接続

M5Stamp C3UとドライバIC基板を接続します。(写真はM5Stamp Picoのイメージ)

  • 信号入力
    IN1~IN4まで、M5Stamp C3UのGPIOと接続して信号を入力します。

    マイコン(M5Stamp C3U)側 ステッピングモータードライバ基板側
    GPIO3 IN1
    GPIO4 IN2
    GPIO5 IN3
    GPIO6 IN4

M5Stamp C3UとドライバIC基板、USB-A基板の接続

M5Stamp C3U、ステッピングモーター、ドライバIC基板を稼働させるためにUSB給電します。

端子は、USB-A端子にしました。

  • 電力供給(5V)
    USB-A基板と、M5Stamp C3U、ドライバIC基板の接続は次のようにします。

    USB-A基板 M5Stamp Pico側 ドライバIC基板側
    5V 5Vin 5V(+)
    GND GND(-) GND(-)

単純にUSB-A基板の5V系とGND系をM5Stamp C3UとドライバIC基板へ入力する形となります。

そのための簡単な基板を次のように作りました。

ユニバーサル基盤を切断し、XHコネクタの受け側(メス)を取り付けます。

裏側は、コネクタの同じ側の端子をそれぞれ接続しただけの簡単なものです。

はんだ付けを行いました。

はんだ付けの手順や、必要となる道具のおススメについては、次の記事で紹介しています。
関連記事

電子工作という言葉を聞くとまず思い浮かぶのは、中学校の技術家庭の授業でやったはんだ付け。 最近の学校は実習とかやっているのかなとふと思います。 子供の頃は何となく作業していたので、今思うと「よく部品壊さなかったな・・・」と思いま[…]

コネクタは、入手が比較的容易なXHコネクタを使いました。

ケーブルとコネクタの種類や作成方法は、次の記事で紹介しています!

関連記事

電子工作ではんだ付けとともに欠かせないのが、「ケーブル作り」。 電子部品やコンピュータ、モーターなどの各部品はいろいろな形状のコネクタを持っています。そこで、ケーブルの端を接続するものの規格に合わせることが必要になります。 また[…]

M5Stamp U3CとドライバIC基板への電力供給用ケーブルとして、M5Stamp C3U、ドライバIC基板側、USB-A基板は、「QIコネクタ」、電源基板側は同じ「XHコネクタ」の差し込み側(オス)のものを作りました。

指定時間帯にステッピングモーターを回転させるプログラムを作る

それでは、Arduino でプログラムを作成していきましょう。

まずは、今回の目標から。

今回の目標

今回は、改良版としてUSBケーブルから給電して動かすため、前回のようなロングライフ設計は不要です。

また、今回はスマートフォンなどのブラウザ経由で操作できるような画面を作ります。通信はHTTPで行います。

「M5Stamp C3U」は、SDカードなどの外部メディアスロットがないため、

プログラム中に餌をあげる基準時間を指定し、ブラウザで設定を変更できるようにします。

(※電源OFF時にもとに戻ります。)

 

主な機能は次の通りです。

<機能>

①スケジュール実行

  • 餌やりの指定時刻かを調べる
  • 餌やり時刻であれば、ステッピングモーターを90度回転させる
    (45度の回転を2回行う)

②手動実行

  • ブラウザ経由で手動実行命令を受信した場合、ステッピングモーターを
    90度回転させる

使用するライブラリ

次のライブラリをインストールします。

ライブラリ名 説明
Stepper
ステッピングモーター制御用ライブラリ

ライブラリのインストールは、次の記事で紹介しています。

関連記事

「Arduino IDE」では、使用する機能やセンサー、ボードを使用するプログラムで使用できる有効なライブラリが公開されています。 ライブラリを使用すると、効率的かつ品質を確保したプログラミングが可能です。 この記事では、Ar[…]

 Arduino IDE スケッチ例

Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。

<プログラム本体>

この記事の前提となる「M5Stamp Pico」のはじめかたについては、次の記事で紹介しています。

関連記事

すけろく 切手サイズのコンピューター。 なかなかいい響きだの~。 げんろく 何だそれは? すけろく 「M5Stamp Pico」だ。 ESP32系のマイコンを搭載した切手サイ[…]

ステッピングモーター関連のプログラム方法は、次の記事で紹介しています。

関連記事

すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく[…]

M5Stamp C3Uへの書き込み

  1. 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  2. 「ツール」メニューから「ボード」情報を確認し、M5Stamp C3であるか確認します。
    この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
  3. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
  4. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

 プログラム実行結果

USBケーブルを接続した後に、シリアルコンソールに表示されるIPアドレスを記録します。

スマートフォンなどのブラウザで、以下のようにIPアドレスを指定してアクセスします。

http://xxx.xxx.xxx.xxx

 

設定画面が表示されたら、「設定」タブの手動実行ボタンを押します。

ボタンを押すと、ステッピングモーターが回転することで動作確認できます。

最終的な組み立てと設置

これまで見てきた、M5Stamp C3Uやステッピングモーター、Arudinoでのプログラミングを組み立てたものを、自作したケースに入れて組み立てました。

まずは、内部の構造を組み立てました。アクリル板と3Dプリント造形物との相性も良く

きっちり組みあがりました。

ケースの中にきちんと納まり、配線もなくすっきりとしています。

餌も横の穴から入れることができ、使い勝手がよくなりました。

USB-Aケーブルの接続口以外には穴がなく、非常にシンプルでコンパクトになりました。

せっかくなので、前回同様「メダカ」のイメージをデザインした絵をケースにつけてみました。

うん。ありですね。

無塗装ですが、なかなかいい味を出しています。

なかなか、いい感じに仕上がったのではないでしょうか!

前回作ったものよりデザインもサイズもすっきりとしていい感じです。

製作過程を動画する予定にしていますので、ご期待ください。

編集後記

いかがだったでしょうか。

設置してみると、シンプルで感じのいい自動餌やり機が出来上がりました。

しかもブラウザで餌やりの調整ができるので便利です。

設置後、4泊5日の外出をしましたが、メダカも元気にしています!

これで、さらに長期の旅行にも対応できそうです!

皆さんも、挑戦してみては、いかがでしょうか!

今回の記事は以上となります。

最後までご覧いただきありがとうございました。

今回使用したマイコンと部品はこちら!

created by Rinker
ORIGINAL PRUSA
¥111,900 (2025/05/12 19:26:43時点 Amazon調べ-詳細)

 

M5Stamp Pico の他の記事はこちらからどうぞ!

すけろく ん!? メダカの餌やり機から餌がでない? げんろく 本当だな。 電池切れかと思うが、少々構造的に課題があるな。 すけろく 1年以上稼働させていろいろと 課題も分かってきたしな。 げんろく よし、餌やり機の改良版を製作するか! 皆さん、お家で何か動植物を飼っていますか? 我が家のメダカもよく育っています。 メダカの餌やり機の製作から1年以上たちました。 メダカの数も数倍になっていて、かなり […]

すけろく メダカもだいぶ増えたの~。 げんろく そうだな。 毎日の餌やりと、水替え、結構がんばっとるからな。 すけろく 水温は、第一弾で水温センサーを仕込んだから、 管理は楽になった。 げんろく そうだな。 よし、今回は、餌やりを自動化してみるか! 皆さん、お家で何か動植物を飼っていますか? 我が家のメダカもよく育っています。 前回の第一弾で、水槽内の水温を計測・記録するものを作りました。 おかげ […]

すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく では、何か解決策はあるのかぇ? げんろく ステッピングモーターというものがある。 モーターの回転をステップとして制御できる。 今回はこのあたりを動かしてみるか。 この記事では、「M5Stamp Pico」を使って、「ステッピン […]

すけろく うーむ。 何とかならんか~ げんろく どうした? 電池を見つめて。 すけろく 電池を電源にしてM5Stampを使っているのだが、 一定間隔で動かしているのだが、電池の持ちが悪くてな。 げんろく うーむ。どれどれ。 Sleepさせていないのか?これだとずっとCPUが電力を消費するぞ。 よし、今回はDeepSleepの方法を使う方法を紹介しよう。 この記事では、「M5Stamp Pico」を […]

すけろく そういえば、LCDパネルがあるのだが、 使ってなかったな。 げんろく んー。 どれどれ、このコントローラICなら Arduinoで使えるな。 すけろく それなら、M5Stamp Picoで時計を表示したいな。 時刻同期は以前の記事でやっているし。 げんろく よし、やってみよう! この記事では、「M5Stamp Pico」を使って、「LCDモジュール」に時計を表示させてみます。 「M5St […]

すけろく んーどうしたものか。 げんろく どうした? 深刻な顔をして。 すけろく M5Stackにプログラムを書き込んだら 起動しなくなってな。 電源ON/OFFでも無理なのだ。 げんろく 書き込んだプログラムか、バッテリーの 過放電か。工場出荷時に戻してみてはどうだ? この記事では、M5Stackにプログラムを書き込んだ結果、うまく動作しなくなった場合の対処方法を記載します。 ご紹介するのは「工 […]

すけろく 最近、透明で先の見えるディスプレイが あるらしいな。 げんろく ああ、薄暗いサングラスくらいの透過率で 先が見えるものがある TOLED(Transparent OLED)と言うんだ。 すけろく M5Stampからでも表示制御できるのかな。 げんろく Arduinoでプログラムできるものがあるから、 M5Stamp Pico用に改造してみるか。 この記事では、M5Stamp Picoを使 […]

すけろく ちょっと!! e-Paper(電子ペーパー)ってディスプレイ制御は 独特なの? げんろく まあ、そりゃ違うわな。 ものが違うからの。 すけろく Raspberry Pi Pico向けのe-Paperを入手したが、 Arduino+M5Stamp Picoで使いたいのだ。 げんろく よし。 ではM5Stamp Picoで使ってみるか! この記事では、M5Stamp Picoを使って、e-P […]

すけろく M5Stamp Picoのことはじめに、 LEDを一つだけ光らせたが、やはりもっと派手にやりたいな。 げんろく 左様、わしも考えていたのだ。 LEDストラップを使って派手に光らせようではないか。 この記事では、M5Stamp PicoのGroveコネクタを使って、LEDが複数実装されたLEDストラップをいろいろな色やアニメーションで光らせてみます。 M5Stamp Picoはディスプレイ […]

すけろく WiFi接続は前回行ったが、次は時刻同期だな。 げんろく そうだな。IoTに正確な時刻は大切だ。 NTPサーバと時刻同期してみよう。 この記事では、M5Stamp PicoをアクセスWi-Fiアクセスポイントに接続し、インターネットの時刻サービスを使って時刻を同期する方法について紹介します。 M5Stamp Picoはディスプレイを持っていないため、主に処理時間やセンサーなどからデータを […]