Nivel: Básico – Construye un sistema sensor de interrupción de luz para detectar objetos en movimiento en una línea.
Objetivo y caso de uso
En este caso práctico, construirás una barrera óptica utilizando una fotorresistencia (LDR) y un amplificador operacional configurado como comparador de voltaje. El circuito detecta cuando un objeto opaco interrumpe un haz de luz continuo, activando una señal que puede ser contada o procesada.
Por qué es útil:
* Automatización industrial: Se utiliza para contar productos que se mueven en una cinta transportadora.
* Barreras de seguridad: Detecta si una persona u objeto cruza un límite peligroso.
* Alarmas de intrusión: Activa una advertencia cuando se rompe un haz de luz invisible o visible.
* Sistemas de estacionamiento: Detecta la presencia de un vehículo en un lugar específico.
Resultado esperado:
* Estado A (Trayectoria de luz despejada): El sensor recibe luz y el indicador de salida (LED rojo) permanece APAGADO (Lógica Baja).
* Estado B (Objeto detectado): El objeto bloquea la luz, aumentando la resistencia del LDR. El indicador de salida se ENCIENDE (Lógica Alta).
* Umbral de señal: El comparador cambia de estado cuando el voltaje del sensor cruza el voltaje de referencia ajustable (aprox. 2.5 V).
Público objetivo: Nivel Básico
Materiales
- V1: Fuente de alimentación de 5 V DC, función: alimentación principal del circuito.
- R1: Resistencia de 10 kΩ, función: parte superior del divisor de voltaje para referencia.
- R2: Resistencia de 10 kΩ, función: parte inferior del divisor de voltaje para referencia.
- R3: Resistencia de 10 kΩ, función: resistencia pull-up para el nodo del sensor.
- R4: Fotorresistencia (LDR), función: sensor de detección de luz.
- R5: Resistencia de 330 Ω, función: limitación de corriente para el LED indicador de salida.
- R6: Resistencia de 330 Ω, función: limitación de corriente para el LED emisor.
- D1: LED blanco, función: emisor de luz (simula la fuente del haz).
- D2: LED rojo, función: indicador de salida (objeto detectado).
- U1: LM358 o OpAmp similar, función: comparador de voltaje.
Guía de conexionado
Este circuito se basa en comparar dos voltajes: una referencia fija (V_REF) y un voltaje de sensor variable (V_SENSE).
Conexiones de alimentación
* V1 (+) se conecta al nodo VCC.
* V1 (-) se conecta al nodo 0 (GND).
* U1 (Pin 8 / VCC) se conecta a VCC.
* U1 (Pin 4 / GND) se conecta a 0.
Voltaje de referencia (V_REF)
* R1 se conecta entre VCC y V_REF.
* R2 se conecta entre V_REF y 0.
* U1 (Pin 2 / Entrada Inversora) se conecta a V_REF.
* Nota: Esto establece un umbral fijo de 2.5 V.
Voltaje del sensor (V_SENSE)
* R3 se conecta entre VCC y V_SENSE.
* R4 (LDR) se conecta entre V_SENSE y 0.
* U1 (Pin 3 / Entrada No Inversora) se conecta a V_SENSE.
* Lógica: Cuando se bloquea la luz, la resistencia de R4 aumenta, V_SENSE sube. Si V_SENSE > V_REF, la Salida pasa a Alto.
Emisor de luz (Fuente)
* R6 se conecta entre VCC y NODE_EMIT.
* D1 (Ánodo) se conecta a NODE_EMIT.
* D1 (Cátodo) se conecta a 0.
* Coloca D1 físicamente frente a R4 (LDR).
Etapa de salida
* U1 (Pin 1 / Salida) se conecta a V_OUT.
* R5 se conecta entre V_OUT y NODE_LED.
* D2 (Ánodo) se conecta a NODE_LED.
* D2 (Cátodo) se conecta a 0.
Diagrama de bloques conceptual

