Ab heute neu: Bodenfeuchtesensor - AZ-Delivery

Hola a todos,

hoy quiero compartir con Ustedes un nuevo Sensor imaginar que tenemos a partir de hoy en nuestra Tienda. Nuestro sistema Higrómetro V1.2

Este Módulo funciona capacitivo, es decir, se encuentra en Contraste con el modelo anterior, no hay Corrosión por galvanización en su lugar. La Salida de este Sensor es analógico, es decir, él puede, a pesar de que él 3.3 V admite el Controlador no de un Raspberry se leen, que no Analog Input tiene. En principio, este Sensor no sólo para Medir la Humedad en el Sustrato, sino también para Mostrar un Nivel adecuado. Antes de que el Sensor productiva, es necesario que nuestro Sketch en los respectivos Valores de calibración.

Para nuestro Ejemplo utilizamos un NanoV3. Y un Vaso de Agua en lugar de un Blumentopfs, ya que la Humedad del Sustrato no es tan fácil de cambiar como el Nivel de llenado de un Vaso. Libarys no son necesarios.

La disposición de

NanoV3 Sensor
5V+ VCC
GND GND
A0

AOut

 

Vamos a empezar con el más simple de Puesta en marcha, el AnalogReadSerial Ejemplo, que ya en el IDE integrado: Ejemplos -> Básico -> AnalogReadSerial

y en el Serial Monitor siguiente Resultado:

en el Serial Plotter, se ve un poco más atractiva, sin embargo es aún no es ideal:

servimos a nosotros en el Smoothing Tutorial Arduino.cc aquí el Código:

 

/*
 Smoothing

 created 22 Abr 2007
 by David A. Mellis <dam@mellis.org>
 modified 9 Abr 2012
 by Tom Igoe

 This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Smoothing
*/

const int numReadings = 10;

int lecturas[numReadings];      // the reading from the analog input
int readIndex = 0;              // the index of the current reading
int total = 0;                  // the running total
int average = 0;                // the average

int inputPin = A0;

void setup() {   Serial.begin(9600);   for (int thisReading = 0; thisReading < numReadings; thisReading++) {     lecturas[thisReading] = 0;   }
}

void loop() {   // subtract the last reading:   total = total - readings[readIndex];   // read from the sensor:   lecturas[readIndex] = analogRead(inputPin);   // add the reading to the total:   total = total + readings[readIndex];   // advance to the next posición en the array:   readIndex = readIndex + 1;   // if we're at the end of the array...   if (readIndex >= numReadings) {     // ...wrap around to the beginning:     readIndex = 0;   }   // calculate the average:   average = total / numReadings;   Serial.println(average);   delay(1);        // delay entre las lecturas de for stability
}

 

Después de que el Código ha subido es la óptica de Salida algo agradable:

por lo tanto, notamos que el Vaso vacío de Valores en 792 proporciona. Por lo tanto, tenemos el mayor Valor determinado. Ahora podemos calcular el Valor más bajo, haciendo que el Sensor hasta un determinado Importe de sumergirlo en el Agua.

La profundidad de Inmersión, es decir, la Altura del Nivel en el Vaso/Sustrato necesario para las Comparaciones siempre permanecen igual, elegimos el Punto de v1.2 como Marcador decidido. Y recibir los siguientes Valores:

El pleno de Vidrio proporciona aproximadamente, 419. Es decir, nos movemos en un Rango de 792 - 419. Por favor, asegúrese de Calibración en el Medio de ejecutar el cual posteriormente Se quieren aprovechar, ya que los Valores dependiendo del Sustrato variar.

Debido a que este Sensor de muchas maneras diferentes Sustratos son posibles, Plantas diferentes Preferencias y nosotros, a Su Escala, no pueden evaluar presentamos en este Punto del Código que ya en nuestros AlcoTester han demostrado:

 

if (average >= 0 and average <= 400) {     state = "Sensor defectuoso?";   }   else if (average >= 400 and average <= 500) {     state = "Sed".;   }   else if (average >= 500 and average <= 649) {     state = "Húmedo!";   }   else if (average >= 650 and average <= 800) {     state = "Patschnass!";

 

Una Caja de selberdrucken hay Gratis, Usted encontrará los Archivos necesarios aquí.

Un montón de Diversión de Probar y Experimentar, quizás un fiel Lector de la Lujuria tiene un elegante Trinkglass de tocar, de lo que el Camarero el Nivel de sus Huéspedes muestra. :) Hasta el próximo Post

 

 

