Arduinoで水やりを自動化してみる(電子工作)


※電子工作初心者なため、間違っている部分などがあるかもしれませんので、訂正点あればコメントいただけると嬉しいです。


12月も後半に突入し、年末年始を心待ちにしている方も多いかと思います。
私も同じく楽しみにしているのですが、一つだけ不安点があります。

### 水やりどうしよう

最近ベランダガーデニングを始め、毎日の水やりが日課になっていました。

帰省で数日家を開けている間に水不足になってしまっては困ります。
そこで、土が乾いたら水やりをする装置を作ることにしました。


## 使用した道具

・自動水やり装置 DIYキット(amazonで購入)
・Arduino Uno (ジャンパーワイヤーなども含む)
・ドライバー、はんだごてなどの工具
・モバイルバッテリー　2個
・USBケーブル
・プラスチック収納ケース
・バケツ
・ホース用分岐
・ハンガー

##### Amazonで購入したキット内容
- リレー　1個
- 土壌湿度センサー　4個
- モーター　5個
- ホース　5m
- ソースコード、チュートリアルがあるgithubアカウントが書いてある紙

![IMG_20211215_124558.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/a18c26ee-7f05-94f9-02be-0f21f9d675ee.jpeg)

このキットでは4つのセンサー、モータで4箇所別々に水を送ることができるのですが、今回は1つ分を使用します。

## 電子部品の紹介
### リレー
電気信号で電源のOn/Offを切り替える部品です。今回は水送用モータのスイッチとして使います。

### Arduino Uno
マイコンの一種です。Arduino IDEを使ってコードを書き、パソコンとArduinoを接続することで内部に書き込みができるようになります。

![IMG_20211219_224530.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/c8bae980-3ac1-eeaa-3ada-a00e594938ad.jpeg)
上の青い部品がリレー（電気スイッチ）、下がArduino（マイコン）です。

### モーター
送水するモーターです。ホースを接続して植木鉢に水を送ります。

### 土壌湿度センサー
土の湿度を測る部品です。

![IMG_20211219_230054.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/a8ccf351-e823-c288-5f14-83fd15cf63c5.jpeg)
上の部品がモーター、下が土壌湿度センサーです。

## 工作
### モーター、リレー
まず、モーターのケーブル1本とUSBケーブル1本を繋げます。このUSBケーブルは、モバイルバッテリーから電源を取るためのものです。
![IMG_5999.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/75e5d1b3-cf7a-08c8-1a94-a4453689f174.jpeg)
片方がType aになっているUSBケーブルを使用します。充電できなくなったケーブルなどを再利用すると良いです。通常はUSBケーブルを切断すると電源用とデータ送信用のケーブル両方が入っているので、そのうちの電源ケーブルを使用します。
![IMG_6003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/eb0da046-ccc3-a24c-6f89-0ea5a99aa948.jpeg)
ケーブルをクリップで固定してはんだ付けをし、絶縁しました。
後は、モーターから出ている残りのケーブル1本と、USB側のケーブル1本を付属のチュートリアルに従ってリレーに接続します。
![IMG_6015.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/e277302c-9703-bca5-76f0-37adac0e99cd.jpeg)

リレーの反対側のケーブルも接続します。
![IMG_6018.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/c05eb08c-4f9f-3cf3-77a2-a2951a64b694.jpeg)
VCC、IN1、GNDにそれぞれケーブルを繋げます。

##### VCC
リレー自体へ電源を供給するためのPINです。モーターにつなげたUSBケーブルに繋ぐ電源はモーターを動かすためだけに使われるので、リレー用にも電源が必要になります。Arduino側のPower Vinに繋げます。
##### IN1
リレー内の1番目のスイッチに電気信号を送るためのPINです。Arduino側からのアウトプットであるDigital pin 2へ繋げます。
##### GND
電位が0vの部分です。電流が流れるための電圧の差を生み出す役割をしています。VCCから入った電流の出口です。Arduino側のDigital GNDに繋げます。

##### Arduino側の画像
![IMG_6016.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/11882332-7661-136f-3753-b51ecb6786a5.jpeg)
![IMG_6017.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/2caa6460-3112-4e41-e303-73cdf5865967.jpeg)

### 土壌センサー
土壌湿度センサーを繋げる前に、ケーブルが短いので延長します。20cmのジャンパーワイヤーを2本づつ繋げて延長しました。接続部はケーブルの色を見たい&防水したかったので送水用ホースの一部を利用しました。
![IMG_6021.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/32651038-8596-3295-2b7a-bcd1de1ee9aa.jpeg)
ホースを通して癒着テープで止めました。
![IMG_20211220_011853.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/3b88db38-a5c7-61d9-52a6-1db1bb62a1f9.jpeg)
こんな感じになりました。
土壌湿度センサーもArduinoに接続します。
![IMG_20211220_012207.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/91abc9fb-03b6-039a-081a-11883c6e118e.jpeg)

