家庭菜園をしたいけど、毎日水やりは面倒ですよね。
とはいえ、アマゾンで売っている自動水やり機はかなり高い。
でも、毎日なんて水やりをしたくない!!
そう思って、Arduinoを使った自動水やり機をつくってみました。
システム全体像
システムの全体像は写真のようになっています。
機能的には簡単で、
設定した時間間隔でリレーをONにして、ポンプを駆動させて植物に水やりをやっています。
ポンプの駆動時間は1分としているので、1分経過したらリレーがOFFになります。
使用パーツ
外部電源:ACアダプタ 12V 2A
ポンプが12V駆動だったので、12VのACアダプタを買いました。
また、今回使用するポンプとArduinoの電流を考慮して2Aのものを選定しました。
DCDCコンバータ:12V→5Vに降圧するコンバータ
外部電源からArduinoの電源を確保するためにコンバータを使用します。
リレー:5V駆動のリレー
Arduinoで駆動させたいので、5V駆動のリレーを選定しました。
似た型番で、12V駆動のリレーも存在するのできちんと確かめて購入してください。
https://www.amazon.co.jp/gp/product/B010ZVVZBQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
ポンプ:12V駆動、240L/H
今後も植物を増やしたいと思ったので、出力量の多いポンプを選定しました。
https://www.amazon.co.jp/gp/product/B07D29YT2C/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&th=1
上記のパーツを見合わせて、作りました。
それと、
屋外での使用を念頭に置いていたので、
マイコンと基盤たちはウォールボックスに格納しています。
完成したシステムはこんな感じ
コード
こんな感じのコードです。
1つのピンにHIGH/LOWするので簡単で秒で書けました。
long MIN = 60000; // 1min
long HOUR = 60 * MIN; // 1hour
long day = 24 * HOUR; // 24hours
const int OUTPUT_8 = 8;
void setup() {
// put your setup code here, to run once:
pinMode(OUTPUT_8, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(OUTPUT_8, HIGH);
delay(MIN);
digitalWrite(OUTPUT_8, LOW);
delay(day); // 1day wait
}
まとめ
現在では、トマトとトウモロコシ、ネギ、ソラマメ、ハーブの5つの鉢へ水やりをしています。
一つのポンプで複数の鉢に水を供給するために、
継ぎ手を使って水を分岐させています。
冒頭でも述べましたが、
稼働して今までは何も不具合等起きていない+植物も枯れていません!
コメント