ラズパイで自動水耕栽培システム
ラズパイで自動水耕栽培システム
そろそろお披露目しておきます。
といってもガワはまだ組み上げていないので、ラズパイ周りの公開です。
こういう感じのセットアップ ↓
ごちゃごちゃしたのは見てもしょうがないので、丸の部分。
オレンジの丸は温度センサーです(型番:DS18B20)、気温用と水温用に二つ用意しました。
緑の丸は光センサーです。「Cdsセル」というものと「MCP3008」というICチップを組み合わせて明るさを取得します。
Cdsセル単体で使うと
0→暗い
1→それ以外
という値しか取得出来ないので、ICチップで細かい値を取得出来るようにしました。用途によってはCdsセルだけでも使い道あると思いますけどね。
センサーの扱いを調べるのって面倒、ラズパイ専用センサーではないので何かと苦戦します。
これらのセンサーから定期的に数値を取得するプログラムを組んで、こちらがあらかじめ設定した数値(例えば気温)と比較して、必要があれば暖房つけたり機器の通電をするわけです。
今回のシステムでは、設定値はこちらがあらかじめ決めておきます
(常識の範囲で30度は暑いから冷房だろ、とかそんなノリで)。
とにかく動作させてみます。
ラズパイをモニターにつないで、例によって電球を光らせる、これが出来たら何でも通電できますからね。
水耕栽培プログラムを走らせると...
はい、光りました。
ラズパイの指定したピンから3.3ボルトが出てきて、ソリッドステートリレーというパーツを通じて100ボルトの機器に通電しています、設定した時間が過ぎれば通電は解消されプログラム自体が落ちます。
裏側では色々頑張っているのですが、説明はできるだけ簡潔に...
↑ 時刻とセンサーから取得した値が表示されています。
28, 28 は温度ですね、温度センサーが2つあるので同じ値がきています。
19は明るさの値です。だいたい0~100におさまるように計算しなおしています。
あと一つの数値は仮センサー扱いで適当な値を返しています。
試しに温度センサーを1つ氷水につけて、1つは握って暖めてみます。
↓ 結果
34 = 握ったセンサー
14 = 氷水にいれたセンサー
8 = 光センサー (ついでだから部屋を暗くしておいた)
3 = ダミーデータ
さて、センサーの値の下には通電する機器を表示しているのですが、今回は水温が下がった分 water heater に通電する必要がある、と判断されたので表示され、water heater 用のピンに通電しているはずです。
このプログラムをラズパイ内のスケジューラーに組んでおくと(例えば1時間毎になど)センサーチェックと必要な機器の通電がされるわけです。
今回の取り組みで、機器とセンサーの連携がクリアできました。
温度センサーはラズパイを通して暖房、冷房、水温調整器と接続され、光センサーはLEDと接続したりするわけですが、これら接続の仕方は自分で決めるので、別に光センサーの値を元にコーヒーメーカーに通電しても良いんです、そういう自由度があるプログラムにしてあります。
さて、ラズパイといえば24時間稼動とデータ収集で有名です。
データ収集については、グーグルスプレッドシートに記録することにしました。
ラズパイとひも付けて、あらかじめウェブ上に作成したファイルにデータを追加するように設定してあります(面倒でした)。
最初は素のデータベースに記録していたのですが、直接エクセル的なソフトに記録すると、すぐにグラフ化出来て便利なんですよね。ほら、この通り。
センサーを購入する前なので、適当な数値が並んでいます。
別のシートにはその時通電した機器の記録を残しています。
これで水耕栽培システムの紹介は終わりです。
繰り返しですがこのシステム自体は
「センサーと(アナログとデジタル両方使っています)機器(100Vにも対応)を接続して、センサーの値によって機器を制御し、データベース的なソフトに記録する」というシステムです。
水耕栽培という意味で言えば、水槽を設置した棚を用意したとして、
・ポンプ1で水を循環させる
・ポンプ2で適宜排水させる
・水温を上げる(何かクッキングヒーター的なものを使って)
・ソレノイド(電気のバルブ)を使って栄養剤を添加できる
・ソレノイドを使って水道から新しい水を給水できる(これで循環でもOK)
・暗くなったら照明をつける
これくらいのことは可能になりました。
あとはどうやって棚や水槽を組むか、という工作の課題くらいです。
実は今は別のラズパイ工作をしてしまっているので、公開が遅れたというお話。
以上