家庭菜園 自動水やり機

プログラミング

家庭菜園をしたいけど、毎日水やりは面倒ですよね。

とはいえ、アマゾンで売っている自動水やり機はかなり高い。

でも、毎日なんて水やりをしたくない!!

そう思って、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つの鉢へ水やりをしています。
一つのポンプで複数の鉢に水を供給するために、
継ぎ手を使って水を分岐させています。

冒頭でも述べましたが、
稼働して今までは何も不具合等起きていない+植物も枯れていません!

コメント