検索:
Arduinoで自動水やり機を作ってみた|観葉植物の水やりを自動化するDIYキット

Arduinoで自動水やり機を作ってみた|観葉植物の水やりを自動化するDIYキット

Arduinoと市販の自動水やりDIYキットを使って、観葉植物に自動で水をあげる装置を自作しました。必要な材料・配線・プログラムまで、初心者向けに手順を解説します。

PR

はじめに

出張や旅行で家を空けることが多いと、悩ましいのが観葉植物の水やりです。「気づいたら土がカラカラだった」という経験がある方も多いのではないでしょうか。

今回は、市販の自動水やりDIYキットとArduinoを組み合わせて、土の水分量をセンサーで検知し、乾いたら自動でポンプが作動する装置を作ってみました。電子工作が初めての方でも取り組める難易度なので、手順を追ってご紹介します。

製作時間の目安:2時間、難易度:★★☆☆☆、小学生高学年以上のお子様と一緒にも取り組めます。


必要な材料

今回使用したのは以下の部品です。すべてAmazonで購入できます。

部品 用途 購入リンク
自動水やり装置 DIYキット(静電容量式土壌水分センサー+小型ポンプ+リレー付属) 土壌の水分検知・水の吐出・ポンプのON/OFF制御 Amazonで見る
Arduino UNO 制御基板 Amazonで見る
ブザー(任意) 水やり時に音を鳴らす Amazonで見る
ジャンパーワイヤ・ブレッドボード 配線 Amazonで見る

全体でかかった費用は、すでにお持ちのArduinoや工具を除くと、キット代を中心に2,000円以下でした。 Arduinoをお持ちでない方は、こちらのような入門キットでの購入もおススメです。 ⇒ Arduino 入門キット

アイディア次第で色々な工作が楽しめますよ☆


装置の構想

水分センサーが鉢の水分量を検知し、一定の値以下になったらポンプが作動して水をあげる、というシンプルな仕組みです。

装置の構想図


ポンプ・センサーを配線する

まずはポンプとセンサーを配線します。

ポンプは比較的大きな電力を必要とするため、Arduinoから直接ではなく、リレーを介してON/OFFする構成にしています。

配線図

配線で特に注意したいのは、リレーモジュールの極性(+/-)です。モジュールに印字されているシルク表記を確認しながら接続しないと、正しく動作しないので気をつけてください。


制御プログラムを作る

土壌水分センサーの値を読み取り、しきい値を下回ったらポンプを作動させるプログラムです。

// アナログ入力ピン
const int analogPin = A0;

// デジタル出力ピン
const int digitalPin = 2;

// しきい値(ADCの半分)
const int threshold = 450;
int cnt = 0;

void setup() {
  pinMode(digitalPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // A0の値取得(0~1023)
  int sensorValue = analogRead(analogPin);

  // 出力判定
  bool outputState = false;
  if (sensorValue < threshold) {
    digitalWrite(digitalPin, HIGH);
    outputState = true;
    cnt = 0;

  } else {
    digitalWrite(digitalPin, LOW);
    outputState = false;
    cnt++;
  }

  // シリアル表示
  Serial.print(" , A0 = ");
  Serial.print(sensorValue);
  Serial.print(" , D2 = ");
  Serial.println(outputState ? "HIGH" : "LOW");
  Serial.print("cnt = ");
  Serial.print(cnt);

  delay(150);
}

プログラムのポイント

  • threshold(しきい値)の数値を変えることで、水をあげ始めるタイミングを調整できます。植物の種類や鉢のサイズに応じて、実際に値を確認しながら調整するのがおすすめです
  • センサーの値は、Arduinoの「シリアルモニタ」からリアルタイムで確認できます

プログラムを転送すると、しきい値(450)を下回ったタイミングでポンプがON/OFFするようになります。

実際に運用してみると、我が家の鉢のサイズ・土の種類ではしきい値400前後がちょうど良い頻度でした。設置直後の1週間ほどは、シリアルモニタで数値を確認しながら少しずつ調整することをおすすめします。


ブザーを追加する

水をあげているタイミングが分かるように、ブザーを追加しました。任意の工程です。

ブザーの配線


完成した装置

完成品1 完成品2 完成品3

設置してから数週間経ちますが、水切れで植物がしおれることがなくなりました。出張前にセットしておけば安心です。


まとめ

Arduinoと市販キットを組み合わせるだけで、比較的簡単に自動水やり機を自作できました。出張が多い方や、水やりを忘れがちな方には特におすすめです。

同じくArduinoを使った電子工作として、ペット用自動餌やりフィーダーの製作記事もあわせてご覧ください。


本記事はアフィリエイトリンクを含みます。

【Arduino】ペット自動給餌器を自作する方法|旅行・出張中の餌やりを解決

PR

日帰り旅行で帰りが遅くなる時など「ペットの餌やりをどうしよう?」ってなりますよね。

そんな時に役に立つ、タイマーでペットに自動で餌をあげる「餌自動フィーダー」を自作してみました。夏休みの自由研究などにもおススメです。

ペット自動給餌器の完成イメージ図
完成イメージ図

用意するもの

制御基板https://amzn.to/4ymxWey
Arduino UNO
モータドライバhttps://amzn.to/45dWj0C
SU-1201(株式会社イーケイジャパン)
モータhttps://amzn.to/4bSVdeq
MG-12V-1:380(Olimex LTD)

今回使用した部品(モータドライバ、モータ)の合計は、Aruduinoを除いておおよそ4,000〜5,000円程度でした。百均で購入した外装部材(土台、滑り台等)を含めても、全体で5,000円以内に収まっています。

制御には Arduinoを使用しました。 Arduinoをお持ちでない方は、こちらのような入門キットでの購入もおススメです。 ⇒ Arduino 入門キット

アイディア次第で色々な工作が楽しめます。

シャッタ制御部をつくる

まずは一番重要なシャッタをタイマーで開閉する制御部分を作ります

モータドライバSU-1201の配線
モータドライバ(SU-1201)
制御基板Arduino UNOの写真
制御基板(Arduino UNO)

モータ

https://amzn.to/4bSVdeq
MG-12V-1:380(Olimex LTD)

まずはじめに制御基板とモータドライバをドッキングします。

・ArduinoのDIGITAL 0番ピンとモータドライバ基板のJ2-0 番ピンの位置
・ArduinoのANALOG A5番ピンとモータドライバ基板のJ4-A5 番ピンの位置
が合うようにして、しっかりと奥まで差し込みます。

プログラミングをするための、Arduinoの開発環境「Arduino SDK」をインストールします。
参考サイト:https://www.kkaneko.jp/tools/win/arduinoide.html

COMポートの指定

はじめにArduino SDKを立ち上げて、COMポートを指定します。
ArduinoとPCをUSBケーブルで接続すると、該当するCOMポート番号に(Arduino UNO)が表示されるので、それを選択します。

Arduino SDKでCOMポートを選択する画面

Arduinoタイプの指定

次にArduinoのタイプをTools -> Boad: > ●Arduino AVR Boards > から、「Arduino UNO」を選択してください

Arduino SDKでボードタイプを選択する画面

サンプルプログラムの実行

設定が完了したら、以下のサンプルコードを実行し、開発環境が構築できていることを確認します

void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
  pinMode(12, OUTPUT);
}

void loop() 
{
  // put your main code here, to run repeatedly:
  digitalWrite(8, HIGH);
  digitalWrite(12, LOW);
  delay(1000);
  digitalWrite(8, LOW);
  digitalWrite(12, HIGH);
  delay(1000);
}

Upload(右矢印マーク)ボタンを押して、プログラムを転送・実行します。

モータドライバ基板の2つのLEDが赤く1秒ずつ交互に点灯したらOKです。

実際にモータを動かしてみる

下記のコードを入力すると、モータが正転(1秒)⇒停止(1秒)⇒逆転(1秒)⇒停止(1秒)と動作します。

void setup() {
  // put your setup code here, to run once:
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(10, OUTPUT);
}

void loop() 
{
  // put your main code here, to run repeatedly:
  analogWrite(9, 160); //回転スピードの設定
  digitalWrite(4, LOW); //回転方向の設定
  digitalWrite(5, HIGH);
  delay(1000);

  analogWrite(9, 0); //回転スピードの設定
  delay(1000);

  analogWrite(9, 160); //回転スピードの設定
  digitalWrite(4, HIGH); //回転方向の設定
  digitalWrite(5, LOW);
  delay(1000);

  analogWrite(9, 0); //回転スピードの設定
  delay(1000);
}

次にタイマーを入れます

  analogWrite(9, 0); //回転スピードの設定
  delay(3600000); //設定したいタイマー値 [ms]

このコードを14行目の前に入れれば、タイマーが作動します。delayの()に入る数字がミリ秒単位のタイマー値なので、目的に合わせて数値を入れてください。

1時間なら、60×60×1,000で3,600,000となります。

装置を作る

モータの制御ができたので、次は餌やり機の本体を製作します。

百均で以下の材料を購入しました。

100円ショップで購入した給餌器の外装材料

段ボールなどで各パーツを作り、組み立て

・土台(フレーム)は、百均で購入した木を木工用ボンドで接着

・餌を入れるホッパは、トイレットペーパーの芯がぴったりだったので、それを段ボールにはめて使用

・滑り台の部分はプラダンを折り曲げて固定して使用

完成したペット自動給餌器の外観
完成した装置の外観

②市販品の紹介セクション(新規セクションとして追加)

自作が難しそう…という方には、市販の自動給餌器もおすすめです

電子工作に慣れていない方や、もっと手軽に導入したい方には、市販の自動給餌器という選択肢もあります。タイマー機能はもちろん、スマホから餌やりができるカメラ付きモデルなど、機能も充実しています。

タイプ①:シンプルタイマー式
  • エレコム「PET-AF06WH」:ダイヤルタイマー式。1日最大6回、1回あたり約7〜112gの給餌量を16パターンから設定可能。停電時のバックアップ機能もあり(https://amzn.to/4fbQmHyx)
  • マルカン「CT-526 ペット用オートフィーダー3Days」:3日間(6食分)の給餌に対応。長期不在にも使える設計(https://amzn.to/4wTePr3
タイプ②:スマホ連携・カメラ付き
  • PETKIT「自動給餌機 P570」:スマホアプリで給餌スケジュールを設定可能。ドライフードに加えフリーズドライフードにも対応。給餌時間のずれは1分以内という検証結果あり(https://amzn.to/44Id7g6
タイプ③:大容量・長期不在対応
  • Surfola「自動給餌器 SP03」:約4Lの大容量タンク、双方向音声機能とカメラを搭載。外出先からペットの様子を確認しながら給餌できる(https://amzn.to/4yrHyEU

まとめ

Arduinoとモータドライバを組み合わせることで、比較的シンプルな仕組みでペット用の自動給餌器を自作できました。旅行や出張で家を空ける際の「ペットの餌やり問題」を解決する手段として、ぜひ挑戦してみてください。

同じくArduinoを使った電子工作として、観葉植物向けの自動水やり機の製作記事もあわせてご覧ください。植物とペット、どちらも「留守中の世話」という共通の悩みを、電子工作で解決するアイデアです。

本記事はアフィリエイトリンクを含みます。