Nivel: Básico | Construye un sistema de alarma a prueba de fallos utilizando lógica NAND para detectar ventanas abiertas.
Objetivo y caso de uso
En este caso práctico, construirás un circuito lógico digital que monitorea dos sensores de ventana. La alarma permanecerá en silencio (LED APAGADO) solo cuando ambas ventanas estén cerradas de forma segura. Si se abre alguna ventana —o si se corta un cable— la alarma se activa (LED ENCENDIDO).
- Seguridad en el hogar: Monitoreo de múltiples puntos de entrada (ventanas/puertas) donde todos deben estar cerrados para asegurar el perímetro.
- Seguridad en maquinaria: Asegurar que todas las guardas de seguridad o compuertas de mantenimiento estén cerradas antes de que una máquina pueda operar (o señalar un fallo si se abren).
- Diseño a prueba de fallos: Demostración de cómo los bucles activos en alto (active-high) detectan cables rotos o interruptores abiertos como condiciones de alarma.
Resultado esperado:
* Estado seguro: Cuando ambos interruptores (ventanas) están cerrados (Lógica 1), la Salida es 0 V (LED APAGADO).
* Estado de alarma: Si el Interruptor 1 O el Interruptor 2 se abren (Lógica 0), la Salida sube a ≈ 5 V (LED ENCENDIDO).
* Verificación lógica: Confirmación del comportamiento de la tabla de verdad NAND donde la Salida es BAJA (LOW) solo si todas las entradas son ALTAS (HIGH).
Público objetivo: Estudiantes de electrónica y aficionados que aprenden sobre puertas lógicas digitales básicas.
Materiales
- V1: Fuente de alimentación de 5 V CC, función: Alimentación principal del circuito
- U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas
- SW1: Interruptor SPST, función: Sensor de ventana 1 (Cerrado = Ventana cerrada)
- SW2: Interruptor SPST, función: Sensor de ventana 2 (Cerrado = Ventana cerrada)
- R1: Resistencia de 10 kΩ, función: Pull-down para SW1
- R2: Resistencia de 10 kΩ, función: Pull-down para SW2
- R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED
- D1: LED rojo, función: Indicador de alarma
Pin-out del CI utilizado
Chip seleccionado: 74HC00 (Cuádruple puerta NAND de 2 entradas)
| Pin | Nombre | Función lógica | Conexión en este caso |
|---|---|---|---|
| 1 | 1 A | Entrada A | Conectado al Nodo SENS1 |
| 2 | 1B | Entrada B | Conectado al Nodo SENS2 |
| 3 | 1Y | Salida | Conectado al Nodo ALARM_OUT |
| 7 | GND | Tierra | Conectado al Nodo 0 (GND) |
| 14 | VCC | Alimentación | Conectado al Nodo VCC (5 V) |
Guía de conexionado
Esta guía utiliza nombres de nodos específicos para ayudarte a visualizar las conexiones en una protoboard.
- Riel de alimentación: Conecta el terminal positivo de
V1al nodoVCCy el terminal negativo al nodo0. - Alimentación del CI: Conecta el pin 14 de U1 a
VCCy el pin 7 de U1 a0. - Sensor 1: Conecta
SW1entreVCCy el nodoSENS1. - Pull-down 1: Conecta
R1entreSENS1y0. - Sensor 2: Conecta
SW2entreVCCy el nodoSENS2. - Pull-down 2: Conecta
R2entreSENS2y0. - Entrada lógica: Conecta el pin 1 (1 A) de U1 a
SENS1y el pin 2 (1B) de U1 aSENS2. - Salida lógica: Conecta el pin 3 (1Y) de U1 al nodo
ALARM_OUT. - Indicador: Conecta
R3entreALARM_OUTy el Ánodo deD1. - Tierra del LED: Conecta el Cátodo de
D1al nodo0.
Diagrama de bloques conceptual

