arduinoで自動水やり機(タンク式)を自作してみた
RTCを組み込む
arduinoには時計機能がありません。
そこで、RTC(リアルタイムクロック)を組み込むことにします。
DS3231ライブラリはarduinoのサイトやgithubからダウンロード出来ます。
DS3231.zipをダウンロードして、arduino IDEからスケッチ→ライブラリをインクルード→ZIP形式のライブラリをインストールと進みインストールします。
つなぎ方
I2C通信を使います。SCLをアナログ4番ピンに、SDAはアナログ5番ピンに。VCCは5V、GNDはGNDに繋ぎます。(arduino uno)
SCLはSCLに、SDAはSDAでも勿論OKです。
RTCスケッチ
スケッチはIDEのファイル→スケッチ例→RTCと進み、選択します。
これをマイコンボードに書き込むだけでRTCが動作します。
RTCモジュールはamazonで購入しました。送料込みで115円,安くて使えますね。
loop()で読み込ませる
時間はシリアルモニタで確認できますが、スケッチで時間をトリガーとして使うにはloop()内で読み込ませねばなりません。
そのためには次の内容をloop()の中に記述します。
second=Clock.getSecond();
minute=Clock.getMinute();
hour=Clock.getHour(h12, PM);
date=Clock.getDate();
month=Clock.getMonth(Century);
year=Clock.getYear();
これで何時何分といった時刻を設定したスケッチが出来るようになります。
9/17日追記
水やりでタンクの水が少なくなったら自動でタンクに給水し、満タンになったら停止するのですが、停止(電流)後もタンクに水が流れてオーバーフローするようになりました。
そこで電磁弁を分解して清掃したらちゃんと使えるようになったのでその時の分解方法をまとめました。
arduinoを使った自動水やり機自作のまとめ
水道直結に比べて圧力ポンプの威力は予想以上で驚きでした。
PWMスピードコントローラで減速しないと霧になってしまい、そよ風程度でもどこかに飛んでいきますのでノズルの数や設置環境にあった回転数に調整するのがいいと思います。
ノズルを40個に増やしました
更に霧吹きノズルを増やして40個にしました。
それでも、36Wダイヤフラムポンプが使えますが,60Wダイヤフラムポンプも購入していたので変えてみたところ自動強力霧吹き散水マシンになりました。
PWMスピードコントローラで少し減速するぐらいでちょうどいいようです。
ということで、更に霧吹きノズルを増やす予定でいます。多分60個いけそうですね。(現在48個で運用中)