Esquemático
[ INPUTS / SENSORS ] [ LOGIC / PROCESSING ] [ OUTPUTS ]
[ LIGHT SOURCE ]
[ VCC -> R6 -> D1 (White) ]
|
(Light Beam Path)
|
V
[ SENSOR DIVIDER ]
[ VCC -> R3 -> Node -> R4 ] --(V_SENSE)-->+----------------+
[ (R4=LDR, varies w/ light)] | Pin 3 (+) |
| |
| U1 LM358 |
| (Comparator) | --(Pin 1)--> [ R5 (330) ] --> [ D2 (Red LED) ] --> GND
| |
[ REFERENCE DIVIDER ] | |
[ VCC -> R1 -> Node -> R2 ] --(V_REF)---->| Pin 2 (-) |
[ (Fixed 2.5 V Threshold) ] +----------------+
Mediciones y pruebas
- Verificación de referencia: Usa un multímetro para medir el voltaje entre
V_REFy0. Debería ser aproximadamente 2.5 V (la mitad de VCC). - Condición de luz (Trayectoria despejada): Asegúrate de que el LED emisor (D1) ilumine el LDR (R4). Mide
V_SENSE. Debería ser menor queV_REF(ej. < 2.0 V). El LED de salida (D2) debería estar APAGADO. - Condición de oscuridad (Objeto detectado): Coloca un objeto (cartón o dedo) entre D1 y R4. Mide
V_SENSE. Debería subir más alto queV_REF(ej. > 3.0 V). El LED de salida (D2) debería ENCENDERSE. - Salida del comparador: Mide
V_OUTrelativo a0. En el estado «Oscuro», debería estar cerca de 3.5 V – 4 V (Alto). En el estado «Luz», debería estar cerca de 0 V (Bajo).
Netlist SPICE y simulación
Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)
* Practical case: Object counter on conveyor belt
* -----------------------------------------------------------------------------
* Power Supply
* Wiring: V1 (+) to VCC, V1 (-) to 0 (GND)
* -----------------------------------------------------------------------------
V1 VCC 0 DC 5
* -----------------------------------------------------------------------------
* Reference Voltage Divider
* Wiring: R1 between VCC and V_REF, R2 between V_REF and 0
* Function: Sets threshold voltage (approx 2.5V)
* -----------------------------------------------------------------------------
R1 VCC V_REF 10k
R2 V_REF 0 10k
* -----------------------------------------------------------------------------
* Sensor Network
* Wiring: R3 between VCC and V_SENSE, R4 (LDR) between V_SENSE and 0
* Simulation Note: R4 is modeled as a behavioral resistor to simulate the
* ... (truncated in public view) ...
Copia este contenido en un archivo .cir y ejecútalo con ngspice.
* Practical case: Object counter on conveyor belt
* -----------------------------------------------------------------------------
* Power Supply
* Wiring: V1 (+) to VCC, V1 (-) to 0 (GND)
* -----------------------------------------------------------------------------
V1 VCC 0 DC 5
* -----------------------------------------------------------------------------
* Reference Voltage Divider
* Wiring: R1 between VCC and V_REF, R2 between V_REF and 0
* Function: Sets threshold voltage (approx 2.5V)
* -----------------------------------------------------------------------------
R1 VCC V_REF 10k
R2 V_REF 0 10k
* -----------------------------------------------------------------------------
* Sensor Network
* Wiring: R3 between VCC and V_SENSE, R4 (LDR) between V_SENSE and 0
* Simulation Note: R4 is modeled as a behavioral resistor to simulate the
* changing resistance of an LDR when an object blocks the light.
* -----------------------------------------------------------------------------
R3 VCC V_SENSE 10k
* R4 (LDR) Implementation:
* Resistance = 1k (Light/No Object) to 100k (Dark/Object Detected)
* Controlled by dummy voltage source V_OBJ_CTRL
R4 V_SENSE 0 R='1k + 99k / (1 + exp(-50 * (V(V_OBJ_CTRL) - 2.5)))'
* -----------------------------------------------------------------------------
* Light Emitter (Source)
* Wiring: R6 between VCC and NODE_EMIT, D1 Anode to NODE_EMIT, Cathode to 0
* -----------------------------------------------------------------------------
R6 VCC NODE_EMIT 330
D1 NODE_EMIT 0 D_WHITE
* -----------------------------------------------------------------------------
* Comparator (U1: LM358)
* Wiring: Pin 8=VCC, Pin 4=0, Pin 3=V_SENSE (+), Pin 2=V_REF (-), Pin 1=V_OUT
* -----------------------------------------------------------------------------
XU1 V_SENSE V_REF VCC 0 V_OUT LM358_COMP
* -----------------------------------------------------------------------------
* Output Stage
* Wiring: R5 between V_OUT and NODE_LED, D2 Anode to NODE_LED, Cathode to 0
* -----------------------------------------------------------------------------
R5 V_OUT NODE_LED 330
D2 NODE_LED 0 D_RED
* -----------------------------------------------------------------------------
* Dynamic Stimuli (Object Simulation)
* This source drives the behavioral LDR (R4).
* Logic: 0V = Clear (Light), 5V = Object (Dark)
* Timing: Wait 50us, Pulse High for 100us, Repeat every 300us
* -----------------------------------------------------------------------------
V_OBJ V_OBJ_CTRL 0 PULSE(0 5 50u 10u 10u 100u 300u)
* -----------------------------------------------------------------------------
* Models and Subcircuits
* -----------------------------------------------------------------------------
.model D_WHITE D(IS=1e-14 N=4 RS=10) ; High Vf simulation for White LED
.model D_RED D(IS=1e-12 N=2 RS=5) ; Standard Red LED
* Behavioral OpAmp Subcircuit (Comparator)
* Pinout Order: Non-Inv(+), Inv(-), VCC, GND, Output
.subckt LM358_COMP P M V_POS V_NEG OUT
* Sigmoid function for robust switching behavior (Rail-to-Rail logic approx)
* V(OUT) approaches V_POS when P > M, V_NEG when P < M
B1 OUT 0 V = V(V_POS) * (1 / (1 + exp(-100 * (V(P) - V(M)))))
.ends
* -----------------------------------------------------------------------------
* Analysis Directives
* -----------------------------------------------------------------------------
.op
.tran 1u 500u
* Print required signals for batch processing
.print tran V(V_SENSE) V(V_REF) V(V_OUT) V(V_OBJ_CTRL)
Resultados de Simulación (Transitorio)
Show raw data table (1064 rows)
Index time v(v_sense) v(v_ref) v(v_out) 0 0.000000e+00 4.545455e-01 2.500000e+00 7.345271e-89 1 1.000000e-08 4.545455e-01 2.500000e+00 7.345271e-89 2 2.000000e-08 4.545455e-01 2.500000e+00 7.345271e-89 3 4.000000e-08 4.545455e-01 2.500000e+00 7.345271e-89 4 8.000000e-08 4.545455e-01 2.500000e+00 7.345271e-89 5 1.600000e-07 4.545455e-01 2.500000e+00 7.345271e-89 6 3.200000e-07 4.545455e-01 2.500000e+00 7.345271e-89 7 6.400000e-07 4.545455e-01 2.500000e+00 7.345271e-89 8 1.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 9 2.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 10 3.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 11 4.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 12 5.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 13 6.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 14 7.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 15 8.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 16 9.280000e-06 4.545455e-01 2.500000e+00 7.345271e-89 17 1.028000e-05 4.545455e-01 2.500000e+00 7.345271e-89 18 1.128000e-05 4.545455e-01 2.500000e+00 7.345271e-89 19 1.228000e-05 4.545455e-01 2.500000e+00 7.345271e-89 20 1.328000e-05 4.545455e-01 2.500000e+00 7.345271e-89 21 1.428000e-05 4.545455e-01 2.500000e+00 7.345271e-89 22 1.528000e-05 4.545455e-01 2.500000e+00 7.345271e-89 23 1.628000e-05 4.545455e-01 2.500000e+00 7.345271e-89 ... (1040 more rows) ...
Errores comunes y cómo evitarlos
- Intercambiar entradas del OpAmp: Conectar la Referencia a la entrada No Inversora (+) en lugar de la Inversora (-) invertirá la lógica (el LED se APAGA cuando se detecta el objeto). Asegúrate de que
V_SENSEvaya al pin No Inversor (+) para la «Detección de Oscuridad». - Interferencia de luz ambiental: El LDR es muy sensible. Si la habitación es brillante, el estado «Oscuro» podría no ser lo suficientemente oscuro para activar el umbral. Usa un pequeño tubo o cinta para proteger el LDR.
- Colocación incorrecta del LDR: Si el LDR (R4) se coloca en la rama superior del divisor de voltaje (intercambiado con R3), la lógica se invierte. Asegúrate de que R4 se conecte a Tierra (
0).
Solución de problemas
- El LED de salida nunca se ENCIENDE:
- Verifica si el objeto realmente bloquea la luz completamente.
- Mide
V_SENSE. Si nunca supera los 2.5 V, aumenta el valor de R3 (ej. a 22 kΩ) para aumentar la sensibilidad del voltaje.
- El LED de salida nunca se APAGA:
- El LDR podría estar recibiendo luz insuficiente del Emisor.
- Verifica la alineación de D1 y R4.
- Mide
V_REF. Si R1 está desconectada,V_REFpodría ser 0 V, causando que la salida permanezca en Alto.
- La salida parpadea:
- La fuente de luz podría ser inestable, o el voltaje está oscilando exactamente en el umbral. Añade un condensador de desacoplo (ej. 100 nF) a través de los rieles de alimentación cerca del OpAmp.
Posibles mejoras y extensiones
- Sensibilidad ajustable: Reemplaza R1 o R2 con un potenciómetro de 10 kΩ. Esto te permite ajustar finamente el umbral
V_REFpara trabajar en diferentes condiciones de luz ambiental. - Histéresis (Trigger de Schmitt): Añade una resistencia de retroalimentación de alto valor (ej. 1 MΩ) entre la Salida (
V_OUT) y la entrada No Inversora (V_SENSE). Esto evita que el LED parpadee si el objeto se mueve lentamente a través del haz.
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.