Esquemático
Title: Practical case: Window sensor security alarm
(Input Stage: Sensors) (Processing Stage: Logic) (Output Stage: Alarm)
[ VCC ]
|
[ SW1: Window 1 ]
|
+--(SENS1)-------+-----------------> [ U1: Pin 1 (Input A) ]
| |
[ R1: 10k ] v
| [ U1: NAND Gate ] --(ALARM_OUT)--> [ R3: 330 Ω ] --> [ D1: LED ] --> GND
[ GND ] ^
|
[ VCC ] | |
| | |
[ SW2: Window 2 ] | |
| | |
+--(SENS2)-------+-----------------> [ U1: Pin 2 (Input B) ]
|
[ R2: 10k ]
|
[ GND ]
Tabla de verdad
El 74HC00 implementa la función NAND. En este contexto de seguridad, Lógica 1 representa una «Ventana cerrada» (Seguro), y Lógica 0 representa una «Ventana abierta» (Intrusión).
| Ventana 1 (SW1) | Ventana 2 (SW2) | Entrada A (Pin 1) | Entrada B (Pin 2) | Salida Y (Pin 3) | Estado LED | Estado |
|---|---|---|---|---|---|---|
| Cerrada | Cerrada | 1 (Alto) | 1 (Alto) | 0 (Bajo) | OFF | Seguro |
| Abierta | Cerrada | 0 (Bajo) | 1 (Alto) | 1 (Alto) | ON | ALARMA |
| Cerrada | Abierta | 1 (Alto) | 0 (Bajo) | 1 (Alto) | ON | ALARMA |
| Abierta | Abierta | 0 (Bajo) | 0 (Bajo) | 1 (Alto) | ON | ALARMA |
Mediciones y pruebas
Sigue estos pasos para validar tu sistema de alarma:
- Encendido inicial: Asegúrate de que ambos interruptores (SW1, SW2) estén cerrados. Enciende la fuente de 5 V. El LED
D1debería estar APAGADO. - Verificación de voltaje (Seguro): Usa un multímetro para medir el voltaje en el nodo
ALARM_OUT. Debería estar cerca de 0 V (< 0.2 V). - Prueba de intrusión 1: Abre SW1 mientras mantienes SW2 cerrado. El LED debería ponerse en ON (Encendido). Mide
ALARM_OUT; debería leer cerca de 5 V. - Prueba de intrusión 2: Cierra SW1 y abre SW2. El LED debería ponerse en ON.
- Intrusión total: Abre ambos interruptores. El LED debería permanecer en ON.
Netlist SPICE y simulación
Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)
* Practical case: Window sensor security alarm
.width out=256
* ngspice netlist
* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)
* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)
* --- Power Supply ---
* V1: 5 V DC power supply connected to VCC and 0 (GND)
V1 VCC 0 DC 5
* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* ... (truncated in public view) ...
Copia este contenido en un archivo .cir y ejecútalo con ngspice.
* Practical case: Window sensor security alarm
.width out=256
* ngspice netlist
* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)
* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)
* --- Power Supply ---
* V1: 5 V DC power supply connected to VCC and 0 (GND)
V1 VCC 0 DC 5
* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* Logic: High (5V) = Window Closed, Low (0V) = Window Open
* Timing: Toggles every 100us (Period 200us)
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 100u 200u)
* SW1: Connects VCC to SENS1 when window is closed
S1 VCC SENS1 ACT1 0 SW_MOD
* R1: Pull-down resistor for SENS1 (10k)
R1 SENS1 0 10k
* --- Window Sensor 2 ---
* Control source V_ACT2 simulates Window 2
* Timing: Toggles every 200us (Period 400us) to test all truth table combinations
V_ACT2 ACT2 0 PULSE(0 5 0 1u 1u 200u 400u)
* SW2: Connects VCC to SENS2 when window is closed
S2 VCC SENS2 ACT2 0 SW_MOD
* R2: Pull-down resistor for SENS2 (10k)
R2 SENS2 0 10k
* --- Logic IC: U1 (74HC00) ---
* Quad 2-input NAND gate. We instantiate one gate.
* Pin mapping according to wiring guide:
* Pin 1 (Input A) -> SENS1
* Pin 2 (Input B) -> SENS2
* Pin 3 (Output Y) -> ALARM_OUT
* Pin 7 -> GND (0), Pin 14 -> VCC
XU1 SENS1 SENS2 ALARM_OUT 0 VCC 74HC00_GATE
* Subcircuit for NAND Gate using robust continuous functions
.subckt 74HC00_GATE A B Y GND VCC
* Logic: Y = NAND(A, B) = NOT(A AND B)
* Implemented using sigmoid functions for convergence:
* 1 / (1 + exp(-k*(V-Vth))) acts as a smooth logical comparator.
* Vth = 2.5V, k = 20
B_NAND Y GND V = V(VCC) * (1 - ( (1/(1+exp(-20*(V(A)-2.5)))) * (1/(1+exp(-20*(V(B)-2.5)))) ))
.ends
* --- Alarm Output Indicator ---
* R3: Current limiting resistor (330 Ohm)
R3 ALARM_OUT LED_ANODE 330
* D1: Red LED connected to Ground
D1 LED_ANODE 0 LED_RED
* --- Simulation Commands ---
.op
* Transient analysis for 500us to capture all logic states
.tran 1u 500u
* Output configuration
* We print the Sensor inputs and the Alarm output
.print tran V(SENS1) V(SENS2) V(ALARM_OUT) V(LED_ANODE)
.end
Resultados de Simulación (Transitorio)
Show raw data table (657 rows)
Index time v(sens1) v(sens2) v(alarm_out) v(led_anode) 0 0.000000e+00 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 1 1.000000e-08 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 2 2.000000e-08 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 3 4.000000e-08 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 4 8.000000e-08 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 5 1.600000e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 6 3.200000e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 7 3.562500e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 8 4.196875e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 9 4.372461e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 10 4.679736e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 11 4.795524e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 12 4.902290e-07 4.999500e-04 4.999500e-04 5.000000e+00 1.833072e+00 13 5.023412e-07 5.000000e+00 5.000000e+00 3.894872e-36 1.057689e+00 14 5.138120e-07 5.000000e+00 5.000000e+00 3.894872e-36 -7.61250e-02 15 5.160398e-07 5.000000e+00 5.000000e+00 3.894872e-36 -3.72798e-02 16 5.172425e-07 5.000000e+00 5.000000e+00 3.894872e-36 -2.57490e-02 17 5.188923e-07 5.000000e+00 5.000000e+00 3.894872e-36 -1.54585e-02 18 5.214063e-07 5.000000e+00 5.000000e+00 3.894872e-36 -6.97976e-03 19 5.238372e-07 5.000000e+00 5.000000e+00 3.894872e-36 -3.25627e-03 20 5.261078e-07 5.000000e+00 5.000000e+00 3.894872e-36 -1.60566e-03 21 5.281984e-07 5.000000e+00 5.000000e+00 3.894872e-36 -8.40881e-04 22 5.304310e-07 5.000000e+00 5.000000e+00 3.894872e-36 -4.20300e-04 23 5.328536e-07 5.000000e+00 5.000000e+00 3.894872e-36 -1.97001e-04 ... (633 more rows) ...
Errores comunes y cómo evitarlos
- Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten» cuando los interruptores están abiertos, provocando un parpadeo errático del LED. Solución: Asegúrate siempre de que las entradas tengan un camino a tierra (vía resistencias pull-down) cuando el interruptor esté abierto.
- Polaridad del LED: Conectar el LED al revés evita que se ilumine incluso cuando la alarma está activa. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia la resistencia y la salida del CI.
- Cableado incorrecto del interruptor: Colocar el interruptor en paralelo con la resistencia en lugar de en serie con la fuente de voltaje crea un cortocircuito. Solución: Sigue la guía de conexionado: VCC -> Interruptor -> Nodo -> Resistencia -> GND.
Solución de problemas
- Síntoma: El LED está siempre ENCENDIDO, incluso cuando los interruptores están cerrados.
- Causa: Uno de los interruptores no está haciendo contacto, o un cable de entrada está suelto.
- Solución: Verifica la continuidad en SW1 y SW2; asegúrate de que el pin 1 y el pin 2 realmente reciban 5 V.
- Síntoma: El LED nunca se ENCIENDE.
- Causa: El LED está invertido, el CI no está alimentado o R3 es demasiado alta.
- Solución: Verifica que haya 5 V en el pin 14. Invierte el LED. Verifica que R3 sea de 330 Ω, no de 330 kΩ.
- Síntoma: La lógica funciona al revés (LED ENCENDIDO cuando es seguro, APAGADO cuando está abierto).
- Causa: Puedes estar usando una puerta AND (74HC08) en lugar de NAND, o la lógica de tus interruptores/resistencias está invertida (Pull-ups en lugar de Pull-downs).
- Solución: Verifica que el número del chip sea 74HC00.
Posibles mejoras y extensiones
- Alarma audible: Conecta la base de un transistor NPN a
ALARM_OUTpara controlar un zumbador activo de 5 V, añadiendo sonido a la luz. - Alarma con enclavamiento: Usa las puertas restantes en el 74HC00 para construir un Latch SR. Esto mantendría la alarma sonando incluso si el ladrón cierra la ventana inmediatamente después de entrar.
Más Casos Prácticos en Prometeo.blog
Encuentra este producto y/o libros sobre este tema en 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.




