Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Blog
  • ¿Quién soy?
  • Podcast
  • Curso Arduino [GRATIS]
  • Curso Domótica [GRATIS]
  • Acceder
Usted está aquí: Inicio / Podcast / 90. Tiesto inteligente con Arduino, proyecto paso a paso

90. Tiesto inteligente con Arduino, proyecto paso a paso

Comentarios(8)
Luis del Valle Hernández

http://api.spreaker.com/download/episode/9293727/podcast90.mp3

Podcast: Descargar (42.7MB)

En el capítulo de hoy voy a hablar, además de Arduino, de otra de mis pasiones secretas, las plantas. En mi familia, siempre hemos tenido una larga trayectoria relacionada con el reino vegetal. Mis abuelos eran unos apasionados de las plantas, mis padres han regentado una floristería y yo siempre he estado rodeado de plantas y árboles. En la terraza de mi casa, tengo más de 25 plantas diferentes las cuales cuido con mucho cariño. Uno de los grandes inconvenientes que encuentro es situarlas dependiendo de la estación del año, de la hora del día y de las condiciones meteorológicas para que tengan las mejores condiciones posibles. Siempre ando moviendo los tiestos de un lado a otro. Tomando un café y pensando en cómo resolverlo, pensé en crear un tiesto inteligente con Arduino.

Plantas Terraza

Tengo la costumbre de plantar cualquier semilla que me encuentro. De este modo tengo he conseguido cultivar naranjos, manzanos, olivos, palmeras, jacarandas, etc…, todos en miniaturas como si fueran bonsais. Cuando hablo de inteligencia quiero dejar claro que estoy hablando de que tenga su propia autonomía y que tome decisiones respecto a unos umbrales establecidos. Algo parecido al proyecto Fish on Wheels que vimos en el capítulo 64. Proyectos curiosos con Arduino, pero con plantas.

Este capítulo va a ser el primero de una serie donde explicaré como llevar a cabo este proyecto. Daré todos los pasos a seguir para que tú, seas capaz de crear el mismo proyecto paso a paso. Comenzaré haciendo una descripción del proyecto a grandes rasgos, el material que vamos a utilizar y los posibles problemas que deberemos ir resolviendo. En los siguientes capítulos profundizaré dando todo lo necesario para que lleves a cabo este proyecto conmigo.

Por supuesto que es primordial tu colaboración. Me encantaría que enviaras comentarios y sugerencias para ir mejorando el producto. El fin de este proyecto no es la idea en sí, lo que pretendo es transmitir todos esos conceptos para poder crear un proyecto de principio a fin. El resultado final será un prototipo que podremos ir mejorando entre todos hasta conseguir un producto final e incluso, por qué no, poder comercializarlo como un proyecto Open Source.

Antes de comenzar con tema que voy a tratar hoy, decirte que el 14, 15 y 16 de Octubre, estaré en las XI JPOD (Jornadas de Podcasting) en Málaga. En este evento nacional realizaré un directo junto a Gabriel Viso del podcast Pitando. Si vas a estar por allí, espero verte.

Indice de contenidos

  • 1 Especificaciones y requerimientos para el tiesto inteligente con Arduino
  • 2 Material y componentes necesarios para el tiesto inteligente con Arduino
  • 3 Posibles problemas que deberemos resolver
  • 4 Conclusiones

Especificaciones y requerimientos para el tiesto inteligente con Arduino

Lo primero que vamos a ver es qué es lo que tenemos que hacer a grandes rasgos. Son las especificaciones y requerimientos del proyecto. El concepto general es que una planta se mueva libremente en base a unos parámetros medioambientales. Por lo tanto, tenemos dos partes diferenciadas:

  • El robot o plataforma donde situar la planta para que se mueva.
  • Los sensores que captarán los parámetros medioambientales.

El robot o plataforma debe ser capaz de mover una planta

En el mercado encontramos una enorme variedad de modelos de robots y plataformas móviles para Arduino. Uno de los más conocidos creado por la empresa DFROBOT es el Pirate 4WD Mobile Platform. Se trata de un robot con cuatro motores para sus cuatro ruedas y con una plataforma. Está construido en aluminio resistente y ligero y tiene dos niveles o pisos. El primer nivel estaría destinado a situar toda la electrónica. El segundo nivel tiene agujeros, reservado para sensores y todo aquello que queramos transportar. Es el robot ideal para este proyecto.

DFROBOT Pirate 4WD

