Tabla de contenido:

Maceta automatizada - Pequeño jardín: 13 pasos (con imágenes)
Maceta automatizada - Pequeño jardín: 13 pasos (con imágenes)

Video: Maceta automatizada - Pequeño jardín: 13 pasos (con imágenes)

Video: Maceta automatizada - Pequeño jardín: 13 pasos (con imágenes)
Video: Maceta Autorriego | Riego Automático | Reciclar botella de Plástico (PET) | Cultivo Paso a Paso 2024, Mes de julio
Anonim
Maceta automatizada - Little Garden
Maceta automatizada - Little Garden

Soy un estudiante de Tecnología de la Comunicación y Multimedia en Howest Kortrijk. Para nuestra asignación final, tuvimos que desarrollar un proyecto de IoT de nuestra propia elección.

Buscando ideas, decidí hacer algo útil para mi madre, a quien le encanta cultivar plantas, y comencé a trabajar en una maceta automática.

Las principales tareas de esta maceta automática, Little Garden, son:

  • Medir la
    • Temperatura
    • Intensidad de luz
    • Humedad
    • La humedad del suelo

Guarde las medidas en una base de datos

Mejorar las condiciones para el crecimiento de las plantas si un determinado valor es demasiado bajo

Permita que el dispositivo sea monitoreado y administrado a través de un sitio web

No es necesario seguir todos los pasos hasta el final. Mucho de lo que sucede puede ser su preferencia personal o mejorarse. Esta construcción se hizo de manera que las partes pudieran recuperarse después, por lo que es posible que desee abordar su iteración de manera diferente para que sea más permanente

Paso 1: Suministros

Suministros
Suministros
Suministros
Suministros
Suministros
Suministros

La mayoría de los suministros para este proyecto no son muy difíciles de adquirir, aunque en mi caso trabajé con muchos materiales reciclados. También tuve que asegurarme de poder recuperar algunos materiales después.

Componentes principales:

  • Raspberry Pi 4 modelo B
  • Fuente de alimentación Raspberry Pi
  • Zapatero en forma de T de frambuesa Pi
  • Tarjeta micro SD de 16GB
  • Fuente de alimentación de tablero con 3.3V y 5V
  • Tablero de circuitos
  • Fuente de alimentación 12V

Sensores:

  • DHT11: Sensor de temperatura y humedad
  • BH1750: sensor de intensidad de luz
  • Sensor de humedad del suelo
  • MCP3008

Componentes del actuador:

  • Bomba de agua 220V
  • Tira de LED 12V
  • Módulo de relés Velleman
  • SUGERENCIA 50: transistor NPN
  • Pantalla de módulo LCD 16X2
  • PCF8574a

Resistencias:

  • 3 resistencias de 330 ohmios
  • 1 x resistencia de 5 k ohmios
  • 2 resistencias de 10k Ohm
  • Resistencia de 1 x 1k Ohm
  • 1 x resistencia Potentio de 10k

Materiales:

  • Invernadero / maceta prefabricados
  • Caja de conexiones
  • Botella de agua de plástico
  • Gira
  • Cables de puente + cable regular
  • Skrews
  • Estaño para soldar + tubería termorretráctil
  • Cinta de pato de doble cara
  • Pintura

Herramientas:

  • Pistola de pegamento
  • Taladro
  • Hoja de sierra
  • Soldador
  • Cortador de cajas
  • Cepillo de pintura

Lo bueno de este proyecto es que se puede expandir o simplificar agregando / quitando componentes y modificando ligeramente el código. Por ejemplo, al reemplazar la bomba de 220 V con una bomba de 12 V, puede quitar un adaptador de corriente del dispositivo.

Paso 2: Esquema de Fritzing

Esquema de Fritzing
Esquema de Fritzing
Esquema de Fritzing
Esquema de Fritzing

La placa de pruebas y los esquemas eléctricos del dispositivo se muestran arriba. Aquí puede ver cómo todos los componentes están conectados entre sí.

