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.
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
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.
Legión 555 / frecuencia / RS 232 / ...
Circuitos integrados de convertidores de luz a frecuencia de la serie TSL23x
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
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?
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:
Y, si usa algo como chips FTDI , el esfuerzo es casi nulo, solo use una entrada analógica (casi).
kenny
opc0de
kenny
kenny
clabacchio
solojeff