El robot, con la planta encima, se moverá libremente buscando las mejores condiciones para la planta. Dependiendo de unos umbrales establecidos sobre parámetros medioambientales, será capaz de situarse en el lugar idóneo. Todo esto se hará a través de un algoritmo que deberemos programar, aunque esto lo veremos más adelante. Uno de los grandes inconvenientes del tiesto inteligente con Arduino son los obstáculos. Como es natural encontrará cosas en su camino y de alguna manera tendrá que evitarlos. Lo lógico sería utilizar un sensor de ultrasonidos aunque hay otras alternativas como el escáner LIDAR o los infrarrojos. Puestos a elegir, lo más sencillo y económico sería las ondas ultrasónicas.

Uno de los factores importantes a la hora de trabajar con motores es el torque. Ya hablé de su significado en el capítulo 73. Motor paso a paso con Arduino. Para este primer prototipo, no nos vamos a centrar en si puede o no puede mover cierta maceta. Al tratarse de un prototipo, el objetivo es que haga lo que nosotros queremos aunque sea con una maceta pequeña. Por lo tanto si tu no tienes este robot en concreto no te preocupes, sigue adelante ya tendrás tiempo de cambiarlo si hace falta.

Parámetros medioambientales a tener en cuenta para el movimiento

Además de librar los obstáculos, debemos tener en cuenta los parámetros medioambientales por los que debe moverse. En principio yo he pensado en los siguientes.

  • Temperatura
  • Humedad
  • Índice de calor: se calcula en base a la temperatura y la humedad relativa e indica cuánto calor hace.
  • Condiciones de lluvia
  • Luminosidad
  • Humedad del suelo
  • Viento (aunque esté apuntado aquí se descartará en el primer prototipo por su complejidad)
Tiesto inteligente con Arduino

Estos parámetros nos dirán si la planta está situada en un buen lugar o no. Los umbrales que se establezcan dependerán del tipo de planta, no es lo mismo un cactus que un geranio. Otro parámetro a tener en cuenta es la estación del año en la que estamos y la hora del día. Esto nos permitirá establecer diferentes modos por ejemplo, modo verano y modo invierno. Se puede hacer de dos maneras, manual o automático.

La forma manual es la más sencilla de realizar y lo haríamos con un simple interruptor o botón para indicar en que modo estamos. Para hacerlo de la otra forma, la automática, tenemos dos posibilidades. Por un lado utilizar la librería Time que incluye Arduino o utilizar un RTC (Real Time Clock) reloj en tiempo real. La forma automática es más costosa y de momento, la dejamos apuntada por si nos interesa hacerlo de esta manera.

Requerimientos del software

Aquí entramos en mi terreno y por desgracia me tengo que poner freno. Se me ocurren cientos de ideas para monitorizar su comportamiento y poder interactuar con la planta. Desde históricos pasando por gráficas, hasta publicación de su estado en redes sociales pero, no es el objetivo del prototipo. Complicaría mucho el desarrollo.

En esta primera fase donde se diseñará un prototipo, lo único que voy a hacer es la programación de todos los componentes con el código nativo de Arduino, que no es poco. Necesitaremos también alguna pantalla o LCD para mostrar información y no ir a ciegas, la interfaz de usuario. En el prototipo, los umbrales de decisión estarán integrados en el código como contantes o variables, teniendo que cargar de nuevo todo el sketch si los queremos modificar.

En una segunda fase del proyecto, cuando esté terminado el prototipo del tiesto inteligente con Arduino, podemos hacer una interfaz web que nos de información, hacer un histórico de los datos, cambiar umbrales, etc… Como no, la posibilidad de utilizar una Raspberry Pi como complemento es alta. El gran problema que nos encontraremos será la comunicación a través de la red, pero esto ya lo resolveremos de alguna manera cuando llegue el momento.

Material y componentes necesarios para el tiesto inteligente con Arduino

En base a todo lo expuesto en las especificaciones y requerimientos, estos son los diferentes componentes que vamos a utilizar para el tiesto inteligente con Arduino. Como ya te he dicho, estoy abierto a sugerencias y modificaciones.

Robot o plataforma de movimiento

  • DFROBOT Pirate 4WD (4 motores) precio 40€
    • Los motores se conectan al shield no ocupan pines
  • Motor Shield Adafruit v2.3 precio 30€
    • Comunicación I2C
  • Kit pines hembra Arduino R3 precio 8,25€
  • Sensores de ultrasonidos HC-SR04 x 2 precio 8€
    • 4 pines digitales
    • 5V
  • Servomotores x 2 precio 11€
    • Se conectan al shield, no ocupa pines
    • 5V

Sensores para parámetros medioambietales

  • Temperatura, humedad e índice de calor
    • DHT11 precio 2,60€
      • 1 pin digital
      • Alimentación 5V
  • Sensor de lluvia
    • Presión barométrica
      • BMP180 de Sparkfun precio 4€
        • Comunicación I2C (dos pines)
        • Alimentación 3,3V
    • Sensor de gotas de agua
      • Módulo MH-RD precio 9€
        • 1 pin digital o 1 pin analógico
        • Alimentación 5V
    • Sensor de luminosidad
      • Módulo fotoresistencia precio 3,55€
        • 1 pin analógico
        • Alimentación 5V
    • Sensor de humedad del suelo YL-69 precio 7€
      • 1 pin analógico
      • 5V

