[完全自動化]水耕栽培のECを測定、自動で液肥を投入する仕組みの作り方・解説【Arduino】

水耕栽培のEC測定・肥料投入を完全に自動化する記事。

 

  • 水耕栽培における肥料の測定・投入
  • 自動化したい
  • 自作のセンサーでECを測定している人を海外に発見
  • 素晴らしい内容
  • 編集・再配布OKだから、日本語化&液肥投入の部分を僕が考えました

ということで、EC測定、液肥を投入するシステムを紹介します。

プログラミングの内容が登場しますが、分からない方にも真似しやすいよう記事を書きました。
実現できれば、水耕栽培用の肥料関係の自動化が進むはず。

ということで、やってみましょう!

写真たっぷりにすると、かなり長い記事になってしまいました。ご了承ください!

プログラミング、わからないんだけど…

当ブログ記事は初心者向けに書いているものがほとんど。
今回も同じノリを目指しました。

  • 難しいことは分からん!
  • プログラミングなんて、もっと分からん!
  • でも、コピペでできるなら、やりたい

現実のものを、自作装置で制御できたら、めっちゃ楽しいし、便利。

まず、動かせれば、プログラミング学習熱もバリバリ高まるはず。
なので、プログラミングって無理やろなぁ…と思う方こそ、挑戦していただければ嬉しいです!

少なくとも、今回の記事を真似するだけで、水耕栽培の自動化につながるはず!

コピペだけで、自動化するというテーマを掲げて、僕も初心者向けの記事を書きまくろうと思います。

【たぶん最速】Arduinoをコピペだけで動かしたい!超初心者向けの動作環境の作り方

2018.12.13

水耕栽培の液肥投入、自動化の動き

さて、それでは本題に向かいます。
水耕栽培の肥料自動投入はこのような動きです。

  • EC(≒肥料濃度)を測定
  • ECが低い場合  →  液肥をちょびっと投入
  • ECが高い場合  →  何もしない
  • 一定時間ごとに最初から繰り返す

例えば、EC1.3に保ちたい場合。

30分に1回、ECを測る。
ECが1.2なら液肥を入れて、ハイポニカとかの肥料を投入。

また、30分後にECを測る。
1.35になってた。1.3を超えているから、肥料を入れない。

これをずーっと繰り返してくれるから、容器のECは常に1.3くらいになる。

こんな状態を作りましょう。

ECメーターの自作方法は既に公開されている、感謝

その前に、謝辞から。

えっ?となるかもしれませんが、
ECメーターの作り方・測定方法は海外の方が考案してくれ、ばっちりと公開してくれているからです。
(原案、英語サイトへリンクします)

  • ECメーターの自作方法
  • 測定方法
  • 校正&調整方法

こんな至れり尽くせりな状態で、用意してくれています。

プログラミングができたとしても、ECセンサーは9800円くらいの価格で売られています。
でも、この方法はセンサーも自作します。

普通のコンセントを流用して作るので、数百円あれば余裕で作れるようになる画期的方法です。

元サイトを見れば、使い方も簡単に分かるし、素晴らしい内容となってます。

しかも、編集・再配布OK。
なので、僕も以下のことを追加し、素晴らしい流れを加速させたいと思います。

  • プログラムを日本語化
  • 測定を元に液肥を投入する方法
お待たせしました。それでは、作成に移りましょう!

作成手順

完成までの手順はざっくりと、次のような流れです。

  1. Arduinoの動作環境を作る、材料の用意
  2. プログラムをコピペ
  3. 電子工作
  4. 給肥部分の作成

0.Arduinoの動作環境を作る

Arduinoが動かせないと、残念ながら今回の記事通りにできません。

Arduinoってそもそも、なんや!?って、あなた。
とにかく動かしたい方って方は、最速で動作環境をつくる方法をご覧ください。
0からArduinoを動かす方法を解説しています。

また、Arduinoってやつを持ってないんですけど…って初心者の方は、
Arduinoを始めるセットを買うのが、コスパもよく、必要十分かと!2017年12月、僕もそこからスタートしました。

0.材料の用意

次の材料を使用しました。

最低限必要な物を書きましたが、なかなか用意するものが多いです。
作業を見てもらって、これはいらないか…と思うものを省いてもいいかもしれません!

また、補足を書いておきます。

  • Arduinoをこれから用意しようって方、1~5はArduinoを始めるセットに内蔵されています
  • 水中ポンプは50Hz用、60Hz用があるため、注意
  • 温度計等、電子パーツは中国から買えば時間かかるけど、めっちゃ安いです

 

1.プログラムをコピぺ

まずはプログラムの公開から。

繰り返しになりますが、測定プログラムはこちらのサイトで公開されています。
僕がそれを追加・編集したものが以下となります。

