Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Jardín interior Arduino

Componentes y suministros

Arduino Nano R3
× 1
mbientLab Bluetooth a USB Dongle
× 1
JLCPCB PCB personalizado
× 1

Acerca de este proyecto

La jardinería en la era moderna significa hacer las cosas más complicadas y arduas, con electrones, bits y bytes. Combinar microcontroladores y jardinería es una idea muy popular. Creo que eso se debe a que los jardines tienen entradas y salidas muy simples que son fáciles de entender. Supongo que la gente (incluido yo mismo) ve un pasatiempo notoriamente simple y relajado y no puede evitar sentirse obligado a complicarlo demasiado.

En este proyecto, le mostraré cómo construir una versión más simple de jardín interior usando una placa de desarrollo Arduino .

Le proporciono una guía completa paso a paso para mostrarle cómo hacer su propio jardín hermoso, y estoy explicando en detalle las partes de hardware y software para convertir esta guía en la forma más simple que lo lleve a probar su propias habilidades en la fabricación electrónica. Este proyecto es muy útil de hacer especialmente después de obtener el PCB personalizado que pedimos a JLCPCB para mejorar la apariencia de nuestro automóvil y también hay suficientes documentos y códigos en esta guía para permitirle crear su sistema de jardín automático.

Hicimos este proyecto en solo 7 días, solo tres días para terminar la fabricación del hardware y el ensamblaje, luego 4 días para preparar el código y la aplicación de Android. para controlar el jardín a través de él. Antes de comenzar, veamos primero

Qué aprenderá de este tutorial:

  • Elegir los componentes adecuados según las funcionalidades de su proyecto
  • Hacer el circuito para conectar todos los componentes elegidos
  • Reúna todas las partes del proyecto y comience a probar
  • Usando la aplicación de Android. para conectarse a través de Bluetooth y comenzar a manipular el sistema

Paso 1:¿Qué es un jardín interior?

La mayoría de las plantas tienen necesidades simples. A medida que avanzan los invitados, son relativamente poco exigentes. Solo hay tres cosas básicas que debe comprender antes de decidir invitar a una planta a su hogar:luz, agua y aire. Si puede dominar estos cuatro elementos, desde la perspectiva de una planta, puede crear un jardín interior en casi cualquier lugar del mundo y durante cualquier estación del año.

  • Ligero - La mayoría de las plantas de jardín necesitan al menos seis horas de luz al día. Pero tiene que haber buena luz. Si coloca la mano frente a la ventana y no proyecta una sombra, es probable que la luz no sea adecuada para que la mayoría de las plantas vivan una vida feliz. Sin embargo, siempre puede complementar las condiciones de poca luz con luces de cultivo. Si tiene luz natural modesta en su hogar y no quiere preocuparse por la iluminación especial, apéguese a las plantas que normalmente necesitan condiciones de poca luz o intente trasladar su jardín a un alféizar soleado.
  • Agua - Las plantas necesitan condiciones cercanas a las de sus hábitats nativos. Una planta que llama hogar al desierto necesitará un riego con menos frecuencia que una planta que vive en un pantano. Saber qué condiciones de agua prefiere una planta es un buen primer paso para mantener un jardín interior exitoso. Es más fácil de lo que piensa porque las plantas mismas a menudo le darán pistas. Las plantas con hojas gruesas y gomosas acumulan agua y, por lo general, pueden sobrevivir con menos agua que las plantas con hojas delgadas y delicadas. Si odia regar sus plantas, elija variedades que puedan prosperar con menos o elija macetas con depósitos ocultos para reducir sus tareas de riego.
  • Aire - Como subproducto de la fotosíntesis, las plantas producen oxígeno y filtran gases desagradables, como el formaldehído, del entorno de su hogar a través de sus hojas. Para mantener las plantas sanas, debes mantener sus hojas limpias y mantener el aire a su alrededor en movimiento y húmedo. Para hacer esto, puede colocarlos en un lugar con buen flujo de aire o proporcionarles un pequeño ventilador.

Haré un sistema basado en Arduino para supervisar el estado de temperatura y humedad de mi planta y proporcionar automáticamente sus necesidades necesarias como intensidad de luz, agua y aire puro y para hacer esto necesito algunos sensores para controlar algunos actuadores. Por ejemplo, controlaré la intensidad de la luz en función de las señales recibidas del sensor de brillo de la luz. Lo mismo para el riego. Usé un sensor de humedad para encender y apagar una bomba de agua y un sensor de temperatura / humedad para el control de encendido y apagado de ventiladores de 12 V CC. .

Paso 2:Sensores y actuadores

La realización de este sistema es el Montaje de unos sensores y actuadores para acceder a los datos físicos de la planta y poder encontrar qué es lo que solicita la planta y cuándo debe suministrarlo.

Esta es la razón por la que debe usar algunos sensores y actuadores, todos conectados a una placa Arduino:

Sensores

  • Sensor de luz BH1750:BH1750FVI Es un sensor de luz digital, que es un sensor de luz ambiental digital IC para interfaz de bus I2C. Este IC es el más adecuado para obtener los datos de luz ambiental para ajustar la potencia de la retroiluminación de la pantalla LCD y el teclado del teléfono móvil. Es posible detectar un amplio rango en alta resolución (1 - 65535 lx).
  • Sensor de humedad del suelo:los sensores de humedad que miden la resistencia o conductividad a través de la matriz del suelo entre dos contactos son esencialmente basura. En primer lugar, la resistencia no es un indicador muy bueno del contenido de humedad, porque depende en gran medida de una serie de factores que pueden variar de un jardín a otro, incluido el pH del suelo, los sólidos disueltos en el agua y la temperatura. En segundo lugar, la mayoría de ellos son de mala calidad y los contactos se corroen fácilmente. En su mayor parte, tendrías suerte de conseguir uno que dure toda la temporada.
  • Sensor de temperatura y humedad:el DHT11 es un sensor de temperatura y humedad digital básico y de muy bajo costo. Utiliza un sensor de humedad capacitivo y un termistor para medir el aire circundante, y escupe una señal digital en el pin de datos (no se necesitan pines de entrada analógica). Es bastante simple de usar, pero requiere una sincronización cuidadosa para capturar los datos. La única desventaja real de este sensor es que solo puede obtener nuevos datos de él una vez cada 2 segundos, por lo que cuando usa nuestra biblioteca, las lecturas del sensor pueden tener hasta 2 segundos de antigüedad.

Actuadores

  • LED blanco claro:un diodo emisor de luz (LED) es una fuente de luz semiconductora de dos conductores. Es un diodo de unión p – n que emite luz cuando se activa. [5] Cuando se aplica un voltaje adecuado a los cables, los electrones pueden recombinarse con los agujeros de electrones dentro del dispositivo, liberando energía en forma de fotones.
  • Bomba de agua:una bomba es un dispositivo que mueve fluidos (líquidos o gases), o en ocasiones lodos, por acción mecánica. Las bombas se pueden clasificar en tres grupos principales de acuerdo con el método que utilizan para mover el fluido:bombas de elevación directa, desplazamiento y gravedad.Las bombas funcionan mediante algún mecanismo (típicamente alternativo o rotativo) y consumen energía para realizar trabajo mecánico moviendo el líquido. Las bombas funcionan a través de muchas fuentes de energía, incluida la operación manual, la electricidad, los motores o la energía eólica, vienen en muchos tamaños, desde microscópicas para su uso en aplicaciones médicas hasta grandes bombas industriales.
  • Ventilador de enfriamiento de 12 V CC:es importante comprender las técnicas de enfriamiento que se pueden usar para preservar la vida de su planta al mover aire fresco alrededor de la planta cuando sea necesario para mantener la planta en condiciones saludables.

Paso 3:Fabricación de PCB (producida por JLCPCB)

Acerca de JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.), es la empresa de prototipos de PCB más grande de China y un fabricante de alta tecnología que se especializa en prototipos de PCB rápidos y producción de PCB en lotes pequeños.

Con más de 10 años de experiencia en la fabricación de PCB, JLCPCB tiene más de 200,000 clientes en el país y en el extranjero, con más de 8,000 pedidos en línea de prototipos de PCB y producción de PCB en pequeñas cantidades por día. La capacidad de producción anual es de 200.000 metros cuadrados. para varios PCB de 1 capa, 2 capas o multicapa. JLC es un fabricante profesional de PCB que cuenta con equipos de pozo a gran escala, una gestión estricta y una calidad superior.

Volver a nuestro proyecto

Para producir el PCB, he comparado el precio de muchos productores de PCB y elegí a JLCPCB los mejores proveedores de PCB y los proveedores de PCB más baratos para pedir este circuito. Todo lo que necesito hacer son unos simples clics para cargar el archivo gerber y establecer algunos parámetros como el color y la cantidad del grosor de la PCB, luego pagué solo 2 dólares para obtener mi PCB después de solo 3 días y me di cuenta de que allí Hay algunas ofertas de envío gratuito de vez en cuando en esta plataforma de pedidos en línea.

Puede obtener el archivo de circuito (PDF) desde aquí.

Como puede ver en las imágenes de arriba, la PCB está muy bien fabricada y tengo la misma forma de hoja de PCB que diseñamos y todas las etiquetas y logotipos están ahí para guiarme durante los pasos de soldadura.

Paso 4:ingredientes

Ahora revisemos los componentes necesarios para este proyecto y puede encontrar todos los enlaces relacionados para un pedido en línea, por lo que necesitaremos:

  • - La PCB que le pedimos a JLCPCB
  • - Arduino Nano:http://amzn.to/2C7g0YW
  • - Módulo ESP01:http://amzn.to/2CCRVdL
  • - Módulo Bluetooth HC-05 o HC-06:http://amzn.to/2CCRVdL
  • - Sensor de luz BH1750:http://amzn.to/2CCRVdL
  • - Sensor de temperatura y humedad:http://amzn.to/2CCRVdL
  • - Sensor de humedad:http://amzn.to/2CCRVdL
  • - Bomba de agua:http://amzn.to/2CCRVdL
  • - Ventilador de 12 V CC:http://amzn.to/2CCRVdL
  • - LED blancos:http://amzn.to/2CCRVdL
  • - Algunos conectores de encabezado:http://amzn.to/2CCRVdL-

Paso 5:el montaje

Mostrar los 9 artículos

Ya estamos listos, así que comencemos a soldar los componentes y no olvide seguir las etiquetas para evitar errores de soldadura. Comenzamos soldando el conector Arduino para probar la fuente de alimentación y también puede escribir algún código de prueba básico para verificar la conexión correcta para cada sensor como el sensor de luz y es lo mismo para los LED porque todos están conectados directamente a la placa (Arduino ) para que tenga acceso completo a ellos.

Nota :Necesita mantener su soldador limpio y agradable. Eso significa limpiarlo con la esponja cada vez que lo use. La punta de su soldador debe estar limpia y brillante. Siempre que vea que la punta se ensucia con fundente u oxida, eso significa que pierde su brillo, debe limpiarla. Incluso si estás soldando. Tener una punta de soldadura limpia hace que sea MUCHO más fácil transferir calor al objetivo de soldadura.

El PCB que pedimos a JLCPCB lo guiará para mantener todo en la ubicación correcta, así que no dude en visitar este enlace si desea ver el PCB que hemos hecho y hacer un pedido en línea.

Como puede ver, usar esta PCB es muy útil debido a su calidad y seguro que todas las etiquetas allí le brindan la mejor orientación, por lo que estará 100% seguro de que no cometerá errores de soldadura.

He soldado cada componente a su ubicación y puede usar ambos lados de la PCB para soldar sus partes electrónicas.

Ahora tenemos la PCB lista y todos los componentes soldados muy bien, luego preparé este diseño para hacer un corte láser CNC para poder insertar la parte electrónica y la planta en un solo soporte, así que si quieres hacer el mismo diseño que el mío encuentra los archivos (DXF) aquí

Paso 6:la aplicación de Android.

Esta aplicación te permitirá conectarte a tu Arduino a través de Bluetooth, y usando el modo Manual podrás tener acceso a los ventiladores y luces y también a la bomba de agua para el control de ENCENDIDO y APAGADO, sin olvidar los sensores con los que puedes leer los datos. presionando el botón "obtener datos" y todos los datos apropiados se mostrarán en la pantalla de su teléfono inteligente.

Puede obtener esta aplicación de Android de forma gratuita desde este enlace

Paso 7:el código Arduino y la validación de la prueba

el código está disponible y, como es habitual, puede descargarlo desde este enlace. Y como puedes ver en las fotos el código es tan simple y muy bien comentado para que puedas entenderlo como tuyo.

Como pueden ver chicos, cada botón tiene una funcionalidad con el sistema, pero lo que realmente aprecio es el modo automático para el control del brillo de la luz. Coloqué el sensor de luz en la base inferior de la casa y luego cuando seleccionemos este modo el sistema controlará el brillo. de los LED de las luces delanteras en función de las señales del sensor. También podemos leer los valores de temperatura y humedad directamente en la pantalla del teléfono inteligente, lo cual es realmente impresionante.

Código

  • Código fuente de Arduino
Código fuente de Arduino Arduino
 / ******************************************** *********************************************** *********************************************** ********************* * - Autor:BELKHIR Mohamed * * - Profesión:(Desarrollador) Propietario de MEGA DAS * * - Objetivo principal:Aplicación industrial * * - Copyright (c) titular:Todos los derechos reservados * * - Licencia:Licencia BSD de 2 cláusulas * * - Fecha:20/11/2017 * * ******************* *********************************************** *********************************************** ********************************************** / / *********************************** NOTA ************** ************************ /// Se permite la redistribución y el uso en formato fuente y binario, con o sin // modificación, siempre que se cumplan las siguientes condiciones se cumplen:// * Las redistribuciones del código fuente deben conservar el aviso de derechos de autor anterior, esta // lista de condiciones y la siguiente exención de responsabilidad .// * Las redistribuciones en forma binaria deben reproducir la abo ve aviso de derechos de autor, // esta lista de condiciones y el siguiente descargo de responsabilidad en la documentación // y / u otros materiales proporcionados con la distribución .// ESTE SOFTWARE ES PROPORCIONADO POR LOS TITULARES DE LOS DERECHOS DE AUTOR Y COLABORADORES "TAL CUAL" // Y CUALQUIER EXPRESO O LAS GARANTÍAS IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADAS A, // LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO PARTICULAR SE RECHAZAN / * ________________________________________________________________________________________________ (`v) ________________________________________________________________________________________________ (` ()) __ (`v) ________________________________________________. ^ ._________________ (` v) ________________________________________________. ^ ._________________ _) __ (`()) ___________________________________________________________________________________________________ (` v) (_. ^ ._) __________________________________________________________________________________________________ (`()) (` v) _______________________________________________________________ ____________________________________ (_. ^ ._) (`()) ______________________________________________________________________________________________ (` v) _____ (_. ^ ._) (`v) _____________________________________________________________________________________________ (` ()) _ (`v) ___ (` ()) ______________________________________________________________________________________________ (_ . ^ ._) _ (`()) ___ (_. ^ ._) ______________________________________________________________________________________________ (` v) (_. ^ ._) (`v) ______________________________________________________________________________________________ (` ()) ____ (`()) _______________________________________________________________________________________________ (_ . ^ ._) _____ (_. ^ ._) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________.___________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________________________________________ ______________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ (`v) __________________________________________________________________________________________ (` ()) __________________________________________________________________________________________ (_. ^ ._) ___________________________________________________________________________________________ (`v) ____________________________________________________________________________________________ (` ()) ______________________________________________________________________________________________) (________________________________ ^ ._________________ ______________________ (`v) __________________________________________________________________________________________________ (` ()) __________________________________________________________________________________________________ (_. ^ ._) __________________________________________________________________________________________________________________________________________________________________________________ * / # include "DHT.h" // Incluir la biblioteca dht para interactuar con el sensor DHT # include  // La biblioteca IC para usar el sensor de luz # incluye  // Importar la biblioteca BH1750 para poder usar el sensor de luz // ------------------- ----------------------------- Definir los pines de control ----------------- --------------------------------------- const int Pump =4; // Hemos utilizado este pin para controlar la bomba de motor const int Fan =5; // Utilice este pin como salida PWM para controlar la velocidad del ventiladorconst int Light =6; // Utilice este pin para controlar el brillo del LEDconst int TempHum =7; // Pin de entrada para DHT sensorconst int Humedad =8; // Pin de entrada digital para leer las señales de comando de humedadconst int TestLED =9; // Utilice este pin de salida para probar la soldadura correcta en su PCB encendiendo y apagando los LED de pruebaconst int Brightness =12; // Pin de entrada para leer las señales del sensor de luzconst int analogMoistue =0; // Entrada analógica para leer la señal analógica del sensor de humedad // ------------------------------------ -------------------------------------------------- ------------------------------------------- # define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321DHT dht (TempHum, DHTTYPE); // Constructor de sensores de temperatura y humedadBH1750 lightMeter; // Constructor del sensor de luzchar Data ='x'; // Almacenar datos seriales en esta variableString cmd =""; // Leer la instrucción completa enviada desde la aplicación de Androidint flagModeAuto =0; // bandera para activar el modo automático sprayCMD =0; // Límite de CMD sprayint LightCMD =0; // CMD límite de brilloint lightLevelPlus =0; // Variable para controlar el brillo de la luz temperatura del flotador =0; // Variable para almacenar el valor de temperatura humedad flotante =0; // Variable para almacenar el valor de humedad uint16_t lux =0; // Variable para leer el brillo de la luz del sensor de luz // ------------------------------------- ----------- Iniciar la configuración del pin ----------------------------------- --------------------- void setup () {Wire.begin (); // Inicialice el bus I2C (la biblioteca BH1750 no hace esto automáticamente) dht.begin (); // Iniciar la lectura del sensor de temperatura y humedad lightMeter.begin (); // Inicie la lectura del sensor de luz Serial.begin (9600); // Configure la velocidad en baudios hasta 9600 BPS para comunicarse con la aplicación de Android a través de Bluetooth Serial.setTimeout (100); // Establecer el tiempo de espera para los datos antes de cerrar el puerto serie (después de 100 ms) pinMode (Pump, OUTPUT); pinMode (Ventilador, SALIDA); pinMode (Luz, SALIDA); pinMode (humedad, ENTRADA); pinMode (TestLED, ENTRADA); retraso (1000); digitalWrite (Bomba, BAJA); digitalWrite (Ventilador, BAJO); digitalWrite (Ligero, BAJO);} // ---------------------------------------- -------- Iniciar el código de proceso -------------------------------------- ------------------ void loop () {while (Serial.available ()) // Leer los datos seriales una vez disponibles {delay (10); Datos =Serial.read (); cmd + =Datos; } if (cmd =="dt") // Envía el valor de humedad a la aplicación de Android {Serial.print (humedad); } if (cmd =="dh") // Envía el valor de brillo a la aplicación de Android {Serial.print (lux); } if (cmd =="db") // Envía el valor de temperatura a la aplicación de Android {Serial.print (temperature); } if (cmd =="o") // Activar el modo automático {flagModeAuto =1; } if (cmd =="m") // Desactivar el modo automático {flagModeAuto =0; } if (flagModeAuto ==1) {autoPump (); lightBrightness (); ventilador auto(); } if (flagModeAuto ==0) {if (cmd =="f") // ENCIENDA el VENTILADOR {analogWrite (Fan, 255); } if (cmd =="x") // APAGUE el VENTILADOR {analogWrite (Fan, 0); } if (cmd =="l") // ENCIENDE las luces {analogWrite (Light, 255); } if (cmd =="k") // Apaga las luces {analogWrite (Light, 0); } if (cmd =="w") // ENCIENDA la bomba {analogWrite (Pump, 255); } if (cmd =="y") // Apague la bomba {analogWrite (Pump, 0); }} cmd =""; // Limpia la variable cmd para que esté disponible para la siguiente instrucción lux =lightMeter.readLightLevel (); // Obtener el nivel de brillo del sensor de luz temperature =dht.readTemperature (); // Obtiene el valor de temperatura del sensor DHT (C) humedad =dht.readHumidity (); // Obtenga el valor de humedad del sensor DHT (%)} // ---------------------------------- -------------- Función de control automático para spray de bomba ------------------------------ -------------------------- void autoPump () {if (analogRead (analogMoistue)  30) {analogWrite (Fan, 255); // Encienda el ventilador si la temperatura supera los 30 ° C} else {analogWrite (Fan, 0); // Apague el ventilador si la temperatura supera los 30C}} 

Piezas y carcasas personalizadas

dxf_mdf_5mm_s0PEHuez4w.rar

Esquemas


Proceso de manufactura

  1. Hacer Monitor Ambilight usando Arduino
  2. Juego Arduino Pong - Pantalla OLED
  3. Detector de frecuencia de audio
  4. Clon Arduino Tamagotchi - Mascota digital
  5. Manipulador de interruptor de luz inalámbrico
  6. Tech-TicTacToe
  7. Pistola de agua con sensor de movimiento
  8. Temporizador de cuenta atrás de Arduino
  9. Arduino Sunflower:Un Sun-Dancer electrónico
  10. RC Porsche Car (Proyecto Arduino)
  11. Robot para navegación interior supercogedora