Caso práctico: Sistema de riego automático condicional

Prototipo de Sistema de riego automático condicional (Maker Style)

Nivel: Básico – Construye un circuito lógico para activar una bomba solo cuando el suelo esté seco y haya agua disponible.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de enclavamiento de seguridad utilizando una puerta AND 74HC08. El circuito simula un controlador de riego inteligente que decide si encender una bomba de agua basándose en dos condiciones ambientales.

Por qué es útil:
* Protección del equipo: Evita que las bombas funcionen «en seco» (sin entrada de agua), lo cual a menudo causa fallos mecánicos.
* Conservación de recursos: Asegura que el agua solo se dispense cuando el suelo realmente necesita humedad.
* Lógica industrial: Demuestra el concepto fundamental de «enclavamiento de seguridad» utilizado en maquinaria pesada (por ejemplo, la máquina funciona SOLO si la protección está cerrada Y el operador presiona el botón).
* Fundamentos de lógica digital: Proporciona una representación física clara de la función booleana AND ($Y = A \cdot B$).

Resultado esperado:
* El LED de salida (Bomba) se ENCIENDE solo cuando el Interruptor A (Sensor de suelo) está en ALTO Y el Interruptor B (Sensor de tanque) está en ALTO.
* Si el tanque está vacío (Interruptor B = BAJO), la bomba permanece APAGADA incluso si el suelo está seco.
* Lógica 0: Voltaje $\approx$ 0 V. Lógica 1: Voltaje $\approx$ 5 V.

Público objetivo: Estudiantes de electrónica y aficionados de nivel básico.

Materiales

  • U1: 74HC08, función: CI de cuádruple puerta AND de 2 entradas.
  • S1: Interruptor SPST, función: Simulación de sensor de humedad del suelo (Cerrado = Seco/Lógica 1).
  • S2: Interruptor SPST, función: Simulación de nivel del tanque de agua (Cerrado = Agua presente/Lógica 1).
  • R1: Resistencia de 10 kΩ, función: pull-down para la Entrada A.
  • R2: Resistencia de 10 kΩ, función: pull-down para la Entrada B.
  • R3: Resistencia de 330 Ω, función: limitación de corriente del LED.
  • D1: LED verde, función: indicador de bomba de agua activa.
  • V1: Fuente de alimentación de 5 V DC, función: fuente de alimentación principal.

Pin-out del CI utilizado: 74HC08

El 74HC08 contiene cuatro puertas AND independientes. Usaremos solo una de ellas para este experimento.

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado a S1 (Estado del suelo)
2 1B Entrada B Conectado a S2 (Estado del tanque)
3 1Y Salida Y Conectado a LED (Indicador de bomba)
7 GND Tierra Conectado a Tierra de la fuente (0V)
14 VCC Alimentación Conectado a fuente de +5V

Guía de conexionado

Sigue estas conexiones cuidadosamente. Los nombres de los nodos corresponden a la función del cable en el circuito.

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • U1 (Pin 14) se conecta al nodo VCC.
  • U1 (Pin 7) se conecta al nodo 0 (GND).
  • S1 se conecta entre el nodo VCC y el nodo SOIL_Status.
  • R1 se conecta entre el nodo SOIL_Status y el nodo 0 (GND) (Mantiene la entrada en Bajo cuando el interruptor está abierto).
  • S2 se conecta entre el nodo VCC y el nodo TANK_Status.
  • R2 se conecta entre el nodo TANK_Status y el nodo 0 (GND) (Mantiene la entrada en Bajo cuando el interruptor está abierto).
  • U1 (Pin 1, Entrada A) se conecta al nodo SOIL_Status.
  • U1 (Pin 2, Entrada B) se conecta al nodo TANK_Status.
  • U1 (Pin 3, Salida Y) se conecta al nodo PUMP_Cmd.
  • R3 se conecta entre el nodo PUMP_Cmd y el nodo LED_Anode.
  • D1 se conecta entre el nodo LED_Anode (Ánodo) y el nodo 0 (GND) (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUTS ]                                  [ LOGIC ]                             [ OUTPUT ]

[ S1: Soil Sensor ]
[ (Switch to VCC) ] --(Node: SOIL_Status)-->+---------------------+
[ (R1: 10k to GND)]                         |      U1: 74HC08     |
                                            |      (AND Gate)     |
                                            |                     |--(Node: PUMP_Cmd)--> [ R3: 330 Ohm ] --> [ D1: Green LED ] --> GND
                                            |   Pin 1 (Input A)   |                      (Current Lim.)      (Pump Active)
                                            |                     |
                                            |   Pin 2 (Input B)   |
[ S2: Tank Level  ] --(Node: TANK_Status)-->|                     |
[ (Switch to VCC) ]                         +---------------------+
[ (R2: 10k to GND)]
Esquema Eléctrico

Tabla de verdad

Esta tabla define los estados lógicos.
0 = Interruptor abierto / 0V / Suelo húmedo / Tanque vacío / Bomba APAGADA
1 = Interruptor cerrado / 5V / Suelo seco / Tanque lleno / Bomba ENCENDIDA

Estado del suelo (A) Estado del tanque (B) Bomba de salida (Y) Estado en el mundo real
0 0 0 Suelo húmedo, Tanque vacío -> En espera
0 1 0 Suelo húmedo, Tanque lleno -> En espera
1 0 0 Suelo seco, Tanque vacío -> Corte de seguridad (Proteger bomba)
1 1 1 Suelo seco, Tanque lleno -> Riego activo

Mediciones y pruebas

Valida tu circuito utilizando un multímetro configurado en voltaje DC (rango de 20V).

  1. Comprobación de espera: Asegúrate de que tanto S1 como S2 estén abiertos (OFF). Mide el voltaje en el Pin 3 de U1.
    • Esperado: ~0 V. D1 está APAGADO.
  2. Prueba de protección contra funcionamiento en seco: Cierra S1 (el suelo está seco) pero deja S2 abierto (tanque vacío).
    • Esperado: El Pin 1 lee 5 V, el Pin 2 lee 0 V. La salida del Pin 3 debe permanecer en 0 V. D1 está APAGADO.
  3. Prueba sin demanda: Abre S1 (suelo húmedo) y cierra S2 (tanque lleno).
    • Esperado: El Pin 1 lee 0 V, el Pin 2 lee 5 V. La salida del Pin 3 debe permanecer en 0 V. D1 está APAGADO.
  4. Prueba de riego activo: Cierra ambos S1 y S2.
    • Esperado: El Pin 1 lee 5 V, el Pin 2 lee 5 V. La salida del Pin 3 debería leer ~5 V (Lógica Alta). D1 se ilumina en verde.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Title: Practical case: Conditional automatic irrigation system

* -----------------------------------------------------------------------------
* POWER SUPPLY
* -----------------------------------------------------------------------------
* V1: 5V DC supply, function: Main power source.
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* STIMULI GENERATION (Simulating User Interaction)
* -----------------------------------------------------------------------------
* These voltage sources drive the control pins of the ideal switches (S1, S2)
* to simulate the physical sensors changing state over time.
* They are not part of the BOM but are necessary for dynamic simulation.

* Control signal for S1 (Soil Sensor): Period 200us
* Logic: 0 -> 1 -> 0 -> 1
V_CTRL_S1 N_CTRL_S1 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Control signal for S2 (Tank Sensor): Period 400us
* Logic: 0 -> 0 -> 1 -> 1
V_CTRL_S2 N_CTRL_S2 0 PULSE(0 5 10u 1u 1u 200u 400u)

* -----------------------------------------------------------------------------
* INPUT STAGE (Sensors and Pull-downs)
* -----------------------------------------------------------------------------
* S1: SPST Switch, function: Soil Moisture Sensor simulation.
* Wiring: Connects between node VCC and node SOIL_Status.
* Logic: Closed (Controlled by V_CTRL_S1 High) = Dry/Logic 1.
S1 VCC SOIL_Status N_CTRL_S1 0 SW_IDEAL
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con el pase de 7 días o la suscripción mensual tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Title: Practical case: Conditional automatic irrigation system

* -----------------------------------------------------------------------------
* POWER SUPPLY
* -----------------------------------------------------------------------------
* V1: 5V DC supply, function: Main power source.
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* STIMULI GENERATION (Simulating User Interaction)
* -----------------------------------------------------------------------------
* These voltage sources drive the control pins of the ideal switches (S1, S2)
* to simulate the physical sensors changing state over time.
* They are not part of the BOM but are necessary for dynamic simulation.

* Control signal for S1 (Soil Sensor): Period 200us
* Logic: 0 -> 1 -> 0 -> 1
V_CTRL_S1 N_CTRL_S1 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Control signal for S2 (Tank Sensor): Period 400us
* Logic: 0 -> 0 -> 1 -> 1
V_CTRL_S2 N_CTRL_S2 0 PULSE(0 5 10u 1u 1u 200u 400u)

* -----------------------------------------------------------------------------
* INPUT STAGE (Sensors and Pull-downs)
* -----------------------------------------------------------------------------
* S1: SPST Switch, function: Soil Moisture Sensor simulation.
* Wiring: Connects between node VCC and node SOIL_Status.
* Logic: Closed (Controlled by V_CTRL_S1 High) = Dry/Logic 1.
S1 VCC SOIL_Status N_CTRL_S1 0 SW_IDEAL

* R1: 10 kΩ resistor, function: pull-down for Input A.
* Wiring: Connects between node SOIL_Status and node 0 (GND).
R1 SOIL_Status 0 10k

* S2: SPST Switch, function: Water Tank Level simulation.
* Wiring: Connects between node VCC and node TANK_Status.
* Logic: Closed (Controlled by V_CTRL_S2 High) = Water Present/Logic 1.
S2 VCC TANK_Status N_CTRL_S2 0 SW_IDEAL

* R2: 10 kΩ resistor, function: pull-down for Input B.
* Wiring: Connects between node TANK_Status and node 0 (GND).
R2 TANK_Status 0 10k

* -----------------------------------------------------------------------------
* LOGIC STAGE (74HC08 Quad 2-Input AND Gate)
* -----------------------------------------------------------------------------
* U1: 74HC08
* Wiring Guide:
* - Pin 1 (Input A) -> SOIL_Status
* - Pin 2 (Input B) -> TANK_Status
* - Pin 3 (Output Y) -> PUMP_Cmd
* - Pin 7 -> GND (0)
* - Pin 14 -> VCC
* Implemented as a subcircuit to strictly expose pins as nodes.
XU1 SOIL_Status TANK_Status PUMP_Cmd 0 VCC 74HC08_Behavioral

* -----------------------------------------------------------------------------
* OUTPUT STAGE (Indicator)
* -----------------------------------------------------------------------------
* R3: 330 Ω resistor, function: LED current limiting.
* Wiring: Connects between node PUMP_Cmd and node LED_Anode.
R3 PUMP_Cmd LED_Anode 330

* D1: Green LED, function: Water Pump active indicator.
* Wiring: Connects between node LED_Anode (Anode) and node 0 (GND).
D1 LED_Anode 0 LED_Green

* -----------------------------------------------------------------------------
* MODELS & SUBCIRCUITS
* -----------------------------------------------------------------------------
* Switch Model: Low On-Resistance, High Off-Resistance, Threshold 2.5V
.model SW_IDEAL SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* LED Model: Generic Green LED approximation
.model LED_Green D(IS=1e-22 N=1.5 RS=5 BV=5 IBV=10u)

* 74HC08 Subcircuit (Behavioral Implementation)
* Pinout: 1=A, 2=B, 3=Y, 7=GND, 14=VCC
.subckt 74HC08_Behavioral 1 2 3 7 14
* Logic Y = A AND B
* Implementation: Continuous sigmoid function for robust convergence.
* Output voltage swings to V(14) (VCC) when both inputs > 2.5V.
B_AND 3 7 V = V(14,7) * (1 / (1 + exp(-40 * (V(1,7) - 2.5)))) * (1 / (1 + exp(-40 * (V(2,7) - 2.5))))
.ends

* -----------------------------------------------------------------------------
* ANALYSIS COMMANDS
* -----------------------------------------------------------------------------
* Transient analysis: 500us duration to capture all logic states (00, 10, 01, 11)
.tran 1u 500u