これを、コピペで動かす方法の通りに作業すれば、とりあえずは動くようになります!

2.電子工作

それでは、電子工作部分を作っていきましょう。
写真たっぷりでお届けするので、ざざざっと流し見で全体像を把握すればいいかも。

電子工作、ちょっとかじったことあるよーって方なら、本家のサイトを見てもらう方が、さくっと分かるはずです。
迷ったら、そちらをご覧くださいー!

 

それでは、Arduino、ジャンパーケーブル7本、ブレットボードを用意して、始めましょう。

Arduino、ジャンパーケーブル、ブレットボード

▼Arduinoにジャンパーケーブルを差し込みます。

ジャンパーケーブルを刺します

▼5本のジャンパーケーブルを刺しました。

白:5V
黒:GND
赤:A0
灰:A1
橙:A4

5本のブレッドボードを刺した様子

▼Arduinoの上部分、デジタルピンにも2本刺しました。上記と合わせて、計7本のケーブルが刺さりました。

灰:13
黄:10

デジタルピンにも刺しました

▼小さいブレットボードに繋ぎます。(この写真ではA0、A1の電線が逆になっています。誤りです。)

ブレットボードに繋いでいきます

▼ブレットボードには、このように刺しました。
ブレットボードの中身ってどうなってるの?って方は、こちらの画像を見れば分かるかも!
穴の内部で列同士がつながっています。

このように刺します

▼次に抵抗を使います。1kオーム、4.7kオームの2本。

2本の固定抵抗

▼足をこんな感じに折り曲げて…

固定抵抗の足を曲げる

▼ブレットボードに刺しました。ジャンパーケーブルと同じ列に刺さっています。

4.7kΩ: 黄(10)の列、白(5V)の列
1kΩ: 赤(A0)の列、橙(A4)の列

ブレットボードに抵抗を装着

▼次に、防水型の温度センサー(DS18B20)を用意します。

防水型温度センサー DS18B20

▼温度センサーの3本をこのように差し込みます。

黄:上側、左の端の列
赤:下側、左の端の列
黒:下側、右の端の列

温度センサーの3本をブレットボードに差し込む
電線が細く、抜けやすいから注意

コンタクトピンを取り付けて、しっかりと刺す方法を近日中に紹介します。

また、抜けてしまうと、温度が取得できず、エラーがでます。後述しますが、温度を測っても、-127 ℃ の表示が出るはず。

▼コンセントプラグを用意します。これは、捨てる予定の電化製品から拝借しました。

コンセントプラグ

▼プラグとは逆側の先端を…

プラグとは逆側の先端

▼銅線を露出させました。上の写真に写っているような工具があれば、めっちゃ楽に作業できます。

銅線を露出

コンタクトピンを装着し、ブレットボードに差し込みやすくしました。
ここではQIコネクタのコンタクトピンの装着しました。

装着する作業の詳細は動画を見られると分かりやすいかもです!

コンタクトピンを装着、

▼コンタクトピンを装着したコンセントを、ブレットボードに差し込みました。
差し込みにくいと思いますが、コンタクトピンを装着せず、銅線のまま差し込んでもOKです。

片方:灰色の線(A1)が刺さっている列
もう片方:赤の線(A0)が刺さっている列

コンセントを装着

▼電子回路部分、完成です。

電子回路部分、完成
お疲れ様でした!ちょっと小休止しましょう!

3.100V部分の作成

100V部分

続いて、100Vの電気が流れる部分を作っていきます。

ここでは、VCTFKをコンセントプラグ(オス/メス)に取り付けたりします。
ただし、作業の紹介は割愛気味。もっと作業の様子がじっくり見たい…という方は、延長コードを作る記事をご覧ください!

▼VCTFKにオスのプラグを取り付け。

…の予定でしたが、材料が不足してしまったため、左のくるくるコードに置き換えます。
これも他の捨てる予定の電化製品から頂戴したもの。

この作業については、動画で解説しています。

オスのプラグを取り付け

▼次にメスの作業を進めます。VCTFKという電線を取り付けます。
まずは、プラスドライバーでネジを緩めました。

こちらも動画を作りました。

▼画像だけでパラパラ見る場合は以下。これはネジを緩めているところ。

ネジを緩める

▼御開帳。

開きました

▼電線をストリップします。これも工具があれば簡単。無ければ、ナイフや丈夫なカッターでも可能。

ケーブル外装 5cm
心線被覆        15mm

VCTFKのストリップ

▼ゆるみがないよう、取り付け。ネジを締める際に被覆を噛まないようにしてください。

ネジで取り付け

▼ネジをしっかりと締めました。

ネジの取り付け完了

▼元通りに戻します。

元通りにネジを締める

