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

Alerta de Sed Inteligente para Plantas: Sensor DIY para Riego Óptimo

Componentes y suministros

Componente Cantidad
Microchip ATmega328 1
Cristal de 16 MHz 1
Condensador cerámico 20 pF 2
Regulador lineal 7805 (5V) 1
LED genérico (colores a elección) 2
Resistencia 10 kΩ 1
Resistencia 220 Ω 1
Resistencia 470 Ω 1
Interruptor deslizante 1
Pulsador C&K PTS 645 1
Zumbador piezoeléctrico 1
Batería 9V 1
Conector para batería 9V 1
Sensor de humedad de suelo SparkFun (con bornes de tornillo) 1
Arduino UNO (para prototipado) 1
Carcasa impresa en 3D 1

Herramientas necesarias

Aplicaciones y servicios en línea

Sobre este proyecto

Cómo empezó todo

Confieso: soy un padre de plantas terrible. No sé si les doy demasiada luz o poca agua, pero nada las mantiene vivas. Me encanta su compañía, cómo alegran un espacio... Así que decidí construir un dispositivo que ayude a "asesinos de plantas" como yo a convertirnos en orgullosos cuidadores.

Presentamos el Detector de Plantas Sedientas (Thirsty Plant Detector): un dispositivo que habla por tus plantas, avisándote exactamente cuándo necesitan riego.

El proyecto usa el Explorer Uno como cerebro, un sensor de humedad de suelo y un zumbador piezoeléctrico que emite un "cri-cri" de grillo cuando la planta está seca. Dato curioso: el elemento piezoeléctrico puede generar sonido y detectar vibraciones (como golpes). El sensor de humedad es simple: dos sondas en la tierra actúan como resistencia variable (0-1023); más agua = mejor conductividad = menor resistencia.

Prototipado en protoboard

Primero montamos todo en protoboard para testear el software antes de diseñar el PCB. Usamos un Arduino Uno y luego transferimos el ATmega328 al PCB propio. Incluimos diagrama de conexiones.

Opción sensor casero: dos varillas metálicas (ej. latón de modelismo), cable y una resistencia de 47 kΩ.

Sube el código de prueba (GitHub). Deberías oír el grillo; al tocar las sondas entre sí, el sonido cesa.

Diseño del PCB

Usamos Patchr con la plantilla Explorer Uno para ahorrar el diseño del Arduino.

  1. Crea cuenta en Patchr (hay tutorial de 4 min).
  2. Selecciona la plantilla Explorer Uno, pon nombre al proyecto.
  3. Amplía la huella del PCB para dar cabida al sensor y zumbador.
  4. Coloca la resistencia (5V a A0), un orificio pasante para sonda 1 y otro a GND para sonda 2.
  5. Coloca el zumbador (GND y pin digital 5).
  6. Verifica conexiones contra el protoboard y exporta para fabricación (recomendado Patchr Manufacturing).

Diseño de la carcasa

Mientras fabrican el PCB, diseña la carcasa. Usa las dimensiones del PCB (pestaña BRD) para asegurar el encaje. Puedes descargar el modelo de Thingiverse. Onshape para diseños avanzados, TinkerCAD para rápidos. Si no tienes impresora 3D, hay servicios online o puedes fabricar una caja con materiales caseros.

¡Montaje!

Llegaron los PCBs: ¡hora de soldar! "Mi lenguaje de programación favorito es el estaño" (Bob Pease). Calienta el soldador, pon música y a disfrutar.

Usa el proyecto Patchr y los esquemas como guía. En mi carcasa el zumbador va arriba, así que suelde cables entre zumbador y PCB. Si lo pones directo en PCB, deja espacio en la fase de diseño.

Que las únicas plantas secas sean tus chips de kale deshidratados. ¡Comparte tus hacks, dudas, gifs o chistes en los comentarios!

Código

Thirst Alert - Código Arduino

/* Thirst Alert Plant Alarm - Patchr.io - Nov 2019 */
#include "Volume.h" // Librería de Connor Nishijima (2016)

int sensorPin = A0;
int sensorValue;
int limit = 300; // Umbral de sequía
Volume vol;

void setup() {
  Serial.begin(9600);
  vol.begin();
  vol.setMasterVolume(1.00); // 0.00 - 1.00
  vol.delay(500);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  if (sensorValue > limit) {
    Serial.println("*cricket*");
    chirp();
    vol.delay(random(1000, 30000)); // Intervalo aleatorio 1-30 seg
  } else {
    vol.noTone();
  }
}

void chirp() {
  int freq = random(3700, 4000);
  float volume = random(10, 101) / 100.00;
  int chirpType = 1;
  if (chirpType == 1) {
    int chirpCount = random(1, 3);
    chirp(chirpCount, freq, volume);
  }
}

void chirp(byte times, int freq, float volume) {
  float fadeOut = 1.00;
  while (times > 0) {
    // Subida y bajada de volumen para crear el "cri-cri"
    float mv = 0;
    while (mv < 1.00) { /* ... */ mv += 0.2; }
    mv = 1.00;
    while (mv > 0.00) { /* ... */ mv -= 0.2; }
    vol.noTone();
    fadeOut -= 0.75;
    times--;
  }
}

Partes personalizadas y carcasas

Esquemáticos

Esquema del circuito disponible en el proyecto.

Proceso de manufactura

  1. Reloj de Palabras en Italiano con Arduino Nano, NeoPixel, LCD y RTC
  2. Ahorra Pines en Arduino: Conecta Teclado 4x3 con Solo 3 Conexiones Analógicas
  3. Sistema inteligente de riego para plantas con Arduino Nano
  4. Medidor kWh Sigfox Fiable con Arduino MKR Fox 1200
  5. Monitor de temperatura con Bluetooth usando Arduino Nano
  6. Medidor de Capacitancia Autoranging DIY (10 pF–10 µF) – Fácil Construcción con Arduino
  7. Cerradura por Gestos Sin Contacto: Acceso Seguro con APDS-9960 y Arduino
  8. Kit Compañero Arduino Nano: Componentes y Herramientas Esenciales para Electrónica DIY
  9. Kit Adaptador USB MIDI para Arduino Micro / Leonardo: Lista Completa de Componentes
  10. Circuito de entrada analógica aislada para Arduino
  11. Test de Precisión de Tiempo de Reacción con Arduino UNO