Skip to content →

暇じゃないけど自動給餌機を作ってみた

Nyanyanです。

はい。暇じゃありません。

 

さて、今回作ったのは、給餌機!!(ブログ書くことがないからってY-modifyとは関係のないことを書き始める)

学校で生物の関係で、作るよう命じられました(笑)

魚のエサやり機です。要するに。

サーボがついてるやつ(上の2つ)が給餌ユニットで、透明の箱が制御ユニットです。

 

まずは給餌ユニットから説明していきますか

給餌ユニット

こいつですね。はい。

二種類ありますが、仕組みは一緒です。取り付ける水槽の形に合わせて作っただけです。

そして見ての通り接着剤ベッタベタです。

見た目悪いですけど、ちゃんと動きますし、強度もかなりあります。3種類の接着剤を使い分けておりますので(笑)

では構造の説明を。

オレンジが餌で、丸いとこが回ります。

以上(笑)

ネットでも色々調べましたが、私はサーボが好きなので、サーボ使いたいということで、このような構造にしました。

はい。これです。これが回るだけです。

 

全体的には10mm厚のMDFボード、そして中が見えるように3mm厚くらいのアクリル板を使いました。

 

制御ユニット

さて、ここからが厄介なとこ(私の技術がないだけ)

ハードウェア

まずはハードから。

マイコンはATMEGA328P、つまりarduinoUNOです。

タクトスイッチが5個(秋月で100個700円で売ってたから衝動買いしたうちの5個)

2桁7セグ(2281BS)が2個(アノードコモンかと思ったらカソードコモンだったww)

トランジスタA1015Yが7個(よくあるやつ)

LEDが2個

抵抗10kΩが12本(プルダウン用)

抵抗220Ωが1個(LEDに5V直接入れるのはあまりオススメできないです)

透明ケース(千石電商で200円くらい)

ネジ(適当なやつ)

 

無駄に高機能にすべく、7セグ表示で、タクトスイッチを使って時間を設定できるようにしました。

そのせいでややこしいことに…(笑)

 

まず7セグから。

データシートを見るとわかるとおり、カソードコモンです。

これを2つ繋げました(ATMEGA328pのピン数が足りないので)

DPは使いません。

で、下の奴らをこうしました。

別にわざわざトランジスタなんてつけなくてもいいらしいんですが、それに気づいたのがトランジスタの配線が終わったあとだったので…(笑)

しかし、ペイントで回路図書くのは良くないですね(笑)

 

タクトスイッチ

5mm各のバルサ材が転がっていたので、それをボンドでタクトスイッチに貼ったらなかなかかっこいいボタンになりました。

あと、0.1μFのコンデンサを噛ませて、チャタリング防止としています。

 

ソフトウェア

プログラムがややこしいです。まあ私に技術がないだけですが。

サーボ制御はServoライブラリ、

時間関係はMetroライブラリを使っています(2つのサーボをそれぞれ独立の時間で動かすのはMsTimer2じゃできないから)

 

 

disDigitで0~9の一桁の数を作って、dsply関数で、左右の7セグを指定して1桁か2桁の数字を表示します。

dsplyでは、数値を10で割って10の位の数を出し、数値からその数を引いて1の位の数を出し、それぞれdisDigitで表示させます。

こいつが7セグ表示の肝です。

 

 

この関数で時間を入力します。leftNum,rightNumがそれぞれ餌をやる時間のインターバルです。

 

testEnterSwitch関数は、モード切替(時間セット(SET)モード(state = 0)、動作(MOV)モード(state = 1)、テスト(TEST)モード)の切り替えをします。

このスイッチを3秒以上長押しでTESTモードになります。TESTモードではサーボを1秒毎に回転させます。

noDis関数は7セグの表示をやめる関数

disTest関数は7セグにTESTと表示させる関数

disMOV関数は7セグにMOVと表示させる関数

disSET関数は7セグにSETと表示させる関数

です。

 

時間はそれぞれ1分毎にとって、60分で1時間、として、leftNum、rightNumの時間にlefthour、righthourがなったらサーボを動かす

動かしたらleftservostate、rightservostateを変えて、1秒待ち、サーボの角度をもとに戻す、ということです。

シリアルモニターをふんだんに使ってます。実際ハードウェアに組み込んだら見られないんですけどね

 

 

稚拙なコード、説明ですみません。

 

最後に全コードですこんなの見る人が居るのか

 

ここまで読んでくださった方、ありがとうございます!

 

 

 

Published in Arduino C++ いいえなんでも ソフトウェア ハードウェア