▼2つ作成しました。

2個完成

▼この2つは後ほど区別する必要があります。マスキングテープを貼り、常時通電と記載しました。

区別できるように記載

 

続いて、SSR(ソリッドステートリレー)に電線を取り付けます。
ここで使った電線は1.6mmのIV線。赤と白の線を使いましたが、色はなんでも大丈夫です。

SSRとIV線

▼SW-1と表記がある側(2つのターミナルブロック)に、プラスドライバーで電線を取り付けます。
ネジを締める際は、”なめやすい”から注意。ドライバーでネジを押し付けつつ、締めてください。

ドライバーで取り付け

▼曲げて完成です。

完成

 

ここより、電線同士の接続を行います。

使うのは、端子台。
銅線部分を端子台に接続することで、電気が通るようになります。

とにかく、端子台を使うことで、圧着工具を使わずに電線の接続ができます。

繋ぎ方、注意!
繋ぎ方を間違えてしまうと、通電した際に、火災や感電につながる可能性があります。

注意の上、作業願います。

配線図はこんな感じ。
以下の繋ぎ方になるように、接続していきます。

 白線を赤枠にしたんですが、わかりにくいですね…。
配線図

▼プラグのオス部分、SSRを端子台に繋ぎました。

オスのプラグ、SSRをつなぎました

▼接続部分を拡大。

左から

1  (なし)
2 コンセントオス 片側
3 コンセントオス の別の片側  & SSR
4   SSR

拡大画像

▼ダブルのコンセント2つも端子台の下側に取り付け。

全て端子台に接続

▼拡大写真。この部分の取り付けを間違えないように、特に気を付けてください。

左から

1  (なし)
2 常時通電の白線& もう片側の白線
3 常時通電の黒線
4   もう片側の黒線

拡大写真

▼端子台にカバーを取り付けます。

端子台にカバー取り付け

 

最後の作業です。
ブレットボードとSSRを接続します。

▼SSRに3本のジャンパーケーブルを取り付けます。

▼左から、

白:DC+
黒:DC-
白:CH1

▼ブレットボードへの繋ぎ方です。

DC⁺の白: 白(5V)と同じ列
DC-の黒: 黒(GND)と同じ列
CH1の白: 灰(13)と同じ列

SSRのブレットボードへの繋ぎ方

▼完成です。長い間の作業、お疲れ様でした!

完成

3.5 小休止、現段階で測定できます

作業お疲れ様でした!まだ液肥を投入する…という部分はできてませんが、現時点でEC測定は可能。
ということで、やってみます。

測定

▼USBケーブルでArduinoとPCを接続。

ArduinoへUSB接続

▼温度センサー、プラグを水中へ。コップの中の水は水道水を使いました。

温度センサー、プラグを水中へ。

▼PCでArduinoを起動し、Ctrl+Shift+Mでシリアルポートを開くと…

ArduinoでECを測った結果、0.29

無事、ECが測れました。

▼念のため、手持ちのEC計と比較してみました。

手持ちのEC計でも測定

▼0.304、0.276、0.272でした。

EC計3台の値

3台のEC計の平均をとると、約0.28。
Arduinoで測定したECは0.29。

ほぼ同じ値が取れることが分かるのではないでしょうか。

 

 

4.給肥部分の作成

ECの測定ができるようになったところで、最後の液肥を入れる部分を作っていきましょう。

現在の動き・できることをまとめると、

EC≦0     エラーの表示

0<EC<1.3    コンセント(常時通電と書いていない)に5秒通電

1.3≦EC      何もしない  

※赤線の値は変更可能

つまり、ECが低ければコンセントに5秒間電気が流れるということ。
あとは、ポンプを適切につないであげればOKです。

それでは、液肥を投入するポンプ部分を作っていきます。

▼ハイポニカ・大塚ハウスで使えるよう、2つの液肥を使う仕様。Rio+800を2つ用意しました。

Rio+800を2台準備

▼箱を空けるとこんな感じ。ポンプ、複数の樹脂パーツ、取り扱い説明書が入っています。

Rio+800の中身

このまま、ポンプを取り付けるだけでいいか…とも、思いましたが、
液肥のチューブを伝って逆流してしまう可能性にビビりました。

植物を育てている容器から、液肥タンクの中へ水が逆流して欲しくない。
ということで、逆流防止弁を取り付けることにしました。

▼付属している樹脂パーツから、それっぽいものを見繕いました。

樹脂パーツをいくつか組み合わせ

▼繋げました。

組み合わせ

▼ポチっとしている部分は、先端が取れて、チューブが挿せるようになっています。

先端は取れるようになっています

▼外径は4.75mm。内径がそれくらいのチューブを選ぶと、取り付けられます。

