Wann gehst du für eine bestimmte Zeit irgendwo weit weg? Es gibt niemanden, der Ihre Zimmerblumen gießt, also müssen Sie Ihre Nachbarn um Hilfe bitten, die wiederum nachlässig sein können. Infolgedessen werden sich die Pflanzen bei Ihrer Ankunft schlecht fühlen. Um dies zu verhindern, können Sie ein automatisches Bewässerungssystem einrichten. Dazu benötigen wir einen Arduino und einen Bodenfeuchtesensor. In dem Artikel betrachten wir ein Beispiel für das Anschließen und Arbeiten mit dem FC-28-Sensor. Er hat sich auf der positiven Seite bewährt, mit der Hilfe von Tausenden von Projekten, die erstellt wurden.
Über FC-28
Es gibt eine Vielzahl von Sensoren zur Bestimmung der Erdfeuchte, aber der beliebteste ist das Modell FC-28. Es hat einen niedrigen Preis, weshalb es von allen Funkamateuren in ihren Projekten weit verbreitet ist. Bodenfeuchtesensor mit Arduino wird verwendet. Er hat zwei Sonden, die elektrischen Strom durch den Boden leiten. Es stellt sich heraus, dass bei nassem Boden der Widerstand zwischen den Sonden geringer ist. Bei trockenem Boden ist der Widerstand entsprechend größer. Arduino übernimmt diese Werte, vergleicht und sch altet ggf. z. B. eine Pumpe ein. Der Sensor kann sowohl im digitalen als auch im analogen Modus arbeiten, wir werden beide Anschlussmöglichkeiten berücksichtigen. FC-28 wird hauptsächlich in kleinen Projekten verwendet, zum Beispiel bei der automatischen Bewässerung einer bestimmten Pflanze, da es aufgrund seiner Größe und Nachteile, die wir ebenfalls berücksichtigen werden, unpraktisch ist, es im großen Maßstab zu verwenden.
Wo kaufen
Tatsache ist, dass Sensoren für die Arbeit mit Arduino in russischen Geschäften relativ teuer sind. Der Durchschnittspreis für diesen Sensor in Russland variiert zwischen 200 und 300 Rubel, während derselbe Sensor bei Aliexpress nur etwa 30-50 kostet. Das Markup ist riesig. Natürlich können Sie auch mit Ihren eigenen Händen einen Sensor zur Messung der Bodenfeuchte herstellen, aber dazu weiter unten mehr.
Über die Verbindung
Das Anschließen des Feuchtigkeitssensors an den Arduino ist sehr einfach. Es verfügt über einen Komparator und ein Potentiometer zum Einstellen der Empfindlichkeit des Sensors sowie zum Einstellen des Grenzwerts bei Anschluss über einen digitalen Ausgang. Das Ausgangssignal kann, wie oben erwähnt, digital und analog sein.
Verbinden mit digitalem Ausgang
Angeschlossen fast wie analog:
- VCC - 5V auf Arduino.
- D0 - D8 auf Arduino-Board.
- GND -Erde.
Wie oben erwähnt, befinden sich auf dem Sensormodul ein Komparator und ein Potentiometer. Alles funktioniert wie folgt: Mit einem Potentiometer stellen wir den Grenzwert unseres Sensors ein. FC-28 vergleicht den Wert mit dem Limit und sendet dann den Wert an den Arduino. Nehmen wir an, die Sensorwerte liegen über dem Schwellenwert, in diesem Fall sendet der Bodenfeuchtesensor auf dem Arduino 5 V, wenn weniger - 0 V. Alles ist sehr einfach, aber der analoge Modus hat genauere Werte, daher wird empfohlen, ihn zu verwenden.
Der Sch altplan sieht aus wie auf dem Foto oben. weg
Der Programmiercode für Arduino bei Verwendung des Digitalmodus ist unten dargestellt.
int led_pin=13; int sensor_pin=8; Void setup () { PinMode (led_pin, AUSGANG); PinMode (Sensor_Pin, INPUT); } void loop () {if (digitalRead (sensor_pin)==HIGH) {digitalWrite (led_pin, HIGH); } Else { DigitalWrite (led_pin, LOW); Verzögerung (1000); } }
Was macht unser Code? Zunächst wurden zwei Variablen identifiziert. Die erste Variable - led_pin - dient zur Bezeichnung der LED und die zweite - zur Bezeichnung des Bodenfeuchtesensors. Als nächstes deklarieren wir den LED-Pin als Ausgang und den Sensor-Pin als Eingang. Dies ist notwendig, damit wir die Werte abrufen und gegebenenfalls die LED einsch alten können, um visuell zu sehen, dass die Sensorwerte über dem Schwellenwert liegen. In der Schleife lesen wir die Werte vom Sensor aus. Wenn der Wert höher als der Grenzwert ist, sch alten Sie die LED ein, wenn er niedriger ist, sch alten Sie sie aus. Anstelle einer LEDvielleicht eine Pumpe, es liegt ganz bei Ihnen.
Analogmodus
Um eine Verbindung über den analogen Ausgang herzustellen, müssen Sie mit A0 arbeiten. Der kapazitive Bodenfeuchtesensor in Arduino nimmt Werte von 0 bis 1023 an. Schließen Sie den Sensor wie folgt an:
- VCC verbindet 5V mit Arduino.
- GND des Sensors ist mit GND des Arduino-Boards verbunden.
- A0 mit A0 auf Arduino verbinden.
Als Nächstes schreiben Sie den folgenden Code in Arduino.
int sensor_pin=A0; int ausgabe_wert; void setup () {Serial.begin (9600); Serial.println ("Lesen des Sensors"); Verzögerung (2000); aufrechtzuerh alten. void loop () { output_value=analogRead (sensor_pin); ausgabe_wert=map(ausgabe_wert, 550, 0, 0, 100); Serial.print ("Feuchtigkeit"); Serial.print (output_value); Serial.println ("%"); Verzögerung (1000); }
Also, was macht dieser Code? Der erste Schritt bestand darin, die Variablen festzulegen. Die erste Variable wird benötigt, um den Kontakt des Sensors zu bestimmen, und die andere speichert die Ergebnisse, die wir mit dem Sensor erh alten. Als nächstes lesen wir die Daten. In der Schleife schreiben wir die Werte vom Sensor in die von uns erstellte Variable output_value. Dann wird der Prozentsatz der Bodenfeuchte berechnet, danach zeigen wir sie auf dem Hafenmonitor an. Der Sch altplan ist unten dargestellt.
DIY
Oben wurde besprochen, wie man den Bodenfeuchtesensor mit dem Arduino verbindet. Das Problem bei diesen Sensoren ist, dass sie kurzlebig sind. Tatsache ist, dass sie sehr anfällig dafür sindKorrosion. Einige Unternehmen stellen Sensoren mit einer speziellen Beschichtung her, um die Lebensdauer zu erhöhen, aber es ist immer noch nicht dasselbe. Überlegt ist auch die Option, den Sensor nicht oft, sondern nur bei Bedarf einzusetzen. Beispielsweise gibt es einen Programmcode, bei dem der Sensor jede Sekunde die Bodenfeuchtewerte ausliest. Sie können die Lebensdauer verlängern, wenn Sie es zum Beispiel einmal täglich einsch alten. Wenn dies jedoch nicht zu Ihnen passt, können Sie mit Ihren eigenen Händen einen Bodenfeuchtesensor herstellen. Arduino wird den Unterschied nicht spüren. Grundsätzlich ist das System das gleiche. Sie können einfach statt zwei Sensoren Ihre eigenen einsetzen und ein Material verwenden, das weniger korrosionsanfällig ist. Verwenden Sie im Idealfall natürlich Gold, aber angesichts seines Preises wird es sehr teuer. Im Allgemeinen ist es angesichts des Preises von FC-28 billiger zu kaufen.
Vor- und Nachteile
Der Artikel diskutierte Möglichkeiten, einen Bodenfeuchtesensor mit Arduino zu verbinden, und es wurden auch Beispiele für Programmcode vorgestellt. Der FC-28 ist ein wirklich guter Bodenfeuchtesensor, aber was sind die spezifischen Vor- und Nachteile dieses Sensors?
Vorteile:
- Preis. Dieser Sensor hat einen sehr niedrigen Preis, so dass jeder Funkamateur sein eigenes automatisches Bewässerungssystem für Pflanzen kaufen und bauen kann. Für das Arbeiten mit großen Maßstäben ist dieser Sensor natürlich nicht geeignet, dafür ist er aber auch nicht vorgesehen. Wenn Sie einen leistungsstärkeren Sensor benötigen - SM2802B, müssen Sie dafür ziemlich viel bezahlen.
- Einfachheit. Meistern Sie die Arbeit mit diesem Bodenfeuchtesensor in Arduinojeder. Nur ein paar Drähte, ein paar Codezeilen - und das war's. Kontrolle der Bodenfeuchte erledigt.
Nachteil: