Conecte un sensor de luz a la PC

Quiero conectar un sensor de luz a mi PC (serie o usb) y leer los valores de ese sensor.

¿Hay alguna manera de que pueda hacer esto sin un microcontrolador?

Estoy buscando el método más económico para lograr esta funcionalidad. Debo decir que soy un n00b en electrónica, por lo que agradecería cualquier explicación detallada.

Gracias.

un microcontrolador con un puerto serie que lee una señal analógica que representa el nivel de luz es factible.
@kenny estoy buscando el método más barato.
un PIC de $1 puede hacer eso
phidgets.com/products.php?product_id=1127 si no está buscando construir
El uC será la solución menos costosa y probablemente la más simple... no, la más simple sería comprar una tarjeta DAQ y medir directamente la resistencia, pero es bastante costosa (> 200 $)
cuando las PC tenían puertos de joystick analógicos, habría sido muy simple. Oh bien.

Respuestas (5)

Barato y simple se logra con un convertidor de luz a frecuencia "555".
Configúrelo en baja frecuencia y controle una línea, por ejemplo, entrada RS232 o convertidor RS232 a USB

Un posible circuito 555

ingrese la descripción de la imagen aquí

Desde aquí _
TLC555 aquí.
Aumente C1 a una frecuencia más baja.

O use 555 y, por ejemplo, LDR en lugar de R1 o R2 aquí.
A partir de aquí no hay mucha más información.

ingrese la descripción de la imagen aquí


Legión 555 / frecuencia / RS 232 / ...


Circuitos integrados de convertidores de luz a frecuencia de la serie TSL23x

Hoja de datos TSL235 aquí

Muy baja frecuencia con muy poca luz. Cubra con un "filtro" translúcido, por ejemplo, papel) para reducir el nivel hasta obtener, por ejemplo, 1 Hz.

Sparkfun TSL235R
Kevin Vermeer estuvo aquí hace 2 años :-)
Otra ficha técnica

YouTube TSL230...

Proveedores de TSL23x a través de FindChips

La forma más fácil (¡pero no la más barata!) es probablemente usar una cámara web e integrar los valores de píxel. No sé cuánto error hay en este proceso, pero estoy bastante seguro de que podría funcionar.

[editar: ampliando el comentario de Oli Glaser] No me di cuenta antes de que esa serie fuera una opción. La forma más económica sería usar una fotocélula CdS y un capacitor y medir la constante de tiempo usando las líneas de control en serie. Esto costará alrededor de $1,50 por un conector DE9, una fotocélula y un condensador en cantidades individuales.

El problema es que, a menos que esté haciendo esto en DOS, tendrá que escribir un controlador de kernel para realizar la lectura. Windows está sucediendo lo suficiente como para que no obtenga una latencia de nivel de milisegundos. Una alternativa es usar un capacitor de muy alto valor (digamos alrededor de 1000uF más o menos). Mis experimentos con NT y XP muestran que la latencia de 50 milisegundos no es irrazonable. Usando un capacitor de 1,000uF, si asumimos que la resistencia promedio de la celda CdS en el rango que está leyendo es de aproximadamente 25kohms (escribí un código para hacer esto en un AVR hace un mes y creo que la luz en un "promedio " habitación traducida a aproximadamente 25k), entonces la constante de tiempo es de 25 segundos. Eso debería darle mucha resolución incluso si la lectura del puerto serie tiene una imprecisión de 100 milisegundos.

Ahora has despertado mi interés :-) Voy a tener que intentar codificar esto. ¿Se pregunta si .NET está a la altura?

Se olvidó por completo de esto. Basado en esta solicitud, seguí adelante e implementé esto: cedarlakeinstruments.com/blog/archives/10 Utiliza Windows para medir el tiempo de subida de una fotocélula CdS - circuito de condensador. Es sorprendentemente repetible.

Es posible que desee probar esto:

http://www.yoctopuce.com/EN/products/usb-sensors/yocto-light

No es el más barato, pero es uno de los más fáciles. USB, diminuto, no requiere controlador, admite una gran cantidad de sistemas operativos y lenguajes de programación. Y cuenta con un registrador de datos...

Si desea leer un rango de valores de su sensor de luz (en lugar de encendido/apagado), necesitará más que solo el sensor en sí.
Como dice Kenny, un uC de $ 1 puede lograr esto con bastante facilidad. El código podría escribirse en minutos.
El puerto serie (o USB/cable serie) sería más fácil que el USB, aunque obviamente no tan "actualizado". Si no es un proyecto comercial, entonces esto puede no ser un problema.
Incluso con USB hay muchos proyectos de muestra para PICs/Atmel/etc que podrían adaptarse rápidamente.

Si solo desea un sensor de encendido/apagado (es decir, con luz/sin luz), entonces probablemente podría usar una de las líneas de control en serie (quizás DSR o CTS; vea el pinout en serie de 9 pines ) para interactuar directamente. Puede usar una de las líneas de control de salida (RTS, DTR) para alimentar el sensor y un transistor con divisor de resistencia/LDR para cambiar la línea de control de entrada.

Considere también esto: con un circuito analógico específico, o de todos modos un circuito discreto, está obligado a un cierto comportamiento y puede personalizarlo solo hasta cierto punto.

Si usa un uC, hay varias ventajas:

  • UART integrado (o incluso USB)
  • Configurabilidad casi ilimitada
  • Tiempo relativamente alto para hacerlo funcionar
  • Posibilidad de añadir muchas funciones.

Y, si usa algo como chips FTDI , el esfuerzo es casi nulo, solo use una entrada analógica (casi).