Boden / Moisture Detection System

2 Schritt:Schritt 1: Layout Schritt 2: Code

Boden / Moisture Detection System

Nachdem als einfacher zwei Nagel, 5V, Feuchtigkeitserfassungssystem ist es in einer etwas anspruchsvollere Anlage mit LEDs und weniger gewachsen Aktualisierung aufgrund meiner vorherigen Aufsicht begonnen: Elektrolyse.
Dafür benötigen Sie:
Arduino 1 x rote LED 1 x LED gelb 1 x grüne LED 1 x blaue LED 4 x 220 Ohm-Widerstände 2 x 10 K Ohm-Widerstände 2 x kräftige Nägel 1 x Taster Drähte - viele Drähte
Die Grundidee: Stick + 5V über einen Nagel, und erkennen den Widerstand über den anderen Nagel.
Das Grundproblem: durch den Nagel die Konstante + 5V wird es unglaublich schnell rosten.
Die basische Lösung: nur überprüfen, wenn die Taste gedrückt wird.

Schritt 1: Layout

  1. Boden / Moisture Detection System

    Das Layout sollte nicht dazu führen, Ihnen viel Problem. Wenn ich es tun kann es jeder machen kann!
    Die roten, gelben und grünen LEDs sind für den Feuchtezustand (schlecht, gut, perfekt). Die blaue LED ist nur ein Fake "Denken" Licht, das kurz auf, wenn Sie die Taste drücken. Es ist nicht notwendig, aber es sieht gut aus.

Schritt 2: Code


  1. Der Code ist nichts zu Hause zu schreiben. Es ist ziemlich einfach, wie ich bin kein Experte Programmierer von einer Strecke der Phantasie.

    int moistureSensor = 0; // Nagel zu lesen ist von Pin A0
    int moisture_val; const int redLEDPin = 3; // Rote LED-Digital-Stift verbunden const int yellowLEDPin = 4; // Gelbe LED-Digital-Stift verbunden const int greenLEDPin = 5; // Grüne LED-Digital-Stift verbunden const int blueLEDPin = 7; // Blaue LED-Digital-Stift verbunden const int buttonPin = 9; // Taste, um Digitalstift verbunden const int Spannung = 8; // Die Spannung Nagel ist an Pin D8 int Buttonstate = 0; // Initialisieren Taste als off Leere setup () { Serial.begin (9600); // Seriellen Port öffnen pinMode (redLEDPin, OUTPUT); pinMode (greenLEDPin, OUTPUT); // Die LED-Pins als Ausgänge pinMode (yellowLEDPin, OUTPUT); pinMode (blueLEDPin, OUTPUT); } Leere Schleife () { Button = digitalRead (buttonPin); if (Button == HIGH) { digital (blueLEDPin, HIGH); digital (Spannung, HOCH); moisture_val = analogRead (moistureSensor); // Lesen Sie den Wert aus der Nagel Serial.print ("Feuchte:"); // Serial.println (moisture_val); // Print Feuchte 0-1024 Verzögerung (1000); // Gefälschte Denken ... digital (blueLEDPin, LOW); if (moisture_val <170) { digital (redLEDPin, HIGH); // Wenn Feuchtigkeit weniger als 190 haben sich auf rot, andere aus digital (yellowLEDPin, LOW); digital (greenLEDPin, LOW); } if (moisture_val <200 && moisture_val> 170) { digital (redLEDPin, LOW); digital (yellowLEDPin, HIGH); // Wenn Feuchtigkeit weniger als 230, aber mehr als 190 haben gelb auf, andere aus digital (greenLEDPin, LOW); } if (moisture_val> 200 && moisture_val <240) { digital (redLEDPin, LOW); digital (yellowLEDPin, LOW); digital (greenLEDPin, HIGH); // Wenn Feuchtigkeit ist mehr als 230 und weniger als 300 haben grün auf, andere aus } if (moisture_val> 280) { digital (redLEDPin, HIGH); // Wenn Feuchtigkeit ist vorbei über 300 (möglicherweise überflutet) haben sich auf rot, andere aus digital (yellowLEDPin, LOW); digital (greenLEDPin, LOW); } digital (Spannung, LOW); // Button Zustand zurückgesetzt Verzögerung (5000); // Warten 5 ses digital (redLEDPin, LOW); // Wenn Feuchtigkeit ist vorbei über 300 (möglicherweise überflutet) haben sich auf rot, andere aus digital (yellowLEDPin, LOW); digital (greenLEDPin, LOW); } }

    Wie für normale beginnen wir durch Zuweisung Pins zu Etiketten.
    Das Hohlraum Setup Zeug ist nur das Öffnen der seriellen Schnittstelle und Zuweisen eines Modus, um die LED-Pins.
    Das Hohlraumschleife ist, wo die guten Sachen passiert. Wenn die Taste gedrückt wird. Wir beleuchten die blaue LED, schalten Sie die Spannung an einem Nagel, lesen Sie den Wert aus dem anderen Nagel, Pause für eine Weile und schalten die Spannung an den Nagel aus (um dich zu sehen die blaue LED lassen). Jetzt haben wir ein Ergebnis aus der (nicht-Spannung) Nagel können wir es durch einige IF-Anweisungen ausführen, um zu sehen, welche zu Licht-LED.
    Du wirst natürlich müssen einige Tests ausführen (durch Öffnen der seriellen Monitor), um zu sehen, welcher Wert ideal für Ihre Anlage. Dann entscheiden, welche Werte sind so-so und schlechte.
    Sobald eine LED ist das aktuelle Ergebnis zeigt, und 5 Sekunden vergangen sind, werden alle LEDs erlöschen.
    Das System ist nun zurückgesetzt und bereit für einen weiteren Tastendruck.
    Das Problem der Nägel Rosten noch vorhanden ist, aber viel weniger als vorher.