Tabla de contenido:

Sistema de alerta de suelo con poca humedad para su planta: 5 pasos
Sistema de alerta de suelo con poca humedad para su planta: 5 pasos

Video: Sistema de alerta de suelo con poca humedad para su planta: 5 pasos

Video: Sistema de alerta de suelo con poca humedad para su planta: 5 pasos
Video: Conservación de Humedad en Sequia. Sembrando Vida. T-14 2024, Noviembre
Anonim
Sistema de alerta de suelo con poca humedad para su planta
Sistema de alerta de suelo con poca humedad para su planta

En varias residencias es común encontrar tarros con diferentes tipos de plantas. Y con la gran cantidad de actividades del día a día, la gente se olvida de regar sus plantas y acaba muriendo por falta de agua.

Como forma de evitar este problema, decidimos crear un sistema para informar cuando una planta no tiene agua. De esta forma, nunca olvidarás regar tu planta y se mantendrá viva durante mucho tiempo. A continuación, presentaremos todo el desarrollo de este proyecto.

Suministros

  • PCBWay PCB personalizado
  • Sensor de humedad del suelo analógico para Arduino
  • Arduino UNO
  • Cables de puente (genéricos)
  • LCD estándar - 16 x 2 azul
  • Potenciómetro rotativo UTSOURCE 10k

Paso 1: desarrollo del proyecto

Desarrollo del proyecto
Desarrollo del proyecto

Una de las formas que usamos para detectar la cantidad de agua en la planta es a través del parámetro de humedad. Entonces, cuanta menos agua haya en el frasco de nuestra planta, menor será la humedad del suelo.

Por tanto, debemos utilizar un sensor de humedad para analizar el estado de humedad en nuestra planta.

A través de él, configuramos un circuito montado en el protoboard con Arduino, para realizar el monitoreo e indicación de baja humedad del tarro de cactus. Entonces, por medio de la pantalla LCD para informar a nuestro usuario sobre la humedad, como se muestra en la Figura 1.

Paso 2: Inserción del sensor de humedad en el circuito

Inserción del sensor de humedad en el circuito
Inserción del sensor de humedad en el circuito
Inserción del sensor de humedad en el circuito
Inserción del sensor de humedad en el circuito

Desde el circuito anterior, insertaremos la sonda para medición de humedad en la planta que deseamos monitorear. En nuestro proyecto, insertamos una sonda en un pequeño cactus, como se muestra en la Figura 2.

Ahora, veremos cómo proyectar el trabajo paso a paso y en adelante, aprenderemos a crear el código de control. Inicialmente, cuando no conectamos el sensor dentro del frasco, el dispositivo tiene un bajo contenido de humedad del 2% en el exterior. el tarro de cactus. Esto se puede ver en la Figura 3.

Paso 3: Comprenda los valores de humedad

Comprender los valores de humedad
Comprender los valores de humedad
Comprender los valores de humedad
Comprender los valores de humedad

Este valor porcentual bajo representa una humedad baja. Ahora, después de insertar el sensor en el suelo del tarro de cactus, se mostrará un valor de 36%, como se muestra en la Figura 4. Es decir, nuestra humedad es baja y el sistema muestra el mensaje Low Moisture porque el valor es menor. del 60%.

El siguiente paso es regar el suelo de la jarra de nuestro cactus y podemos verificar el aumento del valor de la humedad al 69%.

Después de comprender el funcionamiento del proyecto, presentaremos toda la lógica de construcción para crear este sistema de monitoreo. ¡Comencemos!

Paso 4: Programación lógica

En adelante, la lógica de programación se presentará a través del código construido.

Inicialmente, se declaró la librería de Display LCD, variables y se creó un objeto LCD con sus pines de conexión con Arduino UNO.

#incluir

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, humedad = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

Posteriormente se inicializó la función setup y display LCD 16x2 y se configuró el pin del sensor como entrada, finalmente hicimos la primera lectura de nuestro sensor y lo usamos como referencia para la variable PreviousValue, como se muestra a continuación.

{Serial.begin (9600); lcd. comienzo (16, 2); pinMode (sensor, ENTRADA); PreviousValue = analogRead (sensor); }

Con las variables creadas y los comandos en la función de configuración void, explicaremos toda la programación lógica en la función de bucle.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Muestra el valor del puerto analógico sin monitor serial Serial.print ("Puerto analógico:"); Serial.println (AnalogValue); UmidityPercent = mapa (AnalogValue, 0, 1023, 0, 100); humedad = 100 - UmidityPercent;

En la función de lazo, se leyó el valor analógico y se mapeó el valor en un rango de 0 y 100. Este valor representa un porcentaje de humedad del suelo. Cuando la humedad es alta mundial, el valor se acerca a 0 y si la humedad es baja el valor se acerca a 100.

Para facilitar la representación del valor y evitar confusiones en la lectura del usuario, invertimos esta lógica y representamos que 0% será baja humedad y 100% alta humedad. Esto se realizó mediante el cálculo realizado después del mapeo.

humedad = 100 - UmidityPercent;

Después de leer el valor de humedad es necesario presentarlo en la pantalla LCD. El siguiente paso es verificar si el valor de humedad es diferente de su valor más 1 o su valor menos 1, de acuerdo con la condición a continuación.

if ((humedad> (valor anterior) +1) || (humedad <(valor anterior) - 1))

Esta condición se utiliza para evitar que el sistema presente el mismo valor varias veces en la pantalla LCD. Pero, cuando la condición es verdadera, el sistema presentará el valor en la pantalla LCD y verificará si el valor es mayor o igual al 60% o menor al 60%. Si el valor fue mayor o igual al 60%, el sistema presentará el mensaje Humedad alta, de lo contrario, presente el mensaje Humedad baja, como se muestra a continuación.

if ((humedad> (valor anterior) +1) || (humedad <(valor anterior) - 1)) {lcd.setCursor (1, 0); lcd.print ("Humedad:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (humedad); lcd.print ("%"); if (humedad = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Alta humedad"); HighUmid = 1; LowUmid = 0; } PreviousValue = humedad; }

Finalmente, el sistema almacenará el valor de la variable de humedad en la variable PreviousValue para actualizar su valor. Cada vez que se presenta un nuevo valor en el display se actualiza la variable PreviousValue para ser utilizada en otros ciclos de procesamiento del código, por lo tanto, se trata de un sistema simple que se utiliza para monitorear la humedad de las plantas en nuestras residencias e informar a los usuarios sobre el nivel de humedad del suelo.

Paso 5: Agradecimientos

Silícios Lab agradece a PCBWay su apoyo y trabajo conjunto. Y tenemos muchos beneficios para ti. Gana 10 PCB gratis y muchas monedas de frijol (más información) para intercambiar productos en el sitio web de PCBWay.

Además de ellos, Silícios Lab agradece a UTSOURCE por su apoyo, por ofrecernos los componentes electrónicos de bajo costo, de gran calidad y buen servicio.

Recomendado: