Caso práctico: Lógica de bloqueo de alarma con NAND

Prototipo de Lógica de bloqueo de alarma con NAND (Maker Style)

Nivel: Básico – Construye un indicador de alarma activo en alto usando puertas NAND 74HC00 para comprender la lógica universal y la inversión de señales.

Objetivo y caso de uso

Construirás un circuito lógico digital donde tanto un sensor de alarma como un interruptor de habilitación (enable) deben activarse para encender un LED de advertencia, implementado en su totalidad con un único chip de puertas NAND 74HC00.

Este circuito es muy útil para demostrar conceptos digitales fundamentales:
* Demuestra el concepto de «puertas universales», mostrando cómo una puerta NAND puede cablearse como una puerta NOT (inversor) para lograr una función lógica AND.
* Ilustra cómo funciona una señal de habilitación («enable»), que es un método estándar en la industria para autorizar o bloquear de forma segura las operaciones de un sistema.
* Proporciona práctica directa en el manejo de niveles lógicos CMOS y en la configuración de redes pull-down para un funcionamiento fiable de los interruptores.

Resultado esperado:
* La señal intermedia (la salida de la primera puerta NAND) emitirá un nivel lógico BAJO (0 V) solo cuando ambas entradas estén en ALTO (5 V).
* La salida final será un nivel lógico ALTO (5 V) y encenderá el LED estrictamente cuando ambas entradas, Alarma (Alarm) y Habilitación (Enable), estén en ALTO.
* Verificarás en la práctica la tabla de verdad combinada de una puerta NAND y una puerta NOT.

Público objetivo: Principiantes en electrónica digital que están aprendiendo a manipular puertas lógicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • SW1: Interruptor SPST, función: Disparador de alarma
  • SW2: Interruptor SPST, función: Señal de habilitación
  • R1: Resistencia de 10 kΩ, función: pull-down para el nodo ALARM
  • R2: Resistencia de 10 kΩ, función: pull-down para el nodo ENABLE
  • R3: Resistencia de 330 Ω, función: limitador de corriente para el LED
  • U1: Cuádruple puerta NAND de 2 entradas 74HC00, función: evaluación lógica e inversión
  • D1: LED rojo, función: Indicador de alarma

Pin-out del CI utilizado

74HC00 (Cuádruple puerta NAND de 2 entradas)

PinNombreFunción lógicaConexión en este caso
11 AEntrada 1 de NAND ANodo ALARM (desde SW1)
21BEntrada 2 de NAND ANodo ENABLE (desde SW2)
31YSalida de NAND ANodo INTERMEDIATE
42 AEntrada 1 de NAND BNodo INTERMEDIATE
52BEntrada 2 de NAND BNodo INTERMEDIATE
62YSalida de NAND BNodo VOUT
7GNDTierra (Ground)Nodo 0
14VCCVoltaje de alimentaciónNodo VCC

(Nota: El 74HC00 contiene cuatro puertas NAND independientes. En este circuito, utilizamos las puertas A y B. Las entradas no utilizadas de las puertas C y D deben conectarse a tierra).

Guía de conexionado

  • V1: se conecta entre VCC y 0.
  • SW1: se conecta entre VCC y ALARM.
  • R1: se conecta entre ALARM y 0.
  • SW2: se conecta entre VCC y ENABLE.
  • R2: se conecta entre ENABLE y 0.
  • U1 Pin 14 (VCC): se conecta a VCC.
  • U1 Pin 7 (GND): se conecta a 0.
  • U1 Pin 1 (1 A): se conecta a ALARM.
  • U1 Pin 2 (1B): se conecta a ENABLE.
  • U1 Pin 3 (1Y): se conecta a INTERMEDIATE.
  • U1 Pin 4 (2 A): se conecta a INTERMEDIATE.
  • U1 Pin 5 (2B): se conecta a INTERMEDIATE.
  • U1 Pin 6 (2Y): se conecta a VOUT.
  • D1: El ánodo se conecta a VOUT, el cátodo se conecta a NODE_LED.
  • R3: se conecta entre NODE_LED y 0.
  • Conexión de seguridad: Conecta los pines 9, 10, 12 y 13 de U1 a 0 (GND) para evitar que las puertas no utilizadas queden flotantes.

Diagrama de bloques conceptual

Conceptual block diagram — PIN Alarm Blocking Logic
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

VCC --> [ SW1 ] --(ALARM)--> [ U1: Pin 1 (1 A) ]
           |                      |
         [ R1 ]                   |
           |                 [ U1: Gate 1 (NAND) ] --(INTERMEDIATE)--> [ U1: Pins 4,5 (2 A,2B) ]
          GND                     |                                         |
                                  |                                    [ U1: Gate 2 (NAND) ] --(VOUT)--> [ D1: LED ] --(NODE_LED)--> [ R3 ] --> GND
VCC --> [ SW2 ] --(ENABLE)-> [ U1: Pin 2 (1B) ]
           |
         [ R2 ]
           |
          GND