ProduktvorstellungenSensoren

8 comentarios

Uwe

Uwe

Um Lucas’ Frage (auch wenn schon etwas alt) hier mal zu beantworten. JA, es dringt Wasser über die Schnittkanten der Platinen ein, dadurch habe ich inzwischen 8 Sensoren geschrottet. Es löst sich die gesamt Isolierung ab und legt die Kupferflächen frei, so dass es hier doch wieder zu einem Ionenaustausch mit dem Boden kommt. Von völlig absurden Messwerten mal ganz zu schweigen. Ich hatte mal versucht, das Ganze vor der ersten Verwendung mit Nagellack auf den Kanten zu isolieren, brachte aber auch nur kurzfristig eine Besserung, länger als 3 Monate hat bei mir kein Sensor durchgehalten.

Held

Held

Hallo,
ich bin der gleichen Meinung wie Ralf.
Bei Raumluft bekomme ich einen hohen Wert und im Wasser einen niedrigen .
Habe das Ganze mit einem ESP32 getestet am A0 Pin.
Der Serialmonitor gibt bei Luft einen Wert von ca. 2100 und mit Wasser ca. 700 aus. Die Werte verarbeite ich in der MAP- Funktion so, das sie einen logischen Sinn ergeben. Luft- niedrig, Wasser- hoher Wert zwischen 1 und 100.
Mit dieser Spreizung muß man nun selber ein Gefühl entwickelt was für die Pflanze nun trocken oder nass ist.
Nach einer Woche Test bin ich zu der Erkenntnis gekommen, das der Sensor unbrauchbar ist. Nach drei Tagen Messdauer ist der umgerechnete Messwert nur um 5 Punkte gefallen (85 auf 80). Die Erde obenauf wurde aber schon grau.
Darauf hin habe ich den Sensor heraus gezogen abgewischt und wieder eingesteckt. Siehe da, der Wert fiel um 50 Punkte.
Vor dem abwischen habe ich mir die Platine betrachtet, auf ihr befand sich ein Feuchfigkeitsfilm. Also hat der Sensor die Feuchtigkeit auf der Platine gemessen.
Die Erde herum war schon trocken. Ich habe Messung an einer anderenStelle im Blumentopf wiederholt, mit ähnlichem Ergebnis.
Eine automatische Bewässerung würde hiermit scheitern.
Meine Urlaubsbewässerung habe ich wieder auf Pauschalmenge umgestellt.
Gruß Eckard

Murphy

Murphy

The sensor is said to be version 1.2 but there are differences from other 1,2 version available directly from china market. On the AZ_Delivery sensor, the LDO (U2) seems to be replaced by diode. There is not schematic offered on the web site :(

When supplied with 3.3V, sensor did not provide any output voltage (NE555 is requiring 5V supply). When supplied with 5V, sensor provide 4V on its output as dry (less voltage, when wet) . For 3.3V controllers (like ESP32) this can be fatal!

I have found (as possible solution) resistor of 100 Ohms in series to the 5V power pin is dropping the voltage over the sensor and impacting the sensor output voltage in positive way (3V as dry, less when wet) . This allows to work safely with ESP32 microcontrollers.

Samira

Samira

Hallo,
danke für Ihre nutzbare Aufgabe. Ich möchte diese Aufgabe mit STM32 und HAL_Drive schreiben. Wie kann ich letzten Teil schreiben? Wie kann zeigt , der Boden Nass ist oder trocken?
Viele Grüße
Samira

Dennis

Dennis

Wenn ich den Sensor in das Wasser tauche und den Beispielcode “AnalogReadSerial” ausführe, liefert mir der Monitor lediglich Werte zwischen 0 und 13. Was mache ich falsch?

Klaus

Klaus

sehe ich auch so wie Ralf.

Gruß
Klaus

Lucas

Lucas

Dringt von den (Schnittkanten der Platine) kein Wasser in den Sensor ein?

Ralf

Ralf

Hallo,

sind eure Werte für die Feuchtigkeit nicht verdreht, Müßte nicht zwischen 400 und 500 Patschnass und zwischen 650 und 800 Pflanzen haben Durst sein.

Gruss
Ralf

Deja un comentario

Todos los comentarios son moderados antes de ser publicados