Inicio

Sistema de Riego Monitoreado con Arduino

Monitoreo Reciente

Row

Temperatura Ambiente

27.8 °C

Temperatura Suelo

25.1 °C

Humedad Relativa Ambiente

33.5 %

Humedad Suelo

25.6 %

Índice UV

32614

Nivel de Agua Tanque

Row

Temperatura Ambiente

Temperatura del Suelo

Humedad Relativa Ambiente

Humedad del Suelo

Índice UV

Semana

Column

Temperatura Ambiente Promedio °C

28.3 °C

Promedio Humedad Relativa Ambiente

56.3 %

Promedio Índice UV

16251

Column

Temperatura Ambiente

Temperatura Suelo

Humedad Relativa Ambiente

Humedad Suelo

Índice UV

Column

Temperatura Suelo Promedio

23.7 °C

Promedio Humedad Suelo

59.8 %

Consumo de Agua Semana

94 Litros

Mes

Column

Temperatura Ambiente Promedio

24.1 °C

Promedio Humedad Relativa Ambiente

49.5 %

Promedio Índice UV

12568

Column

Temperatura Ambiente

Temperatura Suelo

Humedad Relativa Ambiente

Humedad Suelo

Índice UV

Column

Temperatura Suelo Promedio

20.9 °C

Promedio Humedad Suelo

62.4 %

Consumo de Agua Mes

315 Litros

Acerca del Proyecto

Introducción


Este tablero de datos se creó con el paquete Flexdashboard de R. El objetivo es aplicar de manera conjunta algunas bondades del hardware y software libre como Arduino y R, para posteriormente integrar todo en una herramienta que permite visualizar los registros capturados con los sensores que fueron programados mediante la IDE de Arduino. Estos sensores miden algunas variables de una planta, como la temperatura ambiente, humedad del suelo, temperatura del suelo, humedad relativa del aire, índice de rayos UV y el nivel del tanque del agua que se implemeta para el riego de la planta.

Los datos son almacenados en un archivo csv con su respectiva marca temporal, son leídos posteriormente y procesados con R para obtener la información que se muestra en el tablero.

Barra de Navegación



Monitoreo Reciente: este apartado muestra los datos correspondientes a las últimas 24 horas de mediciones capturadas por los sensores. Los cuadros de información de la parte superior indican la última medición realizada por cada uno de los sensores (temperatura ambiente, temperatura del suelo, humedad relativa, humedad del suelo, índice UV, nivel de agua tanque); cada uno de estos cuadros cambia a color rojo y cambia su ícono, si la última medición hecha supera el valor de control asignado, esto a modo de alerta para el usuario, ya que estos valores indicarían un valor no deseado; de lo contrario los cuadros estáran en sus colores habituales que indican un estado de normalidad de los valores medidos. Por otro lado, en el panel inferior se muestra en pestañas individuales la serie temporal con los registros de las últimas 24 horas para cada variable medida.

Arduino


Arduino es una plataforma electrónica de código abierto basada en hardware y software fáciles de usar. Las placas Arduino pueden leer entradas (luz en un sensor, un dedo en un botón o un mensaje de Twitter) y convertirlo en una salida, activando un motor, encendiendo un LED, publicando algo en línea.

Puede decirle a su tablero qué hacer enviando un conjunto de instrucciones al microcontrolador en el tablero. Para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el Software Arduino (IDE), basado en Processing.

Arduino interactúa con el lenguaje R, a través de la IDE RStudio de manera versátil. El paquete arduinor permite la captura de los datos obtenidos por los sensores y Arduino, facilitando su lectura directamente en la consola, ó, de manera más pŕactica, en un archivo CSV, para ejecutar el poder de R sobre los datos y así aplicar cualquier cómputo numérico y crear visualizaciones.

Para este caso en particular, el objetivo es programar una placa de arduino para medir algunas variables (humedad, tempepratura, intensidad de la luz) de una planta, generar un archivo CSV y finalmente presentar la información en el tiempo, por medio de un tablero de datos.

Sensores


Se adquirieron los sensores y la placa arduino (MEGA 2560), de acuerdo a las variables que se deseaba medir (humedad, temperatura, intesidad de luz, nivel de líquido). Los sensores que se usaron fueron los siguientes:

  • ds18b20 (temperatura. Suelo)
  • dht22 (humedad/temperatura. Ambiente)
  • gy-30 (intensidad lumínica.)
  • HW-080 y módulo convertidor YL-69 (humedad. Suelo)

IDE Arduino


El software Arduino (IDE) de código abierto facilita la escritura de código y su carga en la placa. Este software se puede utilizar con cualquier placa Arduino.

La IDE posee cientos de librerías que pueden ser instaladas, y con las que se obtienen funciones específicas para diferentes sensores y placas.

La placa de Arduino se conecta mediante el puerto USB, y desde la IDE se carga el código que lleva las instrucciones que controlan el comportamiento de los sensores.

Captura de Datos


El paquete arduinor cuyo creador es Hao Zhu, brinda la posibilidad de enlazar la placa de Arduino través del puerto serie, ejecutando todo el proceso desde RStudio.

Entre sus funciones, se encuentra una que permite la conexión con el puerto serie, además de la función que trasmite los datos directamente en la consola de RStudio.

En este ejercicio, se usó el paquete para construir un archivo CSV con los datos capturados por los sensores, archivo que sirve de materia prima para el tablero de datos.

En este link, se presenta una guía en español con un ejemplo práctico con arduino, para el uso del paquete arduinor.

Tablero


La construcción del tablero de datos, se hizo con el paquete flexdashboard. El código R automatiza la actualización de las variables, a medida que se agregan datos. Los paneles indicadores, cambian su color y el ícono, según el valor obtenido por los sensores, para que sirvan de alerta ante ciertos valores.

  • Monitor: presenta los datos de las últimas 24 horas y las últimas mediciones hechas.

  • Resumen semana: datos de los últimos 7 días, el acumulado de consumo de agua por día y el tratamiento usado para la planta en cuestión NPK.

  • Resumen mes: el reporte de las mediciones de los últimos 30 días.

Mejoras