ラズパイで自動潅水

20221103

こんにちは、

かねてから挑戦している自動水やり機がとりあえずは形になりましたので報告です。

これで毎朝5分程度かかっていた水やりが楽になる、遅刻におびえなくていいと思うと気持ちハレバレです。

←20221111

何日か試しましたが、ポータブルバッテリーが一日しか持たないようで、結局毎日変える必要がありそう、水やりをするよりもむしろ手間ですね、、、やはりソーラー電池を作る必要があるのか、、、、

 

図 全体のレイアウト

 

使用物品

※詳細が分かるものは詳細載せますが、わからないものは簡単ですみません。

Raspberry Pi4 model B

microSD 32GB

ラズパイケース

ジャンパー線オス-オス6本

ジャンパー線メス-メス4本

ブレッドボード

リレー

ポンプ/699円

https://www.amazon.co.jp/gp/product/B07KJHJY2V/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

20Lタンク

モバイルバッテリー*2/7360円

【楽天市場】【11/4(金)20:00〜11/11(金)1:59 エントリーでポイント5倍!!】大容量 チーロ モバイルバッテリー IoT機器対応 微弱電流 cheero Slim 10000mAh:cheero mart 楽天市場店

ドリッパー/310円

Amazon | 【ノーブランド品】ガーデン 灌漑 ミスト マイクロ フロー ドリッパー ドリップ ヘッド マイクロドリッパー 50個 | 散水ノズル

ホース変換ジョイント5mm→8mm/660円

Amazon | キジマ (kijima) バイク バイクパーツ ホース変換ジョイント 5mm→8mm アルミ製アルマイト仕上げ ブラック 105-16400 | 車&バイク | 車&バイク

ジョイント外径5mm内径3mm(外径6mm内径4mmのチューブに適する)/445円

Amazon | ZOYUBS エアーチューブコネクター Y型 T型 L型 I型 継手 分岐や延長用 接続 4種類 チューブコネクタ 水族館チューブ 水族館エアーバルブ 水族館エアチューブ分岐 水槽エアバルブ 水族館エアラインコネクタ 水槽用エアチューブ分岐 継手分岐接続エアーチューブコネクター クリア 水管継手 エルボーコネクター ストレートコネクタ アクアリウム水族館水槽用プラスチッククリア アクアリウム アクアリウムエアパイプアクセサリー アクアリウムチューブ エルボコネクタバルブコネクター 水族館 養殖 水槽用 プラスチック クリア 三又&二又分岐 ジョイント 樹脂製 接続 パーツ透明色(16個入り 直径5mm) | ZOYUBS | エアポンプ用アクセサリー 通販

シリコンチューブ内径8mm外径10mm

https://www.amazon.co.jp/gp/product/B00XM82JBU/ref=ppx_yo_dt_b_asin_title_o03_s01?ie=UTF8&th=1

シリコンチューブ内径4mm外径6mm*2本(2m分)/380円

Amazon | シリコンチューブ 4mm×6mm MGJG-4.0 | チューブ | 産業・研究開発用品 通販

ランナーピン/391円

Amazon | chengcheng 植物サポート 園芸クリップ 植物固定クリップ トレリスクリップ トマトクリップ ガーデニングクリップ 誘引 100本入り | 園芸用結束用品・支柱パーツ

(その他、プログラムを書くのにディスプレイ、HDMI通常-micro、マウスを使用しました)

はんだごて

はんだ

ビニールテープ

ワイヤーストリッパー

 

プログラム

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(4,GPIO.OUT)

GPIO.output(4,GPIO.OUT)
time.sleep(150)

GPIO.cleanup()

 

time.sleepを150秒に設定するとおおよそ45ml/株潅水されたのを確認しました。

 

crontab

0 6,9,12 * * * python /home/pi/auto_watering/auto_watering.py

 

取組#つまづいたポイントを中心に記載します。

①Lチカ

②リレーでLチカ

③cronでLチカ

④リレーとcronの組み合わせでLチカ

⑤リレーとcronの組み合わせでポンプを動かす←給水時間で給水量を調整、小さい水圧でも給水可能なレイアウトを調整

 

ソフト

crontabの設定方法です。

$ sudo crontab -l #crontabの設定状況を確認し、

$ sudo crontab -r #念のため前の設定を一度消す。

$ sudo crontab -e #crontabの編集画面を開き、

0 6,9,12 * * * python /home/pi/auto_watering/auto_watering.pyのプログラムを6時、9時、12時に実行するように命令。

$ sudo crontab -l #設定できているか確認。

 

ハード

リレーのつなぎ方は苦労しました。今回はリレー内部に電流が流れたとき(=GPIOから信号が送られたとき)に電流が流れるNomal Openが利用できれば問題ないためNomal Closeは使用しませんでした。

以下の記事を参考にさせていただきました。

inakita-monolab.com

 

その他

ラズパイのGPIO(3.3V)で動くポンプを探しました。(よく見たらポンプは3.5V-9Vのやつだったのですが。)ポンプの端子はUSB-TypeAだったのですが、切断して、銅線をむき出しにし、はんだごてでジャンパー線とつなぎました。

 

ポンプとイチゴ4株に対して給水できるようにチューブとジョイントを探しました。ポンプとつながるチューブの太さがわからなかったり、ドリッパーの太さがわからなかったりと苦労しました。

 

リレーとcronの組み合わせで給水できるようになったのですが、cronで指定した時間にポンプが動かなくて苦労しました。原因はラズパイがWi-Fiを拾っていなかったため時間がずれていたからな様です。これはしばらく電源をonにしたままにしておいたら勝手につながりました。ベランダでも同様でした。

 

季節によって潅水時刻を変えたかったので、遠隔操作できるようSHHを設定したかったのですが、つながったりつながらなかったりで安定せず、ラズパイがWi-Fiを拾った状態でも動かないこともしばしば。

時間と同じようにもう少し待ってみたらつながるのでしょうか。

 

課題

SHH、外部PCからラズパイを遠隔操作する。

タンクの水は何日間もつか。

モバイルバッテリーの排熱はできてるか。

ラズパイの防水はできているか。

給電の完全自動化。

モバイルバッテリーの充電は何日間もつか。←次の日の朝6時に潅水されているか確認したところ、すでに電池切れだったようで、止まっていました。むむむ。

ベランダでWi-Fiを拾えるか。時計合わせに必要。←解決。プログラムした時間にポンプが稼働した。

ポンプの水圧は足りているか。あるいは現状の水圧でも潅水できるレイアウトになっているか。←解決?今のレイアウトであれば潅水されている模様。