* Print critical nodes for verification
.print tran V(SOIL_Status) V(TANK_Status) V(PUMP_Cmd) V(LED_Anode)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1202 rows)
Index   time            v(soil_status)  v(tank_status)  v(pump_cmd)
0	0.000000e+00	4.999500e-04	4.999500e-04	7.201843e-87
1	1.000000e-08	4.999500e-04	4.999500e-04	7.201843e-87
2	2.000000e-08	4.999500e-04	4.999500e-04	7.201843e-87
3	4.000000e-08	4.999500e-04	4.999500e-04	7.201843e-87
4	8.000000e-08	4.999500e-04	4.999500e-04	7.201843e-87
5	1.600000e-07	4.999500e-04	4.999500e-04	7.201843e-87
6	3.200000e-07	4.999500e-04	4.999500e-04	7.201843e-87
7	6.400000e-07	4.999500e-04	4.999500e-04	7.201843e-87
8	1.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
9	2.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
10	3.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
11	4.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
12	5.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
13	6.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
14	7.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
15	8.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
16	9.280000e-06	4.999500e-04	4.999500e-04	7.201843e-87
17	1.000000e-05	4.999500e-04	4.999500e-04	7.201843e-87
18	1.010000e-05	4.999500e-04	4.999500e-04	7.201843e-87
19	1.026000e-05	4.999500e-04	4.999500e-04	7.201843e-87
20	1.030750e-05	4.999500e-04	4.999500e-04	7.201843e-87
21	1.039062e-05	4.999500e-04	4.999500e-04	7.201843e-87
22	1.041363e-05	4.999500e-04	4.999500e-04	7.201843e-87
23	1.045390e-05	4.999500e-04	4.999500e-04	7.201843e-87
... (1178 more rows) ...

Errores comunes y cómo evitarlos

  • Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten», provocando que el LED parpadee o se encienda aleatoriamente cuando los interruptores están abiertos. Solución: Verifica siempre que las resistencias pull-down estén conectadas a Tierra.
  • Orientación del LED: Colocar el LED al revés impide que se encienda incluso cuando la lógica es correcta. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia la resistencia y el CI.
  • Confusión de chips: Usar un 74HC32 (puerta OR) en lugar de un 74HC08 (puerta AND). Solución: Lee el texto impreso en la parte superior del CI antes de insertarlo. Si se comporta como «Bomba encendida si CUALQUIERA de las condiciones se cumple», tienes el chip equivocado.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO, independientemente de los interruptores.
    • Causa: Las entradas podrían estar en cortocircuito directo a VCC, o el CI está dañado.
    • Solución: Revisa el cableado en los Pines 1 y 2. Asegúrate de que R1 y R2 vayan a Tierra, no a VCC.
  • Síntoma: El LED es muy tenue cuando está activo.
    • Causa: El valor de R3 es demasiado alto.
    • Solución: Reemplaza R3 con un valor entre 220 Ω y 470 Ω.
  • Síntoma: El circuito funciona inversamente (LED apagado cuando los interruptores están cerrados).
    • Causa: Podrías estar usando una puerta NAND (como 74HC00) o conectaste el LED a VCC en lugar de a Tierra (fuente vs sumidero).
    • Solución: Verifica que el número de parte sea 74HC08 y que el Cátodo del LED esté en Tierra.

Posibles mejoras y extensiones

  1. Interfaz de alta potencia: Reemplaza el LED con un transistor NPN (por ejemplo, 2N2222) y un relé para controlar una bomba de agua real de 12V.
  2. Control manual: Añade un tercer interruptor conectado a una puerta OR después de la salida de la puerta AND, permitiendo al usuario forzar el encendido de la bomba independientemente de los sensores.

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el artículo?




Pregunta 2: ¿Qué circuito integrado (CI) se utiliza como componente principal para la lógica?




Pregunta 3: ¿Qué función lógica representa el circuito construido?




Pregunta 4: ¿Qué condición simula el Interruptor A (Sensor de suelo) cuando está en ALTO?




Pregunta 5: ¿Qué sucede con el LED de salida si el tanque está vacío (Interruptor B = BAJO)?




Pregunta 6: ¿Cuál es uno de los beneficios mencionados sobre la protección del equipo?




Pregunta 7: ¿Qué fórmula booleana representa la función lógica de este circuito?




Pregunta 8: ¿Qué condiciones deben cumplirse para que el LED (Bomba) se ENCIENDA?




Pregunta 9: ¿Qué concepto de lógica industrial demuestra este proyecto?




Pregunta 10: ¿Qué función cumple el Interruptor B en la simulación?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:
Scroll to Top