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 Automatizado con Arduino: Cuidado Inteligente de Plantas

Componentes y suministros

Arduino Nano R3 1
Dongle Bluetooth a USB mbientLab 1
PCB personalizada JLCPCB 1

Sobre este proyecto

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

La jardinería en la era moderna significa complicar las cosas con electrones, bits y bytes. Combinar microcontroladores y jardinería es una idea muy popular. Creo que es porque los jardines tienen entradas y salidas muy simples, fáciles de entender. Supongo que la gente (yo incluido) ve un hobby notoriamente simple y relajado y no puede evitar sentir la necesidad de sobrecomplicarlo.

En este proyecto te muestro cómo construir una versión simplificada de jardín interior usando una placa de desarrollo Arduino.

Ofrezco una guía completa paso a paso para que hagas tu propio jardín bonito, explicando en detalle tanto hardware como software para que sea el camino más sencillo para probar tus habilidades en electrónica. Este proyecto es muy manejable, especialmente tras conseguir el PCB personalizado que pedimos a JLCPCB para mejorar el aspecto, y hay suficiente documentación y código para que crees tu sistema de jardín automático.

Lo hicimos en solo 7 días: 3 días para hardware y montaje, 4 días para código y app Android para controlarlo por Bluetooth. Antes de empezar, veamos:

Qué aprenderás en este tutorial

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

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

La mayoría de las plantas tienen necesidades simples. Como invitados, son poco exigentes. Solo tres cosas básicas antes de traer una planta a casa: luz, agua y aire. Si dominas estos cuatro elementos (sic), puedes crear un jardín interior en casi cualquier lugar del mundo y en cualquier estación.

Haré un sistema basado en Arduino para supervisar temperatura y humedad de mi planta y proveer automáticamente sus necesidades: intensidad de luz, agua y aire fresco. Necesito sensores para controlar actuadores: luz según sensor de brillo, riego según sensor de humedad de suelo, ventiladores según sensor temperatura/humedad.

Paso 2: Sensores y actuadores

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

El sistema ensambla sensores y actuadores para acceder a datos físicos alrededor de la planta y determinar qué necesita y cuándo suministrarlo.

Sensores

Actuadores

Paso 3: Fabricación del PCB (por JLCPCB)

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

Sobre JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) es la mayor empresa de prototipos PCB en China y fabricante high-tech especializado en prototipos rápidos y pequeña serie. Con más de 10 años de experiencia, >200.000 clientes, >8.000 pedidos/día. Capacidad anual 200.000 m² para PCB de 1, 2 o multicapa. Profesional, gran escala, bien equipado, gestión estricta, calidad superior.

Volviendo a nuestro proyecto

Comparé precios de muchos fabricantes y elegí JLCPCB: mejor proveedor y más barato. Solo subí el archivo Gerber, ajusté parámetros (grosor, color, cantidad), pagué 2 $ y recibí el PCB en 3 días. A veces hay envío gratis.

Puedes descargar el circuito (PDF) aquí.

Como ves, el PCB está muy bien fabricado: misma forma de hoja que diseñamos, todas las etiquetas y logos para guiar el soldado.

Paso 4: Ingredientes

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

Componentes necesarios (con enlaces de compra):

Paso 5: El montaje

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

Mostrar los 9 elementos

Listos para soldar componentes. ¡Sigue las etiquetas para evitar errores! Empezamos soldando el conector del Arduino para probar alimentación y puedes escribir código de prueba básico para verificar cada sensor (luz, LEDs) porque todos van directo a la placa (Arduino), tienes acceso total.

Nota: Mantén la punta del soldador limpia y brillante. Límpiala en la esponja cada vez. Si ves que pierde brillo (flux u oxidación), límpiala aunque estés en medio del soldado. Una punta limpia transfiere calor mucho mejor.

El PCB de JLCPCB guía para colocar todo correctamente. No dudes en visitar el enlace para ver el PCB y pedir online.

Usar este PCB es muy cómodo por su calidad y las etiquetas garantizan que no cometas errores de soldado. Soldé cada componente en su sitio; se pueden usar ambas caras del PCB.

Con el PCB listo y componentes soldados, preparé un diseño para corte láser CNC para integrar electrónica y planta en un mismo soporte. Si quieres el mismo diseño, archivos DXF aquí.

Paso 6: La App Android

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

Esta app conecta a tu Arduino por Bluetooth. En modo manual accedes a ventiladores, luces y bomba de agua para ON/OFF, y lees datos de sensores pulsando "get data"; los valores aparecen en pantalla del smartphone.

Descarga gratis la app en este enlace.

Paso 7: Código Arduino y validación

Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas
Jardín Interior Automatizado con Arduino: Cuidado Inteligente de Plantas

El código está disponible para descargar en este enlace. Es simple y bien comentado para entenderlo por ti mismo.

