[完全自動化]水耕栽培の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.プログラムをコピぺ

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

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

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

また、以上ではライブラリを使用しています。
このブログではライブラリの作成については、紹介しません。

既に多くの先輩方がライブラリの使い方を解説しているため、そちらをご参考くださいませ!

「Arduino ライブラリ」でググるとたくさん出てきます!

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の投稿なんかを教えてください!

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

2021年2月追記
小規模向けで作って欲しいという声を多数いただき、ミニ植物工場化向けで開発中です。

募集中です!

まとめ

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

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

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

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

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

24 件のコメント

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

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

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

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

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

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

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

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

  • 悠々さま
    発酵ヒーターの件  2種類ほど発酵方式があります
    1:好気発酵   ….. 発酵熱が高く(60℃くらい) 期間が短い1~2ヶ月 切り替えしが必要
    2嫌気発酵   …… 発酵熱が低い(20-40度くらい) 期間が長い 半年から1年 切り替えしが不要
    私が調べた内容としては上記ぐらい
    トライ最中なので…. 多点温度表示器つきロガーがほしい

    ロケットボイラー製作途中 バッテリー溶接機も途中
    仕事が入ると 全部ストップしてしまう
    頭のなかで ストレスが…..

    連枝については PICが焼ける環境であれば 小規模なシーケンス は実用になります
    ラダーソフトは PLCノのプログラムにて 確認ずみ 商用PLC言語と遜色ありません
    KICADがあれば プリント基板まで 自作可能です

    申し遅れました 私は まだ現役(70歳)で 制御関係の仕事をしております
    これからも よろしくお願いします。
         増井

  • 悠々様(まだ君かな)
    私はあまり マイコン(Arduino)詳しくなく PLCで制御盤を作る仕事をしています もしPICのプログラム環境があるならば 連枝というPICをシーケンサーラダーでコーティングできます このラダー言語は 商用PLC言語と遜色がありません
    ただ RUN後の 内部モニタは出来ませんが…..小規模なら実用になると思います。

    発酵ヒーターは 私も温室の冬場の加温について なやみたどり着きました
     踏み込み温床(発芽温床)から堆肥発酵熱の利用のサイトにたどりつき 嫌気発酵,

    好気発酵の二つがあるとわかりました
    なお 発酵熱発生の長さ等は 発酵し易い(落ち葉,野菜くず)が短く発酵しにくい
    (木チップ,竹パウダー)が長いとありました

    嫌気発酵 
     空気を遮断して発酵させる 発酵温度は低く(20-40℃) 発酵時間は長い(3ヶ月)
    好気発酵
     発酵に空気が必要 発酵温度は高く(20-60℃) 発酵時間は短い(1週間から1ヶ月)
     欠点として酸欠になる為切替し(攪拌)が必要

    まだ取掛かったばかりなので詳しくは…..

      増井

    • 増井さん、こんにちは。

      複数の話題を詳細にわたってご紹介頂き、
      ありがとうございます。

      また、PLCを使って制御盤作成のお仕事をされていること、驚きです。
      PICの連枝で、同様のラダーが動くよ…などの情報は非常に助かります。

      以下、いくつかの話題がありますため、
      分けてご返信させてください。

      [発酵ヒーター]
      なるほど!2種類の発酵方式があり
      温度、手間、持続時間が異なるのですね。

      好気発酵はまさに堆肥づくりですね。
      嫌気発酵でも、それほどに温度が上がるとは、
      驚きです。

      温度、酸素濃度、水分量をモニターし、
      切り返し等をモーター等で制御できれば
      すごく面白いんじゃないか?とワクワクしました。

      また、野菜くずはどうしても出るため、
      有効活用できれば、なお面白いですね。

      現在、実験用のビニールハウスを自作しています。
      その中で、真似させていただきたいです!

      [PLC/PIC]
      PICが触れる環境ならば、
      Arduinoは触る必要がなさそうですね。
      僕は対称に、Arduinoより電子工作の世界に入ったため、PICを焼ける環境にありません…。

      ただ、連枝がそこまで信頼性あるもので
      あるならば、かなり気になってきました(笑)

      ・僕のC言語レベル
      ・ラダーの組みやすさ
      ・デバッグのしやすさ
      などなどを考えると、
      導入する価値は十分にあるかもしれません。

      また、疑問なんですが
      ラダーの情報はインターネットで手に入るものでしょうか?

      国内は三菱を始めとして、オムロン製等がありますよね。
      海外では、シーメンスでしょうか。

      国内外問わず、ラダープログラムを使っている方はほとんど業務用。
      そのため、ホビー使用が少なく、結果的に情報が少ないイメージです。

      僕はインターネットでの情報収集が主です。
      なので、ホビーユーザーが多い(=ブログ等のネット情報が多い)
      が、理由で、ラダーを見送り、Arduinoを選びました。

      「ラダーで動き、ネットで情報も多い」

      こんな環境があれば、最高なのですが…。
      お答え頂ければ幸いですm(_ _)m

      僕も色々なことに手を伸ばしすぎてしまい、
      中途半端な物がいくつもあります…。
      もっと完結を目指さないといけません^^;

      長いコメント、読了して頂き
      ありがとうございます。

      今後ともよろしくお願いいたします。

  • ラダーの情報は ネットでは なかなか難しいかもしれませんが メーカーサイトに時々あります なお三菱電機メーカー等のサイトに 会員登録をすれば シーケンサーソフトのリファレンス等ダウンロードできます(応用,詳細 PDF 各400ページほど) 
     メーカーによっては お試しの ラダー編集ソフト等も キャンペーンで時々出ています
    いままで PIC,Arduino では オンラインでのデバッグ(RUNした状態で 入出力を見ながらデバック)が出来ないのと メモリー上の プログラムの呼び出し修正ができないので 
    ただ未確認ですけど 「SoapBox Snap」はラダー上で入出力,内部リレーのモニタが可能なようです
     経験からすると 手元の制御ならば Arduinoでも しかしながら メンテナンスの必要な制御には なかなか使えません…
    5年程(長いものでは20年)後に メンテナスの電話が入ります  5年後にArduinoが 手に入るか 環境 が手に入るか心配です

    悠々君の 水耕栽培の規模(溶液は ? リットル) どれくらいでしょうか  私のシステムでは5,000リッター位でポンプを間欠運転(15分に20秒)で夜間は停止 ですので EC値が落ち着くのに 5日位かかると思われますので EC値の自動管理はあきらめました
    ただ EC値の下限警告は 必要かとおもいます

    よかったら 実験設備の概要を教えてください
       
    増井
        

    • 増井さん、こんにちは。

      なるほど!
      以前、機会があり三菱のPLC、iQ-Rを半年ほど触っていましたため、
      基礎部分くらいは動かすことができるかと思います(初歩の初歩だと思いますが…^^;)

      Run中のデバッグは、一目で見てよくわかるし、すごく便利だなぁと思っていたため、出来れば作業効率がすごく上がりそうですね!
      「SoapBox Snap」すごい…。

      経験のお話、すごくありがたいです。
      なるほど、メンテナンスの時に、業界の長さが重要になってくるのですね。
      お恥ずかしながら、「Arduinoが手に入らない環境」を考慮にいれておりませんでした…なるほど。

      湛液水耕で、10個のベッドがあります。
      一番水量があるものは5t。
      鐘山グリーンテックの水耕用肥料を使用し、水は常時循環しています。

      手動でEC管理をしていて、追肥時には400ccの濃縮液を入れて、翌日確認…のようなアバウトな管理で、3年ほどになります。

      警告の通知、なるほど。
      現在、スマホでECを確認しています。
      ESP32というマイコンを使い、下限、上限を超えると警告を通知させるつもりです!

  • 悠々君 おじさんの戯言に付き合ってくれてありがとう
    実験的に水耕栽培をしているなら こんな方法は
     
    名称:礫栽培
    名前の通り BOX(LxWxH(300mm位))のなかにビニールを張りタンクとします その中に水と親和性の高い
    砕いた礫(レンガ,古い瓦)をいれベットとします ポンプ間欠運転で溶液を投入 排水はサイフォンで
    下限 ベットから50mm 上限ベットから20mmm(礫の表面の少し下で排水) 
    長所は 水耕栽培全般に言えることは 背が高く上に作物がなる植物には向かない(根の保持力が弱い ささえを必要とする)
    礫栽培は礫に根が絡みつくため ねの保持力が強く パブリカ等で成功しております
    欠点は ペットの重量が重くなる為土台が頑丈でないと 小生はビール瓶の搬送用のboxをつかっています  サイフォンは ベルサイフォンを作ました(図面が載せられないためネットで検索を)

                    増井

    • 増井さん、こんにちは!

      礫ですか!
      トマト等の実をとる作物(大きく育つ)が、うまく育たないのは背が高くなるからなんですね。
      確かに、支柱を立ててやったりすると、安定して育つような…。

      なるほど。廃材?で作れるところが良いですね!
      材料が集まれば、ぜひ試してみたいです!
      あまりコストがかけられないもので…^^;笑

      ベルサイフォンの紹介もありがとうございます。
      1年前ほどに試行錯誤したんですが、なかなかうまくいかなかったのですよね…^^;
      溶存酸素を高めたくて、大部分排水→給水のサイクルを目指しました。
      外側のパイプと内側のパイプ径の絶妙なバランスが、すごく難しいです(笑)

  • 悠々君へ 
    ここにPDF もしくはDXF BMPは 張り付けれませんか ベルサイフオンで苦労したとか ベルサイフォンは 私が実験した限りでは 再現性の高いものでした あと 一定の幅で養液の間欠排水を行うには
    ふつうのサイフォンに給水側にループを作り排水側にオーバーフローを設ければ出来ます  メールアドレスをいただければ 図面を添付しますけれど.....

    カーテーン,天窓の自動開閉の自動化は 実施しました  モーターの減速比をかせぐには 簡単な方法は
    充電ドライバー(12v)で 長ネジを駆動することです 長ナットを移動させそれを負荷に接続
    長なネジ(12mm以上の寸切りボルト)を使う理由は 長ネジ,長ナットそれ自体でかなりの減速きになります
    さらに 加重を ねじに負わせ モーター出力軸の軸方向に加わるアキシアル荷重を掛けません
    をまた中型以上の電機ドリル(100v)を正逆に改造出来れば これも okです

    あと 減速比の大きなモーターと機械を接続するには それなりの機械強度を要求されます 樹脂ではもたないと 思います 

    イチゴ栽培について詳しく 教えて下さい ベット,培地,システム構成, 受粉はどうしていますか
    まだ一度も満足な結果をだしていないので

    増井

     
      

  • はじめまして

    参考にさせていただき無事に自動投入できるようになりました。毎日キュウリが食べきれないほど採れてます。

    私の所は小規模ですのでポンプをDC12V駆動の蠕動ポンプにして原液を直に養液槽に投入するようにしました。

    最初、どうしてもリレーが動かず、紹介されているものがAC用?なのか、とリレーを買い直してみましたが動かず。どうも13番ピンから1.5V程度しか出力されていないようで、ピンを変えても同じでした。13番だと起動時にリレーがカチカチ鳴るもので、8番に変更し、プログラム上に2行追加してようやく動くようになりました。

    具体的にはSetupセクションに
    pinMode (Relay, OUTPUT);
    digitalWrite(Relay, LOW);
    を追加したらRelayピンに5V出力されるようになりました。

    Arduinoを使うのは初めてだったのでよくわからないのですが、pinModeの設定なしでも通常動くはずなんでしょうか。

    • 野村さん、こんにちは!
      自動投入、おめでとうございます。
      毎日食べきれないほどのキュウリうらやましいです…僕のところは、6月中にハダニにやられてしまいました…

      リレーが動かない件、ごめんなさい。
      仰る通りで、setup関数に2行抜けておりました。
      今は、修正完了しております。

      蠕動ポンプ便利そうですね。
      僕も蠕動ポンプを回す方がやりやすいのかな…と思い、パーツだけは購入しております。
      (多く投入する時には、投入時間を長くすればいいし…)

      プログラムの不足、ご指摘ありがとうございました。

  • 数年ぶりに水耕栽培を再開して、とりあえず水だけ自動投入にしていたんですが、液肥も自動化されてものすごい開放感です。
    ちょっと悩みましたが勉強になりました。安価に自動化ができて非常に感謝しております。

    蠕動ポンプだと逆流の心配がないので逆流防止弁がいらず、Amazonで1000円くらいから買えるので水中ポンプより安いのがよかったなと思います。

    • 野村さん、こんにちは!
      お役に立てたと聞けて、嬉しいです。
      自動化されると、労力はもちろんですが、考えなくてもいい解放感がありがたいですよね(笑)

      蠕動ポンプ、僕も使ってみなければいけませんね…!
      なかなか人力では手が回らないくらい、菜園を広げてしまい、後手に回り気味で…(笑)
      僕も試してみますー!

  • 悠々さん。非常に便利な情報をありがとうございます。公開されていた通りに組み立てて実験してみました。うまく動きました。ただし、温度の補正float temp_offsetと、float Kの値を既存の温度計と、EC計の値を利用して調整しました。利用するコンセント(オス)の金属の成分や温度センサー含め、コードの長さによって違ってくるものなのでしょうか?とりあえず、長期に稼働させて、ズレを生じないか確認してみます。
    図々しいおねだりですが、LCDの表示部分が完成したらご教示いただきたいです。
    こちらはほとんどプログラムを知らないもので、電気に詳しい皆さんの好意に甘えるコピペマニアです。
    逆に、農業の事は少し専門的な事も知っているつもりですので、なにかありましたら連絡ください。

    • 原さん、こんにちは!
      仰る通りで、コードの長さや、コンセントの金属種類によって違ってくると思います!

      僕は大塚ハウスなどの配合肥料を処方によって、EC1.2等を作成し、その値を元に校正&調整しております。
      (具体的にはfloat Kの値を変更したりです。)

      私も1年ほど稼働させているのですが、ここで得られるECは絶対的な値というより、簡易的な物差しとして使えばいいと考えております。
      LCD部分完成しているため、需要があるようですし、すぐは厳しいのですが公開したいです。
      (ブログに手が全然回っていない状態で…すみません。)

      >農業の事は少し専門的な事も知っているつもり
      ありがたいです。ぜひ、ご連絡させて頂きますー!
      今後ともよろしくお願いいたします。

  • 悠々さん、こんにちは! lcdの表示部の提供ありがとうございます。これで、パソコン無しで簡易のECメータとしても活用できます。悠々さんが紹介してくれたこのスケッチは、今後色々な活用が可能ではないかとワクワク感いっぱいです。たとえば、EC値を取る部分を温度のデータに変えれば、一定の温度になれば、コンセントに電気を流し「ファンを回す、あるいは噴霧する」も可能だと思いますし、今流行りの炭酸ガス濃度を測って、濃度が低くなれば、ガスボンベの弁を開く等も同様の仕組みでできると思います。今後、多くの人が悠々さんに感謝すると思います。本当にありがとうございます。
    ところで、悠々さんのlcdのスケッチを当方が所有していたI2C仕様のlcd用に若干変更しました。これで多分良いとは思いますが(自信ありません)・・・。ちなみに所有していたのはAideepen 16×2 LCD(I2C)とHD44780コントローラーです。Arduinoとは5v,GND,SDA,SCLの4本線のみの接続となります(LiquidCrystal_I2C.hライブラリーの導入が必要です)。

    37行目 #include →#include
    68行目 LiquidCrystal lcd(8,9,4,5,6,7); →LiquidCrysal_I2C lcd(0x3F,16,2);
    126行目 lcd.bigin(16,2); → lcd.init();

     

    • 原さん、こんにちは。
      実践、ありがとうございます。
      お役に立てたと直接お聞きでき、嬉しく思います。

      コンセントプラグは物によっては、早くサビてしまったケースもあるため、定期的な確認をしている方が無難です!
      (個体によって、サビるスピードなどが違うため、表面処理や材質が影響していると思います)
      また、どんなことでもフィードバックを頂ければ、幸いです。

      現在は農家としても活動しており、2年ほどの自動化した実践や感想を、技術系同人誌として執筆&販売してきました。
      https://twitter.com/nadehisashi/status/1197443163029295104
      元となっている技術は、まさにブログの通りですので、農×オートメーションが家庭菜園の範囲からも進んでいけば良いと思っております。

      今後ともよろしくお願いいたしますー!

  • 悠々さん、こんにちは。
    lcd機能アップされましたね。ありがとうございます。これでパソコンを繋がなくても濃度が把握できます。ちなみに、当方のlcdはI2Cでの接続となりますので、以下の部分を書き換えさせていただきました。これで動くかな?

     37行目 #include > #include
     68行目  LiquidCrystal lcd(8,9,4,5,6,7); > LiquidCrystal_I2C lcd(0x3F,16,2);
    126行目  lcd.bigin(16,2); > lcd.init();

    Aideepen 16×2 LCD (I2C) + HD44780コントローラの組み合わせです。

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

  • カタオカさんのyoutube動画でリンクされていたので、この記事を知りました
    完成品の販売は、されるご予定はないでしょうか?

    • 伊藤さん、こんにちは。
      メールと合わせて、こちらでも返信させて頂きます。
      販売はさせて頂いております!
      現在、手作りの部分をアップデートさせておりまして、1カ月後には正式に販売できる予定です。
      https://yuyusystem.com/home-product/auto_fertilizer/
      ご検討よろしくお願いします。

  • こんにちは
    大変役立つ情報をありがとうございます。arduino初心者です。
    私は排液タンクのECを自動で計測、データをSDカードに記録したいと思ってこのサイトにたどり着きました。
    Githubから貴方のスケッチをダウンロードし、ArduinoIDE1.8.15で「検証」(コンパイル?)したところ、
    //外部への書き出し
    void PrintReadings() {
    の部分で「a function-definition is not allowed here before ‘{‘ token」とエラーが出てしまいます。
    自分で調べてみたのですがプログラミング初心者で解決できません。
    なにとぞ解決法をご教示ください。よろしくお願いします。

  • 自己返信すみません。
    結論:解決しました。
    よくわかりませんが、スケッチを開くときに、「スケッチ名が不適」だの「同じ名前のフォルダから開け」だのと警告されており、でもスケッチが開けたので「検証」していました。スケッチ名やフォルダ名を警告されないものに変更したところ、コンパイルできました。ありがとうございました。
    また、SDカード書き込みを追加して困ったらコメントさせていただきます。

    • katokenさん、こんにちは。
      エラーはとにかく検索が一番かと思っています。
      現在、専門学校でも教鞭を取らせて頂いているのですが、学生さんたちには検索することを強く推しています。
      具体的には「a function-definition is not allowed here before」でGoogle検索ですね。
      世の中の誰かが同様に困って、同様に乗り越えていっていることがほとんどですので、僕よりもわかりやすく解説されていると思います。
      記事が、少しでもお役に立てれば何よりです!

  • コメントを残す

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