Una explicación general de cómo funcionan los componentes:

  • El DHT11 mide la humedad del aire en% y la temperatura en ° C. La comunicación con él es manejada por un bu I2C.
  • El BH1750 mide la intensidad de la luz en lux. La comunicación es manejada por un bus I2C
  • El sensor de humedad del suelo crea una señal digital que el MCP3008 convierte en una señal digital legible para Raspberry Pi
  • El módulo LCD de 16x2 muestra las direcciones IP del Pi, una tras otra. Está conectado a un PCF8574a que recibe una señal de la Raspberry Pi que la convertirá en una serie de señales para los pines de bits de la pantalla. Los pines E y RS de la pantalla LCD están conectados directamente al Pi. La resistencia de potencia determina el brillo de la pantalla.
  • La bomba de agua está conectada a un relé que se encuentra entre ella y su fuente de alimentación / toma de 220V. La Raspberry Pi puede enviar una señal al relé para cerrar el circuito eléctrico y encender la bomba.
  • La tira de LED está conectada a la fuente de alimentación de 12V y al TIP 50 (transistor NPN) que alterna la corriente eléctrica. La resistencia de 1k Ohm se usa para limitar la potencia extraída de la Raspberry Pi, de lo contrario, se fríe más crujiente.

Paso 3: prepara la Raspberry Pi

Prepara la Raspberry Pi
Prepara la Raspberry Pi

Si aún no tiene una, deberá colocar una de las imágenes del sistema operativo Raspberry Pi en la tarjeta SD. No recomiendo usar Lite, ya que esto me causó problemas al principio. Luego, deberá asegurarse de que su Pi esté actualizado mediante el uso de los siguientes comandos mientras el Pi está conectado a Internet:

  1. sudo apt-get update
  2. sudo apt-get upgrade

Después de lo cual puede habilitar o instalar los paquetes para que el proyecto funcione, ya sea a través de raspi-config o comandos.

  • SPI
  • I2C
  • MySQL: siguiente paso
  • SocketIO: pip instalar flask-socketio

Después de la configuración, puede agregar los archivos necesarios que están escritos en html, CSS, Javascript y Python. Todo mi código se puede encontrar en mi repositorio de github.

Paso 4: Modelo de base de datos - MySQL

Modelo de base de datos - MySQL
Modelo de base de datos - MySQL

Arriba puede ver el diagrama ERD que está alojado a través de MariaDB. Recomiendo seguir esta guía de instalación de MariaDB, no solo para instalar MariaDB, sino también para asegurarse de que su Pi esté protegida.

Para las personas que deseen comprender, la base de datos funciona de la siguiente manera:

Las medidas y los conmutadores del actuador se almacenan como filas dentro de la tabla de Metingen.

  • metingId = ID de la fila de medición / alternar
  • deviceId = ID del dispositivo responsable de esta fila en la tabla
  • waarde = valor de la medida del sensor o palanca del actuador

    • sensor: valor de la medida en las unidades correspondientes
    • actuadores: 0 = OFF y 1 = ON
  • commentaar = comentarios utilizados para agregar información adicional, como errores
  • datum = la fecha y hora en que ocurrió la medición / alternancia

La configuración del dispositivo se almacena en Configuración.

  • settingId = ID de esta fila y el valor de configuración
  • deviceID = ID del dispositivo / sensor correspondiente
  • waarde = valor de la configuración
  • type = tipo del settin, ¿es máximo o mínimo?

Por último, pero no menos importante, la tabla Dispositivos contiene información sobre los sensores y actuadores.

  • deviceId = ID del dispositivo en esta tabla
  • naam = nombre del dispositivo / componente
  • merk = marca
  • prijs = precio del componente
  • beschrijving = resumen del componente
  • eenheid = unidad para los valores medidos
  • typeDevice = especifica si el componente es un sensor o un actuador

Paso 5: Frontend: Configuración del servidor web

Frontend: configuración del servidor web
Frontend: configuración del servidor web

El Pi requerirá que instale el servidor web Apache para ejecutar el servidor web para este dispositivo. Esto se puede hacer con el siguiente comando:

sudo apt-get install apache2.

Una vez hecho esto, puede navegar a la carpeta: / var / www / html. Aquí deberá colocar todo el código de la interfaz. Posteriormente, puede acceder al sitio web navegando hasta la dirección IP.

Paso 6: backend

Para ejecutar el backend, deberá ejecutar el archivo app.py, ya sea manualmente o creando un servicio para él en la Pi para que se inicie automáticamente.

Como puede notar, hay bastantes archivos. Separé el código tanto como pude para tener una descripción y organización claras del código.

Una breve explicación:

app.py: el archivo principal donde se unen la base de datos, el código de hardware y el código de backend

config.py: el archivo de configuración para los repositorios de bases de datos

