Para lograr una entrada de nivel lógico utilizando un fotoresistor, se debe conocer lo siguiente:
- Resistencia del fotoresistor en estado iluminado y no iluminado: use un multímetro para averiguarlo.
- Voltaje de umbral "alto" de nivel lógico GPIO para el microcontrolador en cuestión: la hoja de datos generalmente proporciona esto.
- Supuesto: El GPIO es una entrada de alta impedancia: la mayoría de los microcontroladores modernos son.
Una vez que se conocen los valores anteriores, un divisor de voltaje adecuado servirá como un disparador basado en el nivel para el fotoresistor.
Para disparar un ALTO si el láser se "dispara", es decir, oculto, este fotorresistor hipotético debe cablearse en el lado de tierra del divisor de voltaje, con una resistencia fija en el lado Vcc, y el pin de entrada GPIO conectado al Unión de estos dos resistores.
Aquí hay algunos valores asumed , para ilustrar los cálculos:
- Vcc del circuito: 5 voltios
- valores de la fotorresistencia:
- 1 kOhm cuando está iluminado por el láser
- 1 MOhm cuando no está iluminado
- Umbrales de puertos IO (de la hoja de datos ATmega328):
- LOW es < 0,3 Vcc, es decir, < 1.5 voltios
- ALTO es > 0.7 Vcc, es decir, > 3.5 voltios
- Los valores intermedios no están definidos, por lo que GPIO podría leer de cualquier manera.
Si seleccionamos 100 kOhm para la resistencia fija, entonces el voltaje en la unión será ...
- Cuando está oculto: 4.55 voltios = ALTO
- Cuando está iluminado: 0.495 voltios = BAJO
Ambos valores dejan un margen suficiente para un disparo confiable del nivel lógico en el pin GPIO, por lo que se logra la solución requerida.