Nivel: Medio — Construye un detector de sombra estable con indicación visual y baja probabilidad de activación falsa.
Objetivo y caso de uso
Construirás un circuito basado en una fotorresistencia que detecta una caída repentina de luz causada por una sombra y enciende un LED de forma estable. El diseño utiliza un divisor de tensión con LDR, un filtro RC y un comparador con histéresis para reducir activaciones falsas.
Por qué es útil:
- Detectar cuando una mano u objeto pasa frente a una abertura iluminada.
- Crear una advertencia visual simple para puntos de acceso, cajas o armarios.
- Supervisar eventos breves de sombra en experimentos de aula sobre detección de luz.
- Añadir un disparador fiable por cambio de luz a pequeños prototipos de automatización.
Resultado esperado:
- La tensión del sensor en
VAcambia con el nivel de luz, típicamente desde aproximadamente0.8 Vhasta4.2 Vsegún la iluminación. - La tensión filtrada en
VBcambia más lentamente queVA, reduciendo picos cortos y parpadeos. - La salida del comparador en
VOUTconmuta limpiamente entre estados bajo y alto. - El LED
D1se enciende cuando la luz cae por debajo del umbral ajustado y permanece estable cerca del punto de conmutación. - Una histéresis de aproximadamente
0.2 Va0.5 Vevita oscilaciones repetidas de encendido/apagado.
Público objetivo y nivel: Estudiantes con conocimientos básicos de resistencias, condensadores y medición de tensión.
Materiales
V1: fuente DC de 5 VR1: fotorresistencia LDR, función: brazo superior dependiente de la luz del divisor del sensorR2: potenciómetro de 10 kΩ, función: brazo inferior ajustable del divisor del sensor y ayuda para ajustar la sensibilidad del umbralR3: resistencia de 22 kΩ, función: resistencia en serie desde el nodo del sensor hasta el filtro RCC1: condensador de 10 µF, función: filtro paso bajo para estabilización del evento de sombraU1: comparador LM393, función: comparar la tensión filtrada del sensor con una referencia ajustableR4: potenciómetro de 10 kΩ, función: ajuste de la tensión de referencia para el comparadorR5: resistencia de 220 kΩ, función: realimentación positiva para añadir histéresisR6: resistencia de 10 kΩ, función: pull-up para la salida de colector abierto del LM393D1: LED rojo, función: salida de alerta visualR7: resistencia de 330 Ω, función: limitación de corriente del LED
Guía de conexionado
V1se conecta entre los nodosVCCy0.R1se conecta entre los nodosVCCyVA.R2se conecta entre los nodosVAy0; usa el potenciómetro como resistencia variable para ajustar la sensibilidad del divisor.R3se conecta entre los nodosVAyVB.C1se conecta entre los nodosVBy0.R4se conecta entre los nodosVCCy0; conecta el cursor deR4al nodoVREF.- Los pines de alimentación del LM393
U1se conectan así: pin de alimentación aVCC, pin de tierra a0. - La entrada no inversora del comparador
U1se conecta al nodoVREF. - La entrada inversora del comparador
U1se conecta al nodoVB. R5se conecta entre los nodosVOUTyVREF.R6se conecta entre los nodosVCCyVOUT.R7se conecta entre los nodosVCCyVLED.D1se conecta entre los nodosVLEDyVOUT; orienta el LED para que se encienda cuandoVOUTsea llevado a nivel bajo porU1.
Diagrama de bloques conceptual

Esquemático
Practical case: Shadow detector for visual alert
Light / Shadow
--> [ R1: LDR ]
--> (VA: sensor divider node)
--> [ R3: 22 kΩ ]
--> (VB: filtered sensor signal)
--> [ U1: LM393 Comparator (-) ]
VCC --> [ R2: 10 kΩ Pot, sensitivity adjust ] --> GND
\
--> (VA)
VCC --> [ R4: 10 kΩ Pot, reference adjust ] --> GND
\
--> (VREF)
--> [ U1: LM393 Comparator (+) ]
[ U1: LM393 Comparator Output VOUT ]
--> [ R5: 220 kΩ Positive Feedback ] --> (VREF)
--> [ D1: Red LED ] --> [ R7: 330 Ω ] --> VCC
--> [ Alert Output: LED ON when VOUT goes LOW ]
VCC --> [ R6: 10 kΩ Pull-up ] --> (VOUT)
(VB) --> [ C1: 10 µF Low-Pass Filter ] --> GND
V1: 5 V DC --> VCC
V1: 0 V --> GND
U1 power: VCC, GND
Diagrama eléctrico

Mediciones y pruebas
- Inspección con la alimentación desconectada
- Comprueba que
VCCy0no estén en cortocircuito. - Confirma la polaridad del LED.
Verifica que la salida del LM393 tenga una resistencia pull-up
R6.Comprobación de alimentación
- Alimenta el circuito con
V1 = 5 V. Mide entre
VCCy0; valor esperado:4.9 Va5.1 V.Medición de la tensión del sensor
- Mide
VAcon luz intensa y luego bajo una sombra. - Resultado esperado:
VAdebe cambiar claramente, a menudo en más de1 V. Si el cambio es demasiado pequeño, ajusta
R2o cambia el ángulo de la luz sobre la LDR.Medición de la respuesta filtrada
- Mide
VBmientras cubres repentinamente la LDR. VBno debe saltar instantáneamente; debe moverse con un pequeño retardo fijado porR3 × C1.Con
R3 = 22 kΩyC1 = 10 µF, la constante de tiempo es de aproximadamente0.22 s.Ajuste del umbral
- Ajusta
R4hasta queD1esté apagado con luz normal y se encienda cuando se aplique una sombra clara. Mide
VREF; el rango útil típico es de1 Va4 V.Verificación de la histéresis
- Mueve lentamente una mano para crear una sombra parcial y luego retírala lentamente.
- Mide la tensión de conmutación en
VBcuando el LED se enciende y cuando se apaga. Los dos valores deben diferir ligeramente debido a
R5; una diferencia de0.2 Va0.5 Ves un buen objetivo.Prueba de tiempo de respuesta
- Crea repetidamente una sombra repentina y observa el comportamiento del LED.
- El LED debe reaccionar en una fracción de segundo, sin parpadear por variaciones de luz muy breves.
- Si la respuesta es demasiado lenta, reduce
C1a4.7 µF. Si las activaciones falsas continúan, aumenta
C1a22 µFo aumenta ligeramenteR5para obtener más histéresis.Prueba de activación falsa
- Ilumina la LDR con luz ambiente e introduce pequeñas perturbaciones como movimiento de la mano cerca, pero sin cubrirla por completo.
- El LED debe permanecer estable a menos que la caída de luz sea lo bastante grande como para cruzar el umbral.
Netlist SPICE y simulación
Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)
* Practical case: Shadow detector for visual alert
.width out=256
.param R2VAL=5k
.param R4POS=0.5
.param R4TOP={10000*(1-R4POS)+1m}
.param R4BOT={10000*(R4POS)+1m}
.param RLIGHT=2k
.param RDARK=50k
V1 VCC 0 DC 5
* Dynamic light/shadow stimulus: 0 = light, 1 = shadow
VLUX LUX 0 PULSE(0 1 50m 1m 1m 200m 400m)
* R1 LDR photoresistor: upper arm of divider
R1 VCC VA r='{RLIGHT + (RDARK-RLIGHT)*V(LUX)}'
* R2 10k potentiometer used as variable resistor
R2 VA 0 {R2VAL}
* ... (truncated in public view) ...Copia este contenido en un archivo .cir y ejecútalo con ngspice.
* Practical case: Shadow detector for visual alert
.width out=256
.param R2VAL=5k
.param R4POS=0.5
.param R4TOP={10000*(1-R4POS)+1m}
.param R4BOT={10000*(R4POS)+1m}
.param RLIGHT=2k
.param RDARK=50k
V1 VCC 0 DC 5
* Dynamic light/shadow stimulus: 0 = light, 1 = shadow
VLUX LUX 0 PULSE(0 1 50m 1m 1m 200m 400m)
* R1 LDR photoresistor: upper arm of divider
R1 VCC VA r='{RLIGHT + (RDARK-RLIGHT)*V(LUX)}'
* R2 10k potentiometer used as variable resistor
R2 VA 0 {R2VAL}
R3 VA VB 22k
C1 VB 0 10u
* R4 10k potentiometer with wiper at VREF
R4A VCC VREF {R4TOP}
R4B VREF 0 {R4BOT}
* U1 LM393 approximation
* Non-inverting input: VREF
* Inverting input: VB
* Open-collector output: VOUT
B_U1DRV NBASE 0 V='0.95*(1+tanh(80*(V(VREF)-V(VB))))/2'
R_U1B NBASE 0 100k
Q_U1 VOUT NBASE 0 QLM393OC
R5 VOUT VREF 220k
R6 VCC VOUT 10k
R7 VCC VLED 330
D1 VLED VOUT DRED
* Probe aliases so .print can include V(IN) and V(OUT) first
V_INMON IN VB DC 0
V_OUTMON OUT VOUT DC 0
.model QLM393OC NPN(IS=1e-14 BF=100 VAF=100 CJE=5p CJC=3p TF=1n TR=10n)
.model DRED D(IS=1e-18 N=2.0 RS=10 CJO=5p VJ=0.75 M=0.33 TT=50n BV=5 IBV=10u)
.print tran V(IN) V(OUT) V(VB) V(VOUT) V(VREF) V(VA) V(VLED) V(LUX)
.op
.tran 100u 500m
.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation is consistent with a shadow detector. In bright condition, VA and VB are high, VB is above VREF, the LM393 output transistor is off, and VOUT stays high at about 4.89 V so the LED is off. After the light-to-shadow transition, VA drops, VB falls slowly because of the R3-C1 filter, and when VB crosses below VREF at about 0.168 s, VOUT is pulled low to about 18 mV and the LED turns on. When light returns, VB rises slowly again, so the alert remains on for a while before resetting, consistent with RC filtering and hysteresis.
* bom/wiring vs SPICE issues (modelo):
* - The LM393 is not a specific manufacturer macro-model; it is only an approximation of open-collector comparator behavior. This is acceptable for logic/function teaching, but not for accurate device-level output saturation or input common-mode behavior.
* bom_vs_spice equivalences ignored:
* - R2 is described in the wiring guide as a 10 kΩ potentiometer used as a variable resistor, but the netlist fixes it with .param R2VAL=5k. This is acceptable for one simulation run, but the adjustable setting is not exposed unless the parameter is changed manually.
* - The 10 kΩ potentiometer R4 is validly modeled as two resistors R4A and R4B with the wiper at node VREF.
* - The LDR R1 is validly modeled as a resistor whose value changes with a control stimulus (behavioral resistance driven by VLUX).
* - The LED D1 is validly modeled as a diode, with R7 providing the series current limit.
* - The LM393 comparator is validly modeled with behavioral circuitry plus an NPN open-collector output stage.
* - The changing light/shadow condition is validly modeled by the PULSE source VLUX.
* overall_comment: This SPICE netlist is broadly faithful to the BOM and wiring and is usable as a didactic example of a shadow-triggered visual alarm. The divider, RC filter, adjustable reference, hysteresis, open-collector pull-up, and active-low LED wiring all match the intended circuit. The main caveat is pedagogical: the LM393 is only behaviorally approximated, and R2 is represented by a fixed chosen value rather than an interactively adjustable potentiometer position. Before classroom use, I would explain the active-low output, the delayed switching caused by R3-C1, and the role of positive feedback R5 in shifting VREF slightly between output states.
* --------------------------------------Resultados de Simulación (Transitorio)
Show raw data table (5027 rows)
Index time v(in) v(out) v(vb) v(vout) v(vref) v(va) v(vled) v(lux) 0 0.000000e+00 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 1 1.000000e-06 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 2 2.000000e-06 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 3 4.000000e-06 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 4 8.000000e-06 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 5 1.600000e-05 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 6 3.200000e-05 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 7 6.400000e-05 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 8 1.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 9 2.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 10 3.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 11 4.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 12 5.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 13 6.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 14 7.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 15 8.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 16 9.280000e-04 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 17 1.028000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 18 1.128000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 19 1.228000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 20 1.328000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 21 1.428000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 22 1.528000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 23 1.628000e-03 3.571429e+00 4.892473e+00 3.571429e+00 4.892473e+00 2.526882e+00 3.571429e+00 5.000000e+00 0.000000e+00 ... (5003 more rows) ...
Errores comunes y cómo evitarlos
- Conectar el LED directamente a la salida del comparador sin una resistencia
Usa siempre
R7en serie conD1para limitar la corriente.Olvidar que la salida del LM393 es de colector abierto
Añade
R6desdeVCChastaVOUT, o la salida no producirá un nivel alto válido.No usar histéresis cerca del umbral
- Mantén
R5instalado para que el LED no vibre cuando el nivel de luz esté cerca del punto de conmutación.
Solución de problemas
- Síntoma: el LED nunca se enciende
- Causa:
VREFestá ajustado demasiado bajo o el rango del divisor de la LDR es demasiado pequeño. Solución: Ajusta
R4, luego verifica queVAyVBrealmente cambien bajo una sombra.Síntoma: el LED está siempre encendido
- Causa:
VREFestá demasiado alto, o la LDR está conectada incorrectamente. Solución: Baja
VREFconR4y confirma queR1esté entreVCCyVA.Síntoma: el LED parpadea cerca del punto de conmutación
- Causa: filtrado o histéresis insuficientes.
Solución: Aumenta
C1o reduceR5moderadamente para reforzar la histéresis.Síntoma: la tensión de salida en
VOUTnunca sube- Causa: falta la resistencia pull-up
R6o es incorrecta. Solución: Confirma que
R6esté conectada entreVCCyVOUT.Síntoma: la respuesta es demasiado lenta
- Causa: el filtro RC es demasiado grande.
- Solución: Reduce
C1oR3para acortar el tiempo de respuesta.
Posibles mejoras y extensiones
- Añadir una salida con zumbador
Conecta un driver con transistor a
VOUTpara que el mismo evento de sombra active tanto un LED como un zumbador para una alerta más intensa.Usar una ventana de doble umbral
- Añade un segundo comparador para detectar tanto oscuridad excesiva como brillo excesivo, útil para supervisión de condiciones de luz en lugar de solo detección de sombras.
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.




