Arduinoで15分で部屋の花の自動散水を行います

次の花が枯れた後、散水プロセスを何らかの形で自動化するのがいいと思いました。
それ以上苦労せずに、私は自分ではなく花に水をまく構造を組み立てることにしました。 その結果、私はその任務に完全に対処するような装置を得ました:

画像

2つのレギュレーターを使用すると、一度に散水する水の量と灌漑の間隔を調整できます。 誰が気にする-そのようなデバイスを作成する方法の詳細な手順。

散水を構築するには、一定数のコンポーネントと30分以内の空き時間が必要です。

使用されるコンポーネント:


画像

このスキームに従ってすべてを収集します。
画像

またはより明確に:
画像

ここに私が得たものがあります:
画像

まず、ポンプをテストします。 5Vを与えます。 彼がぶんぶん鳴ったなら、すべてが整然としていて、先に進みます。

次に、ポンプをArduinoに接続します。 ブレッドボードに小さなハーネスを作成して、arduinoでポンプを制御します。
画像

Arduinoでポンプを制御してみましょう。 このコードを記入してください

int pumpPin = 5; void setup() { pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); } void loop() { digitalWrite(pumpPin, HIGH); delay(1000); digitalWrite(pumpPin, LOW); delay(1000); } 


彼が定期的にバズを鳴らした場合、再びすべてが整然としています。

次に、2つのコントロールを追加する必要があります。 デバイスの可変抵抗器に接続して、その性能を確認します。
画像

このようなコードをArduinoに入力します

 int volumePin = A0; void setup() { pinMode(volumePin, INPUT); Serial.begin(9600); } void loop() { Serial.println(analogRead(volumePin)); delay(100); } 


シリアルモニターに入り、レギュレーターの回転に対する反応があることを確認します。 約0から1024まで変化するはずです

画像

現在では、すべてを連携させる必要があります。

散水コード自体は次のとおりです。

 //    ,     ( 4  15 ) #define MAX_FLOWTIME 15 // seconds #define MIN_FLOWTIME 4 // seconds //              #define MAX_PERIOD 7 // days #define MIN_PERIOD 1 // days #define MAX 1015 #define MIN 0 int volumePin = A0; // ,    ,      int periodPin = A1; // ,    ,      int pumpPin = 5; // ,      int volume; int period; // ,    ,   volume void water() { digitalWrite(pumpPin, HIGH); //   delay(volume); digitalWrite(pumpPin, LOW); //   delay(period); } void setup() { pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); } void loop() { //    ( )       volume = map(analogRead(volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000; period = map(analogRead(periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24; water(); } 


これが作業の最終結果です。


近い将来、タンク内の水位センサーと土壌水分センサーをここに追加することを考えています。

Source: https://habr.com/ru/post/J210814/


All Articles