* Power & Safety Connections:
VCC --> [ U1: Pin 14 (VCC) ]
GND <-- [ U1: Pin 7 (GND) ]
GND <-- [ U1: Pins 9, 10, 12, 13 (Unused) ]
Esquema Eléctrico

Tabla de verdad

Alarma (SW1)Habilitación (SW2)Nodo intermedio (1Y)Nodo de salida (2Y)Estado del LED
0010APAGADO
0110APAGADO
1010APAGADO
1101ENCENDIDO


Mediciones y pruebas

  1. Usa un multímetro para verificar que la fuente de alimentación sea exactamente de 5 V entre los nodos VCC y 0.
  2. Mide los nodos ALARM y ENABLE con respecto a 0. Verifica que marquen exactamente 0 V cuando sus respectivos interruptores estén abiertos, y 5 V cuando estén cerrados.
  3. Mide el nodo INTERMEDIATE. Debería marcar ~5 V cuando uno o ambos interruptores estén abiertos, y caer a ~0 V estrictamente cuando ambos interruptores estén cerrados.
  4. Mide el nodo VOUT. Siempre debería mostrar exactamente el nivel lógico opuesto al del nodo INTERMEDIATE.
  5. Confirma visualmente que el LED se enciende si y solo si ambos interruptores se cambian a la posición cerrada (activa).

Netlist SPICE y simulación

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

* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* ... (truncated in public view) ...

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

🔒 Este contenido es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Desbloquéalo — 7 días gratis
* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate
* Pinout: 1:1A, 2:1B, 3:1Y, 4:2A, 5:2B, 6:2Y, 7:GND, 8:3Y, 9:3A, 10:3B, 11:4Y, 12:4A, 13:4B, 14:VCC
XU1 ALARM ENABLE INTERMEDIATE INTERMEDIATE INTERMEDIATE VOUT 0 NC8 0 0 NC11 0 0 VCC HC00_DIP14

* D1: Red LED (Alarm indicator)
D1 VOUT NODE_LED DLED
.model DLED D(IS=1e-20 N=2.2 RS=15)

* R3: LED current limiting resistor
R3 NODE_LED 0 330

* Subcircuit for 74HC00 (Quad 2-Input NAND Gate)
.subckt HC00_DIP14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Gate 1
B1 3_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(1)-2.5))))*(1/(1+exp(-50*(V(2)-2.5)))))
R1 3_int 3 50
* Gate 2
B2 6_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(4)-2.5))))*(1/(1+exp(-50*(V(5)-2.5)))))
R2 6_int 6 50
* Gate 3
B3 8_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(9)-2.5))))*(1/(1+exp(-50*(V(10)-2.5)))))
R3 8_int 8 50
* Gate 4
B4 11_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(12)-2.5))))*(1/(1+exp(-50*(V(13)-2.5)))))
R4 11_int 11 50
.ends

* Analysis directives
.tran 1u 500u
.print tran V(ALARM) V(ENABLE) V(VOUT) V(NODE_LED)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows the output node (VOUT) and LED node (NODE_LED) going high (approx 4.66V and 2.22V respectively) only when both ALARM and ENABLE inputs are high (approx 5V). When either or both inputs are low, the output is near 0V. This matches the intended AND logic behavior created by using two NAND gates in series.
Show raw data table (691 rows)
Index   time            v(alarm)        v(enable)       v(vout)         v(node_led)
0	0.000000e+00	4.999500e-04	4.999500e-04	1.047185e-47	-6.91142e-47
1	1.000000e-08	4.999500e-04	4.999500e-04	7.268458e-64	-4.79767e-63
2	2.000000e-08	4.999500e-04	4.999500e-04	-7.26994e-64	4.797672e-63
3	4.000000e-08	4.999500e-04	4.999500e-04	-7.41841e-68	-2.28156e-77
4	8.000000e-08	4.999500e-04	4.999500e-04	-7.41841e-68	-2.51468e-77
5	1.600000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
6	3.200000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
7	3.750000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
8	4.712500e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
9	4.978906e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
10	5.445117e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
11	5.574158e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
12	5.799979e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
13	6.049995e-07	4.999950e+00	4.999950e+00	4.662865e+00	2.225088e+00
14	6.550027e-07	4.999950e+00	4.999950e+00	4.662939e+00	2.224602e+00
15	7.550091e-07	4.999950e+00	4.999950e+00	4.662792e+00	2.225571e+00
16	9.550219e-07	4.999950e+00	4.999950e+00	4.662792e+00	2.225574e+00
17	1.000000e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
18	1.040003e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
19	1.120008e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
20	1.280018e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
21	1.600038e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
22	2.240079e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
23	3.240079e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
... (667 more rows) ...


Netlist SPICE de referencia (ngspice)

* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate
* Pinout: 1:1A, 2:1B, 3:1Y, 4:2A, 5:2B, 6:2Y, 7:GND, 8:3Y, 9:3A, 10:3B, 11:4Y, 12:4A, 13:4B, 14:VCC
XU1 ALARM ENABLE INTERMEDIATE INTERMEDIATE INTERMEDIATE VOUT 0 NC8 0 0 NC11 0 0 VCC HC00_DIP14

* D1: Red LED (Alarm indicator)
D1 VOUT NODE_LED DLED
.model DLED D(IS=1e-20 N=2.2 RS=15)

* R3: LED current limiting resistor
R3 NODE_LED 0 330

* Subcircuit for 74HC00 (Quad 2-Input NAND Gate)
.subckt HC00_DIP14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Gate 1
B1 3_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(1)-2.5))))*(1/(1+exp(-50*(V(2)-2.5)))))
R1 3_int 3 50
* Gate 2
B2 6_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(4)-2.5))))*(1/(1+exp(-50*(V(5)-2.5)))))
R2 6_int 6 50
* Gate 3
B3 8_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(9)-2.5))))*(1/(1+exp(-50*(V(10)-2.5)))))
R3 8_int 8 50
* Gate 4
B4 11_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(12)-2.5))))*(1/(1+exp(-50*(V(13)-2.5)))))
R4 11_int 11 50
.ends

* Analysis directives
.tran 1u 500u
.print tran V(ALARM) V(ENABLE) V(VOUT) V(NODE_LED)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows the output node (VOUT) and LED node (NODE_LED) going high (approx 4.66V and 2.22V respectively) only when both ALARM and ENABLE inputs are high (approx 5V). When either or both inputs are low, the output is near 0V. This matches the intended AND logic behavior created by using two NAND gates in series.

Errores comunes y cómo evitarlos

  1. Dejar entradas no utilizadas flotantes: Los chips CMOS como el 74HC00 son muy sensibles a la estática y al ruido ambiental. Las entradas de puertas no utilizadas (pines 9, 10, 12, 13) deben conectarse explícitamente a tierra (0) o a VCC.
  2. Omitir las resistencias pull-down: Sin R1 y R2, los pines de entrada quedarán flotantes cuando los interruptores estén abiertos, lo que provocará un comportamiento impredecible y parpadeos en el LED. Asegúrate siempre de que las resistencias pull-down de 10 kΩ estén firmemente conectadas a tierra.
  3. Conectar el LED sin una resistencia en serie: Conectar D1 directamente entre VOUT y 0 consumirá una corriente excesiva, lo que podría destruir el LED y quemar la etapa de salida del chip 74HC00. R3 es obligatoria.


Solución de problemas

  • Síntoma: El LED nunca se apaga, sin importar las posiciones de los interruptores.
  • Causa: Una de las resistencias pull-down de entrada está suelta, lo que hace que el chip lea un ALTO falso, o el nodo intermedio no está cableado correctamente a ambas entradas de la segunda puerta.
  • Solución: Verifica las conexiones de R1 y R2 a tierra. Asegúrate de que el Pin 3 de U1 se dirija con precisión tanto al Pin 4 como al Pin 5.
  • Síntoma: El brillo del LED parpadea cuando se mueve una mano cerca del circuito.
  • Causa: Una entrada flotante está actuando como antena y captando ruido ambiental.
  • Solución: Comprueba que todas las entradas no utilizadas en el CI estén conectadas a tierra y asegúrate de que R1 y R2 estén asentadas firmemente en la protoboard.
  • Síntoma: El CI se calienta al tacto.
  • Causa: La fuente de alimentación está conectada al revés, o el nodo de salida está cortocircuitado directamente a tierra o a VCC.
  • Solución: Desconecta la alimentación inmediatamente. Verifica que el Pin 14 de U1 vaya estrictamente a +5 V y el Pin 7 vaya estrictamente a tierra.

Posibles mejoras y extensiones

  1. Interruptor de anulación maestra (Master Override): Introduce un tercer interruptor y utiliza una de las puertas NAND libres (por ejemplo, la Puerta C) para crear una «Anulación maestra» que fuerce el apagado del LED independientemente de las señales de Alarma y Habilitación.
  2. Añadir un circuito de retardo: Incorpora una red RC (una resistencia y un condensador) entre uno de los interruptores y su pin de entrada. Esto requiere que el interruptor se mantenga cerrado durante una duración específica antes de que la puerta lógica registre una señal en ALTO, evitando falsas alarmas.

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é chip específico se utiliza para implementar el circuito en su totalidad?




Pregunta 3: ¿Qué concepto fundamental demuestra el uso de la puerta NAND en este circuito?




Pregunta 4: ¿Para qué sirve la señal de habilitación ('enable') en este contexto?




Pregunta 5: ¿Qué función lógica se logra al cablear una puerta NAND como un inversor (NOT) después de otra NAND?




Pregunta 6: Según el resultado esperado, ¿cuándo emitirá un nivel lógico BAJO (0 V) la señal intermedia (salida de la primera NAND)?




Pregunta 7: ¿Bajo qué condiciones se encenderá el LED de advertencia (salida final en ALTO)?




Pregunta 8: ¿Cuál es el nivel de dificultad de este proyecto?




Pregunta 9: ¿Para qué se configuran redes pull-down en este circuito?




Pregunta 10: ¿Qué nivel de voltaje se considera un nivel lógico ALTO en la descripción de este circuito?




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 al inicio