Cada botón tiene su función, pero destaco el modo automático de control de brillo: puse el sensor de luz en la base inferior; al seleccionar este modo, el sistema controla el brillo de los LEDs frontales según la señal del sensor. También podemos leer temperatura y humedad directamente en la pantalla del smartphone, lo cual es muy útil.

Código

Código fuente Arduino

/************************************************************************************************************************************************************************ 
 * - Author : BELKHIR Mohamed
 * - Profession : (Developer) MEGA DAS owner
 * - Main purpose : Industrial Application
 * - Copyright (c) holder : All rights reserved
 * - License : BSD 2-Clause License
 * - Date : 20/11/2017
 ***********************************************************************************************************************************************************************/
#include "DHT.h"
#include <Wire.h>
#include <BH1750.h>

// Pines de control
const int Pump = 4;          // Bomba de agua
const int Fan = 5;           // PWM para velocidad ventilador
const int Light = 6;         // Brillo LEDs
const int TempHum = 7;       // Entrada DHT
const int Moisture = 8;      // Entrada digital sensor humedad
const int TestLED = 9;       // Test LEDs PCB
const int Brightness = 12;   // Entrada sensor luz
const int analogMoistue = 0; // Entrada analógica sensor humedad

#define DHTTYPE DHT11
DHT dht(TempHum, DHTTYPE);
BH1750 lightMeter;

char Data = 'x';
String cmd = "";
int flagModeAuto = 0;
int sprayCMD = 0;
int LightCMD = 0;
int lightLevelPlus = 0;
float temperature = 0;
float humidity = 0;
uint16_t lux = 0;

void setup() {
  Wire.begin();
  dht.begin();
  lightMeter.begin();
  Serial.begin(9600);
  Serial.setTimeout(100);
  pinMode(Pump, OUTPUT);
  pinMode(Fan, OUTPUT);
  pinMode(Light, OUTPUT);
  pinMode(Moisture, INPUT);
  pinMode(TestLED, INPUT);
  delay(1000);
  digitalWrite(Pump, LOW);
  digitalWrite(Fan, LOW);
  digitalWrite(Light, LOW);
}

void loop() {
  while (Serial.available()) {
    delay(10);
    Data = Serial.read();
    cmd += Data;
  }
  if (cmd == "dt") Serial.print(humidity);
  if (cmd == "dh") Serial.print(lux);
  if (cmd == "db") Serial.print(temperature);
  if (cmd == "o") flagModeAuto = 1;
  if (cmd == "m") flagModeAuto = 0;

  if (flagModeAuto == 1) {
    autoPump();
    lightBrightness();
    autoFan();
  } else {
    if (cmd == "f") analogWrite(Fan, 255);
    if (cmd == "x") analogWrite(Fan, 0);
    if (cmd == "l") analogWrite(Light, 255);
    if (cmd == "k") analogWrite(Light, 0);
    if (cmd == "w") analogWrite(Pump, 255);
    if (cmd == "y") analogWrite(Pump, 0);
  }
  cmd = "";
  lux = lightMeter.readLightLevel();
  temperature = dht.readTemperature();
  humidity = dht.readHumidity();
}

void autoPump() {
  if (analogRead(analogMoistue) < sprayCMD) {
    digitalWrite(Pump, HIGH);
    delay(1000);
    digitalWrite(Pump, LOW);
    delay(1000);
  }
}

void lightBrightness() {
  while (lux < LightCMD) {
    analogWrite(Light, lightLevelPlus);
    delay(100);
    lightLevelPlus++;
    lux = lightMeter.readLightLevel();
  }
}

void autoFan() {
  if (temperature > 30) analogWrite(Fan, 255);
  else analogWrite(Fan, 0);
}

Partes personalizadas y envolventes

dxf_mdf_5mm_s0PEHuez4w.rar

Esquemáticos

(No incluido en el original)

Proceso de manufactura

  1. Crea un Impresionante Sistema Ambilight para Monitor con Arduino
  2. Construya el clásico juego Pong en Arduino UNO con pantalla OLED: Tutorial paso a paso
  3. Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
  4. Construye tu Propio Tamagotchi con Arduino: Mascota Digital DIY
  5. Controlador Inalámbrico Inteligente de Interruptores: Manipulador Remoto Basado en Arduino
  6. Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
  7. Pistola de Agua Inteligente Activada por Movimiento con Arduino Nano
  8. Construye un Temporizador Regresivo Fiable con Arduino y Pantalla de 7 Segmentos SparkFun
  9. Girasol Arduino: Construye un Girasol Electrónico que Sigue al Sol
  10. Construye tu Propio Coche RC Porsche con Arduino: Guía Paso a Paso
  11. Kit de Robot de Navegación Interior Inteligente para Proyectos Arduino