2010-08-26 22 views
9

Tengo una pequeña luz con alimentación por USB. Me gustaría poder activarlo y desactivarlo con el software. Lo adjuntaré a una computadora Linux. Tengo un Atmel ATtiny2313 desde un previous project, pero prefiero hacer esto con un truco simple que reutilizar mi microcontrolador.Controle una luz USB a través del software

¿Esto es posible? Sospecho que esto no se puede hacer ya que la computadora no hablará con un dispositivo sin algún tipo de firmware compatible con USB.

Encontré this question, que tiene un comentario que sugiere que el OP use un regulador de voltaje LM317 para cambiar el voltaje de la salida de USB. No creo que esto sea aplicable a mí, pero pensé que lo mencionaría.

Actualización:

parece que tal vez podría poner USBtiny en mi microcontrolador, entonces podría cablear a la luz, entonces yo podría escribir una aplicación para controlar el controlador. Aunque suena como un montón de trabajo. Prefiero hacer un truco simple, pero me falta experiencia con USB.

+0

Si tenía un puerto paralelo, entonces controlarlo sería muy fácil, aunque no la manera más eficiente de hacer las cosas. –

+0

Porque paralelo era 5V, ¿verdad? Desafortunadamente, esta computadora es muy nueva y solo tiene USB. También tengo un adaptador serie USB ... Hmmmm ... tal vez software -> USB -> adaptador serial -> ¿luz? –

+0

Pruebe esto :) http://www.dlink.com/category/productcategories/?cid=83 –

Respuesta

0

Voy a utilizar mi puente USB/serie basado en PL-2303 y un microcontrolador ATtiny2313 con una pila USB - posiblemente USBtiny. Se va a trabajar de esta manera:

  • La luz USB se conecta directamente al microcontrolador - no el equipo
  • Una aplicación/controlador controla el microcontrolador a través de USB
  • El microcontrolador establece el voltaje para el USB luz

Voy a buscar en el cableado, por lo que hay algunas resistencias en algunas salidas para que pueda configurar la luz a diferentes brillos, y si quiero hacer patrones o cualquier cosa, lo haré en el software.

2

No creo que sea posible, porque la línea de alimentación (Vcc) en el USB está siempre encendida, no pretende ser una línea de control.

A menos que su USB luz ya proporciona una forma de controlarse a través de USB datos, no tiene suerte. No recomiendo tratar de cambiar el voltaje de la línea de alimentación USB.

+0

¿Pero puedo manipular la salida de datos de la computadora y usar eso como entrada para un transistor o microcontrolador? Entonces puedo controlar si dejo pasar el 5V a la luz. Simplemente no sé si puedo manipular los pines de datos en el puerto USB si el dispositivo en el otro extremo no es un dispositivo USB legítimo. –

+0

¿Entonces usted derivaría las líneas de datos en el puerto usb a su propio microcontrolador? Supongo que hay una manera, pero entonces tendrías que aprender la capa de hardware USB y cómo escribir un controlador para ello. –

+0

¡Sí! Creo que tienes la mayoría de la razón, pero [USBtiny] (http://www.xs4all.nl/~dicks/avr/usbtiny/) debería caber en mi microcontrolador, y debería llenar este papel para mí. Probablemente voy a aprender la capa de hardware USB de todos modos por diversión. –

1

Quizás pueda decirle al controlador USB que corte la alimentación del puerto USB. He visto esta opción en la configuración de ahorro de energía en mi PC.

+0

No creo que pueda hacer eso. Especialmente si el dispositivo es tonto. –

2

Su mejor opción es probablemente comprar algo así como un cable de interfaz FTDI, disponible en Digi-Key por $ 20. Eso le da +5, tierra y cuatro cables que puede cambiar alto o bajo bajo el control del software. El software es más fácil si usa la cosa como un puerto serie de nivel lógico con rx/tx/rts/cts. El número de pieza del fabricante es TTL-232R-5V-WE (vaya a digikey.com y escriba ese número en el cuadro de búsqueda de piezas). Digi-Key tiene enlaces a las hojas de datos del fabricante y al sitio web.

+0

+1 DigiKey es un maldito buen recurso para la ingeniería eléctrica/informática seria. –

+0

Esto se ve bien. Creo que mi puente USB/serie actual puede ayudarme aquí. Tengo un adaptador USB/serial [PL-2303] (http://www.prolific.com.tw/eng/products.asp?id=59). Creo que eso lo hará? –

+0

Agradezco su sugerencia y +1, pero en realidad no responde mi pregunta. ¡Gracias por las sugerencias de DigiKey y FTDI! Aprecio especialmente el número de parte. –

0

¿Sería posible volver a conectar el conector usb para que, en lugar de estar conectado a VCC, la potencia de la luz usb se conectara a los datos del puerto usb?

Entonces tal vez podría controlar eso y especificar si era 0 o 5 voltios.

No estoy seguro si eso es posible, no sé nada sobre usb.

+0

Consideré esto, pero dudo que pueda hablar con el cable de datos del puerto USB si el dispositivo en el otro extremo no está haciendo la comunicación USB. También sé muy poco sobre USB. Sin embargo, creo que sabré bastante al final de este proyecto. :) –

1

Supongo que esto podría ser posible utilizando la capacidad de la computadora para encender/apagar los puertos USB para ahorrar batería. Después de una búsqueda surprissingly corta encontré otra pregunta respecto a que:

Controlling a USB power supply (on/off) with linux

Aunque no he probado. Por favor, háganos saber si funcionó!

+0

¿Cómo hacer esto en Windows 8, 10? – YumYumYum

Cuestiones relacionadas