Bewässerungsanlage mit Arduino Uno und DIY-Feuchtigkeitssensor

Aus hyperdramatik
Wechseln zu: Navigation, Suche

Material

- 1x Kabelverschraubung, Durchmesser 20mm - 1x Einmachglas (um den Arduino vor Feuchtigkeit zu schützen) - 1x Petflasche/Kanister - 1x Tauchpumpe 12V - 1x Schlauch, Durchmesser entsprechend dem Anschluss an der Tauchpumpe, ca. 6mm - 1x Sensorform, z.B. Schlauch mit Durchmesser 20mm - 1x Gips - 1x Nägel, eloxiert z.B. Edelstahl rostet nicht - 1x Litze, zweiadrig (rot und schwarz) - 6x Steckverbinder male to male - 3x Steckverbinder male to famale - 1x Relais mit 5V Steuerspannung auf Platine mit Anschluss für Steckverbinder - 1x 12V Netzteil 3.5A - 1x Arduino UNO

Feuchtigkeitssensor aus Gips

Um den Sensor aus Gips herzustellen, vom Schlauch zwei ca. 5 cm lange Stücke abschneiden. Diese aufrecht auf eine Unterlage stellen. Gips anrühren bis er eine breiige Konsistenz hat (sieht aus wie blasses Kartoffelpüree). Schlauchstücke mit dem angerührten Gips bis zur Oberkante auffüllen und glatt streichen. In jedes Leerrohr zwei der Nägel stecken, sodass die Köpfe der Nägel noch ca. 5 mm aus dem Gips herausstehen. Wenn der Gips trocken ist den Schlauch mit dem Tepichmesser aufschneiden.

Csm arduino-pflanzen-bewaesserung-diy-schritt.jpg 2arduino-pflanzen-bewaesserung-diy.jpg

Ein ca. 1 m langes Stück der doppeladrigen Litze an die Nagel-Köpfe anlöten. Um den Sensor zu testen, kannst du die beiden Kabelenden wie im Schaltplan über einen 10K Ohm Widerstand mit GND und mit A1 verbinden. Hierfür kannst du den Widerstand direkt an das Kabel löten. Auf der einen Seite lötest du das schwarze Kabel vom Sensor sowie einen weißen Steckverbinder an den Widerstand, auf der anderen Seite einen schwarzen Steckverbinder. Danach das Isolieren mit dem Schrumpfschlauch nicht vergessen!

Relais

Um das Relais zur Aktivierung der Tauchpumpe zu testen, musst dieses an den Arduino anschlossen werden. Das Relais hat drei PINs für Steckverbinder: VDD, GND und EN. Diese müssen wie folgt an den Arduino angeschlossen werden:

   VDD mit einem Steckverbinder auf den 5V PIN am Arduino
   GND mit einem Steckverbinder auf den GND PIN am Arduino
   EN mit einem Steckverbinder auf den A0 PIN am Arduino

Wenn das Relais richtig schaltet, klickt es. Siehe unten für den Code um das Relais zu testen (dazu das Relais an den Arduino anschliessen) 4arduino-pflanzen-bewaesserung-diy.jpg

Tauchpumpe

Den Plastikschlauch über das offene Ende der Tauchpumpe stülpen. Die Petflasche/Kanister aufschneiden und Pumpe hineinstellen. Um die Tauchpumpe direkt mit Strom zu versorgen den Stecker des Netzteils abschneiden und beide Adern abisolieren, das gleiche mit dem Kabel der Pumpe. Die beiden Kabel mit Kabel-Klemmen verbinden. Achte hierbei unbedingt auf die Polarität. Wenn du das Netzteil einsteckst läuft die Pumpe. Diese Zeit die die Pumpe braucht um die benötigte Menge Wasser aus der Flasche/Kanister zu pumpen im Arduino-Code einsetzen, wenn der Sensor den Schwellenwert erreicht. 3arduino-pflanzen-bewaesserung-diy.jpg

Verbinden

Vorne auf dem Relais befinden sich diese drei Schraubports:

   COM - Stromzufuhr
   NC - normally closed
   NO - normally open

Wie im Bild zu sehen, in den ersten Schraubport einen roten Steckverbinder schrauben und mit dem ( + )-Kabel des Netzteils mit einer Kabelklemme verbinden. Dann an den mittleren Schraubport, also NC (normally closed), das braune ( + )-Kabel der Tauchpumpe schrauben. Damit der Arduino auch ohne USB-Kabel Strom bekommt, einfach von den Kabelklemmen eine Verbindung zum Arduino stecken. Von ( + ) mit einem roten Steckverbinder auf den VIN PIN des Arduinos und vom ( - ) auf GND auf dem Arduino. Im letzten Schritt den Sensor, wie auf dem Schaltplan verzeichnet, hinzufügen (den weißen Steckverbider auf PIN A1, den schwarzen auf GND und den roten auf PIN 3.3V).6arduino-pflanzen-bewaesserung-diy.jpg

Code

void setup() {
     Serial.begin(9600);
     pinMode(A0, OUTPUT); //Default pinMode einstellung auf INPUT/OUTPUT
 digitalWrite(A0, HIGH);
}

void loop() {

     int sensor = analogRead(A1);
     Serial.println(sensor);

     //SENSOR FEUCHT - 500

     //SENSOR TROCKEN - 0

     delay(1000);

     if (sensor < 430 ) {

          //Relais einschalten

          digitalWrite(A0, LOW);
          Serial.println("Pumpe AN");

          //2 Sekunden anlassen

          delay(2000);

          //Relais ausschalten

          digitalWrite(A0, HIGH);

           Serial.println("Pumpe Aus");


          //10 Sekunden warten

          delay(10000);

     }
}