Interfaz con el tiesto inteligente

  • Pantalla LCD 16×2 precio 1,98€
    • 6 pines digitales
    • 5V
  • Potenciómetro 10kΩ

Complementos

  • Protoboard
  • Cables
  • Resistencias
  • Pulsadores
  • Pilas
  • Baterías

Elegir la mejor placa para el tiesto inteligente con Arduino

Con las características detalladas de los componentes, podemos tomar la decisión de qué placa utilizar. Voy a hacer un resumen de los pines y el voltaje de operación.

  • Pines
    • Digitales: 11
    • Analógicos: 5
  • Voltaje de operación
    • 3,3V
    • 5V

Dentro de la gama de placas de Arduino, quizás la mejor opción sea la utilizar un Arduino UNO. Queda descartado, de momento, el Arduino MKR1000 debido a que solo dispone de 8 pines digitales y 7 analógicos. Además, esta placa opera solo con 3,7V de salida, insuficiente para alimentar muchos sensores. Esto no quiere decir que en un futuro no podamos utilizar un Arduino MEGA o cualquier otra paca cuyas prestaciones nos sirvan para nuestro proyecto, pero para este prototipo el Arduino UNO es la que mejor se amolda a nuestras necesidades.

Por lo tanto, mi elección es empezar con un Arduino UNO, cuyo coste es de unos 23€.

Coste total del proyecto

Aquí voy a hacer una estimación de lo que nos costaría todo el proyecto. En el caso de que tuviéramos ya algún componente o que podamos sustituirlo por alguno parecido, el coste se reduciría. El total, sumando todos los sensores, motores, robot y placa, sería de unos 150€ sin incluir los complementos. Es un precio razonable y no muy disparatado para hacer esta gran locura. Si tu presupuesto no da, siempre podrás eliminar diferentes sensores y adaptar el proyecto a tus necesidades.

Posibles problemas que deberemos resolver

Una vez ya sabemos todo lo necesario para crear el tiesto inteligente con Arduino, debemos plantearnos los primeros problemas que nos vamos a encontrar. Seguramente surjan muchos más, pero poco a poco los iremos resolviendo. A continuación te los detallo, en este capítulo no los vamos a resolver, en los siguientes iremos viendo diferentes formas para resolverlos.

  • Aislamiento eléctrico frente al agua.
  • Posicionamiento del tiesto inteligente con Arduino, que guarde las mejores posiciones.
  • El peso del tiesto y de la planta es un factor a tener en cuenta, comenzaremos con algo muy ligero.
  • El número de pines puede ser determinante. En el caso de requerir más siempre podremos utilizar una placa con más prestaciones, por ejemplo un Arduino MEGA.
  • Con el sensor de ultrasonidos resolvemos lo de los obstáculos pero ¿qué pasa si hay uno a nivel del suelo?
  • El consumo de energía de los componentes es crucial. Debemos hacer un estudio minucioso para saber que tipo de alimentación utilizar.

Conclusiones

Este será el primero de una serie de capítulos dedicados a este proyecto. Iremos avanzando juntos y resolviendo los problemas que vayan surgiendo. En este blog iré colgando toda la información relativa al proyecto. En el Campus de Programarfacil colgaré los análisis en profundidad de todos los sensores que se traten. Espero que el tiesto inteligente con Arduino te guste, si es así, compártelo y dame tus impresiones, juntos seguro que hacemos un gran proyecto.

Puedes escuchar este programa en,  iVoox, iTunes y en Spreaker. Si lo haces, por favor valora y comenta, así podremos llegar a más gente.

Conocer como funciona el mundo es la única manera de poder cambiarlo.

integraciones de Home Assistant

Integraciones de Home Assistant

En este tutorial voy a hablar de las integraciones de Home Assistant pero antes déjame contarte la historia de Jack, un norteamericano de bien, de los … [+ info...]

dispositivos inteligentes para el hogar

Tipos de dispositivos inteligentes para el hogar

En este artículo voy a hablar de los dispositivos domóticos o dispositivos inteligentes para el hogar que pueden ser integrados dentro de Home … [+ info...]

osciloscopios

Osciloscopio para proyectos con Arduino

Una imagen vale más que mil palabras. Seguro has escuchado esta frase alguna vez y es probable que en la mayoría de las ocasiones lo que dice sea … [+ info...]

Copyright © 2023 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR