Transformando voltios a bits

0

Tengo que detectar cuándo algo de la casa está encendido.

Un ejemplo simple sería que si alguien enciende una luz, necesito poder rastrearla en una computadora.

Debe estar en su forma muy básica, por ejemplo: cable simple conectado a un puerto USB. si conecto una batería al cable USB, necesito poder detectar eso.

Eché un vistazo a algunas de las especificaciones de USB, pero todas mencionan información de lectura, nada al leer la entrada de voltaje en el puerto USB. Mi siguiente paso lógico, es tratar de convertir ese voltaje en algo que el USB pueda reconocer, que supongo que está transformando voltios en bits.

¿Alguien tiene un esquema de cómo construir algo como esto? Preferiría no hacer uso de un microcontrolador, necesito que el dispositivo sea lo más simple y barato posible.

    
pregunta stoic

4 respuestas

2

Esperar hacer esto sin un micro no es realista. El USB es un protocolo en serie bastante complejo que se diseñó desde el principio, suponiendo que hubiera un silicio dedicado en el otro extremo para realizar el reconocimiento. El USB tiene mucha complejidad bajo el capó, por lo que puede parecer sencillo para los usuarios finales. ¡Proporcionar toda esa simplicidad es complejo!

Afortunadamente, el silicio para hacer gran parte del complicado apretón de manos ahora está integrado en varios microcontroladores. Echa un vistazo a la PIC 18F2550 y similares. Estas cosas son baratas y pequeñas y se pueden alimentar desde el USB, por lo que el gasto no es realmente el problema. El cable USB promedio de 10 pies cuesta más que uno de estos micros.

    
respondido por el Olin Lathrop
2

Respuesta actualizada:

Parece que solo desea detectar la presencia de voltaje, no medir realmente el voltaje. Si esto es cierto, puede evitar un micro y utilizar un chip USB a GPIO (como el CP2103: enlace ). El chip que mencioné anteriormente es en realidad un chip de USB a GPIO que también tiene 4 entradas GPIO. Podrías programar estos (desde tu host) como entradas y luego leer el estado 0 o 1 de cada pin.

Respuesta anterior:

Si realmente desea construir esto, lo que necesita es un microcontrolador con un convertidor analógico a digital y una interfaz USB. Necesitará que se ejecute un código en el micro para leer el valor del A / D y ponerlo a disposición a través de la interfaz USB.

Los ejemplos de micros adecuados incluirían el C8051F321 o SiM3U134, ambos de Silicon Labs. Hay muchos otros, de muchos otros fabricantes.

    
respondido por el DoxyLover
1

Como dice Anindo, el USB es un protocolo complejo que requiere un microcontrolador o un IC USB específico, como el FT245 , FT232 USB a chips paralelos / en serie. Si quieres y estás dispuesto a aprender, entonces toma una tarjeta de desarrollo USB de inicio, por ejemplo. Microchip o Atmel (por ejemplo, PIC18F , 24F o PIC32 basado en un par de libros electrónicos básicos y aprenda los conceptos básicos (muchas preguntas aquí acerca de cómo empezar con estas cosas, eche un vistazo)

Si no está buscando aprender sobre el diseño de circuitos o los microcontroladores, que desde cero tomaría una cantidad considerable de tiempo y esfuerzo para adquirir las habilidades que necesitaría para el tipo de automatización del hogar, entonces mi consejo es comprar algo como un Dispositivo de tipo E / S o registro USB o multímetro con capacidad de comunicaciones de PC.
National Instruments ofrece una gama de productos de registro de datos USB que pueden manejar entradas digitales o analógicas, además de salidas para controlar relés, etc. Aquí hay un ejemplo de uno; a E / S digital con hasta 96 líneas . Otro es el sistema DAQ compacto para el registro de sensores, que tiene varios módulos de sensores que se pueden usar con él. Eche un vistazo a las páginas principales de adquisición de datos para ver si hay algo que se adapte a sus necesidades.

Para obtener dispositivos básicos más simples y económicos, consulte las opciones de Anatrek .

Independientemente de lo que elija, es muy probable que aún tenga que construir un circuito básico para interactuar con el dispositivo de registro. Necesitamos conocer los detalles de exactamente lo que desea hacer para proporcionar una solución específica, como si desea utilizar cableado o RF, si desea medir voltaje / corrientes y de qué niveles y frecuencia, etc. Si algo se enciende o se apaga es bastante fácil, si eso es todo lo que quiere hacer, díganos qué es / son, y si desea hacerlo de forma inalámbrica o no (más cualquier otro detalle que pueda pensar en cuál puede ayudar)

    
respondido por el Oli Glaser
0

Las respuestas anteriores son todas buenas. Necesita un microcontrolador para interactuar con usb, pero no necesita programarlo usted mismo. Los registradores de datos están programados para hacer eso por usted. Una tarjeta de sonido es una entrada analógica. Si necesita detectar encendido / apagado, no necesita convertir analógico a digital. Obtenga una tarjeta de puerto paralelo / dispositivo USB y tal vez use optoacopladores o sensores de luz según la aplicación.

Teniendo en cuenta la pregunta, debes tener mucho cuidado antes de conectar cualquier fuente de voltaje a cualquier entrada. Si no lo entiendes, no lo conectes. No juegues con la tensión de red.

Si puede tolerar un enfoque muy intrincado que es bastante seguro y realmente necesita una entrada analógica, sea creativo. Hay muchos dispositivos informáticos que convierten el valor analógico a digital que puede utilizar. Piensa en un gamepad inalámbrico con sticks analógicos. Probablemente puedas conseguir uno barato porque tiene un palo roto. Mi sugerencia "inalámbrica" se agregó por seguridad ... si no sabes lo que estás haciendo, no freirás tu computadora ... solo el gamepad.

Y si solo necesitas detectar luz, la cámara web más barata probablemente puede hacer eso de manera confiable y será más segura que intentar conectar la red / AC con cualquier cosa.

    
respondido por el shaun

Lea otras preguntas en las etiquetas