外径は4.75mm

▼チューブ、逆流防止弁を用意。

チューブ、逆流防止弁

▼チューブと逆流防止弁を取り付けました。

Rio+に逆流防止弁とチューブを装着しました。

▼また、この部分を真横にしておきます。こうすることで、チューブ方面だけに水が流れるようになります。

真横にして水が流れないようにする

▼これで、ポンプ部分は完成。液肥のタンクとして、20リットルのポリタンクを使います。

液肥のタンクはポリタンクにしました

▼ポンプ投入。

ポンプを投入

▼ポンプの吸盤部分で、タンクの底あたりの側面に貼り付け。

吸盤部分を底に張り付けました。

▼上から見た様子は、こんな感じになりました。

上から見た様子

これを2つ作って、完成です。

以上、長い間お疲れ様でした!
かなり長くなってしまったため、今回の記事はこれでしめようと思います。

また、これを動かして、自動化する記事も書くため、そちらもお楽しみに!

 

動作を変更したい場合

液肥を入れるEC濃度を変えたい、液肥の投入時間を変えたい場合は、プログラムを変えればOKです。

-設定するECを変えたい

プログラムの43行目。1.3を1.8等に変更ください。

float setEC = 1.3; //ECを1.3から変更したい場合はここを変更

-液肥の投入時間を変えたい

プログラムの44行目。

int pump_time = 3000; //ポンプを動かして、液肥を投入する時間 単位はミリ秒。ex)1秒=1000 1分=60000

-PC無しで表示させたい

ArduinoのLCDディスプレイを付けて、モニターで見なくても独立して表示させられます。
組付け方がちょっとややこしくなるため、別記事で紹介します。少々お待ちを。

-リクエスト募集中

この部分を変えたい…などのリクエストあれば、コメントもしくはTwitter @nadehisashi にDMくださいませ!

今後の展望

この自動化システムに、スマホ連動を連動させたりして遊んでいます。
のんびり進めつつ、Twitterで、ちょくちょく報告しています。

  • スマホと連動
  • スマホで遠隔操作・リアルタイム確認
  • EC濃度などの設定もスマホから
  • 維持費は、ほぼ無料

準備に手間取っておりますが、また、公開したいと思います!

体験者コーナー

体験者コーナーです。
当記事を読んで、実践してみた!こんな方がいたらここで紹介させて頂きます。ブログのURLや、Twitterの投稿なんかを教えてください!

この記事を読んでくれる人のセカンドオピニオン的な存在になるかなと思っています。

募集中です!

まとめ

以上、Arduinoを使った、水耕栽培の肥料投入自動化の記事でした。

  • 海外の有志のかたが考案してくれた方法・プログラムを編集
  • 測定・液肥投入をするプログラムを日本語で作成
  • プログラムにあった、装置を作成
  • ECも測定できたし、液肥の投入もできる
  • これで自動化できるぞ!

長い記事、お疲れ様でした。
動かしたらどうなるの…?という部分は次回に譲ることにします。

そちらの記事もご期待くださいませ!
それでは、あなたの水耕栽培がより面白くなることをお祈りしています。

ご清聴ありがとうございました。

2 件のコメント

  • すばらしいこころみで 私も(70歳)趣味て゜ 水耕栽培(125φエンビパイプ L=12M システム)で悪戦苦闘を楽しんでいます
    私もなんとか 製作してみたいと思います
    現在 温室の加温に 堆肥発酵ヒーターのトライを始めました 費用のかからないエコな暖房を……

    PLCにトライしたいとの事 次のソフトが 「SoapBox Snap」 Arduinoでラダーソフトが動く(まだテストはしていませんが)
     あとPICで 「連枝」で動きます

    すばらしいシステムを公開してくれまして 感謝! 感謝!

    • 増井 信幸さん、こんにちは。
      塩ビパイプで水耕されているんですねー!

      発酵ヒーター、すごく気になります…。
      堆肥を作成するときの熱を利用するということでしょうか!
      僕もビニールハウス内で水耕栽培をしているんですが、コストを抑えつつ、加温したいと考えております。
      良ければ、材料・方法など教えて頂ければ嬉しいです。

      毎年、3月頃まではPLCのエントリーモデルが純正ソフト込みで8割引きほどで売られているため、購入しようかどうか迷っています(笑)
      それでも8万円ほどしてしまうため、、、毎年見送っておりますが^^;

      Arduinoで動くラダーがあるとは知りませんでした!
      SoapBox Snap。これはすごい。
      C言語よりもラダーの方が、僕には操作がしやすいため、ラダーが動くとなれば非常にうれしいです。
      また、確認してみます!!

      情報、ありがとうございますー!

  • コメントを残す

    メールアドレスが公開されることはありません。