GNDとVCCは先ほどもありましたが、新しくAOUTが出てきました。
##### AOUT
Analog Outputの略です。計測した湿度を出力します。先ほどArduinoからリレーに接続したDigital pin 2はデジタルアウトプットでしたが、今回はアナログアウトプットです。デジタルアウトプットは0か1のみ(On/Offのみ)ですが、アナログアウトプットでは計測結果の数値などを送ります。Arduino側のAnalog IN A0へ接続します。

##### VCC
Arduino側のPower 3.3vへ接続します。
##### GND
Arduino側のPower GNDへ接続します。

##### Arduino側の画像 
(写真撮り忘れて完成後に撮っているので見にくいです)
![IMG_20211220_012241.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/6c08d5cf-b773-4222-2594-d55126aaf041.jpeg)

### 全体
![IMG_6024.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/ad94c9f5-35e0-14e5-5b3f-f5356639b6d6.jpeg)

### コードを書き込む
Arduino IDEを使ってコードを書きます。今回はキットのチュートリアルを元に一部変更しています。
コードが完成したら左上のチェックマークをクリックして検証します。問題がなければ右矢印をクリックしてArduinoにデータを送ります。また、Arduinoに接続している状態で右上の虫眼鏡をクリックするとシリアルモニタが表示され、リアルタイムで土壌湿度を見ることができます。
![スクリーンショット 2021-12-19 23.05.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/482b8778-406a-427e-89d2-ab3f061c686a.png)
![IMG_6027.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/7223d3a5-00e4-0bbf-94fa-9592117cb2b7.jpeg)

### 動作確認
湿度センサーが乾燥しているときは、リレーのライトが点灯（電源On）しています。
![IMG_6028.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/fef27c32-b557-9891-8155-bdb7e49f69ba.jpeg)

湿度センサーを水につけると、リレーのライトが消灯（電源Off）しました！動いています。
![IMG_6029.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/754f23f5-1623-6a4d-66c3-3c21b937d2be.jpeg)

モーターを水に入れて、電源を接続してみます。
![IMG_6034.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/c2fdd41b-067c-77a2-eb24-a7c410dd8381.jpeg)
モーターも動きました！

外に置きたいので、防水するためプラスチックのケースに入れます。
![IMG_6045.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/d13328df-0c0f-4c3d-0825-592c9720fd39.jpeg)

大体の位置を決めて、ケーブル用の穴を開けます。穴を開けるときにはんだごての熱で開けたのですが、プラスチックの焦げた臭いが部屋に充満したので加熱して穴を開けるのはおすすめしません。
![IMG_6049.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/fd3149cc-c638-67cf-ec0b-5d7ce622fd8b.jpeg)

リレーとArduinoをケースに固定します。結束バンドとテープを使いました。
![IMG_6066.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/e23b5823-1ac1-4722-8ddc-ec15a828fa52.jpeg)

モーターにホースを接続してみました。ちゃんと水が出ています。
![IMG_6068.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/efa9d759-b5b5-dc5e-2d03-ee8e2fdb7629.jpeg)

### ベランダに設置してみる
土にセンサーを差し込みます。
![IMG_20211220_120956.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/8aafd69d-5a90-2326-63b4-d305821f8e1f.jpeg)
ホースに分岐を作って土に差し込みます。
下にある植木鉢には上から落ちてくる水を再利用します。
![IMG_20211220_121920.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/d4bfe112-0417-26a5-12a5-004be88cdc68.jpeg)
モーター用のモバイルバッテリーはソーラーパネルが付いているものを使用しました。
ちょうど良いハンガーがあったので引っ掛けました。
![IMG_20211220_122535.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/e08ebd8c-025a-0e68-8bd1-e981cd06d52c.jpeg)
完成！動かしてみます。
![IMG_20211220_123546.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/fcfaea14-cbcc-0367-49cd-c605414b9937.jpeg)
ちゃんと水が出ています！成功です！
![IMG_20211220_121954.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/851917/d21bb95e-8ff9-34aa-98a2-ee8cbbac7fb7.jpeg)

この後、5分後ぐらいに下の植木鉢にあるセンサーが反応して水が止まりました。
今回8Lのバケツを使ったのですが、1回で半分以上水がなくなってしまうのでもっと大きいバケツもしくはタンクなどを用意したほうがよさそうです。

### お読みいただきありがとうございました！