Repositorios: para acceder al repositorio de datos

  • Ayudante

    • devices_id: clases para ayudar a identificar la información del dispositivo en la base de datos
    • lcd: para ejecutar PCF y LCD
    • Actuadores: clases para hacer funcionar los actuadores
    • Sensores: clases para hacer funcionar los sensores

Paso 7: Colocación de la tira de LED

Colocación de la tira de LED
Colocación de la tira de LED

Corté un trozo de la tira de LED y lo pegué en la parte superior de la caja del invernadero. La tira que utilicé podría cortarse en varias posiciones y volver a conectarse, por lo que podría colocar varias tiras y volver a conectarlas después a través de cables, lo que permite iluminar más espacio.

Paso 8: Colocación de los tubos

Colocación de los tubos
Colocación de los tubos

Los tubos se pueden colocar de varias maneras, pero en mi caso los adjunté al costado de la parte inferior, manteniéndolos lo más lejos posible de los otros dispositivos electrónicos y dejando que el agua simplemente fluyera hacia la tierra.

Paso 9: Colocación de la pantalla LCD

Colocación de la pantalla LCD
Colocación de la pantalla LCD

Corté un todo en la tapa de la caja de conexiones con una hoja de sierra, creando una abertura lo suficientemente grande para que pasara la pantalla, pero lo suficientemente pequeña para que la PCB se quedara detrás. Posteriormente, se fijó a la tapa mediante sesgos.

La pantalla LCD muestra las direcciones IP de la Raspberry Pi, lo que permite saber qué dirección puede utilizar para navegar por el sitio web.

Paso 10: Colocación de los sensores y conexión de la tira de LED

Colocación de los sensores y conexión de la tira de LED
Colocación de los sensores y conexión de la tira de LED
Colocación de los sensores y conexión de la tira de LED
Colocación de los sensores y conexión de la tira de LED

Usando los esquemas de fritzing, soldé las conexiones entre los cables y coloqué las resistencias dentro de los cables, usando tubos termorretráctiles para aislarlos.

Se cortaron agujeros en los lados de la tapa y la parte inferior del invernadero para sujetar los pivotes, a través de los cuales pasé los cables para los sensores y la tira de LED.

Agrupé los cables por función. La tensión de los cables y los tubos retráctiles sostuvo los sensores. Solo tuve que usar pegamento en los cables para el DHT11 ya que esto se extendió aún más.

Paso 11: Cableado del Pi

Cableado del Pi
Cableado del Pi
Cableado del Pi
Cableado del Pi
Cableado del Pi
Cableado del Pi

Corté agujeros en el costado de la caja de conexiones para permitir que los cables pasen más tarde.

Después de eso, coloqué la placa de pruebas (con el zapatero en T, PCF8574a, MCP3008, resistencia ajustable y TIP50), el relé y la Raspberry Pi en la parte inferior de la caja de conexiones, que estaba cubierta con cinta adhesiva de doble cara. La fuente de alimentación no encajaba en la placa, por lo que tuve que ponerla a un lado y usé cables de puente para conectarla a la placa.

Finalmente, pasé los cables del adaptador, sensor y actuador a través de los orificios que conectaban los cables a la placa de pruebas, Raspberry Pi y otros componentes. El cable de la bomba se abrió para poder colocar los extremos dentro del relé para que pudiera usarse como interruptor.

Paso 12: hacer un recipiente para agua

Hacer un recipiente para agua
Hacer un recipiente para agua

Hice un recipiente de agua con una botella de agua de plástico de 1 litro cortando la parte superior con un cúter y pintándola para una mejor apariencia. Luego se colocó la bomba de agua en el interior. Debido a la regla de los vasos comunicantes, el agua podría fluir a través de las tuberías por sí sola, pero sostener el tubo hacia arriba soluciona el problema.

Paso 13: Resultado final

Resultado final
Resultado final
Resultado final
Resultado final

El momento que estabas esperando. Ahora puede colocar la tierra y las semillas dentro de la caja del invernadero y dejar que el dispositivo se haga cargo. Puede controlar el estado del dispositivo desde el sitio web y establecer los valores óptimos para las condiciones de iluminación y suelo.

Recomiendo regar la tierra primero manualmente, ya que un poco de tierra puede estar bastante seca al principio. Algunas bombas también parecen regar con bastante lentitud, pero debe tener mucho cuidado, ya que se llenará más rápido de lo esperado. Una saturación superior al 80% puede hacer que el suelo esté muy empapado. Y asegúrese de que el sensor de humedad del suelo sea lo suficientemente profundo.

Recomendado: