¿Cómo podemos usar un usb (en una computadora portátil) para operaciones de entrada / salida de propósito general, como el control robótico [cerrado]?

3

¿Cómo podemos usar un puerto USB (en una computadora portátil) para operaciones de entrada / salida de propósito general, como el control robótico?

Quiero controlar un hardware externo, como un robot, o simplemente un conjunto de LED que utilizan el puerto USB de mi computadora portátil. Hay una manera de hacerlo. Si no, ¿podemos usar otros puertos como el puerto serie o el cable RS-232?

    
pregunta user2552922

2 respuestas

4

Básicamente, necesitas algo que sepa cómo hablar USB en el otro extremo de la línea. Lo mismo ocurre con cualquier otro puerto, pero el USB en sí es bastante complicado, por lo que me centraré un poco más en él.

A diferencia de los puertos serie o paralelos simples, no solo envía datos al otro lado. En su lugar, hay una gran cantidad de comunicación entre el dispositivo, la computadora y el dispositivo, y el dispositivo debe identificarse con la computadora, etc., etc.

Entonces, si no está particularmente interesado en cómo funciona exactamente el USB y solo quiere usarlo para controlar algo, tiene dos enfoques básicos: obtenga algún tipo de convertidor, como un chip de puerto serie a puerto USB (FTDI hace que tipos de chips y es muy popular) o cable y luego use USB solo para enviar comandos seriales desde la computadora. El segundo enfoque es conseguir un microcontrolador que pueda hablar USB. Existen muchos microcontroladores de este tipo y hay bibliotecas disponibles que le permitirán programar simplemente un microcontrolador para que funcione como un dispositivo USB. También hay numerosos ejemplos de PC que puedes usar para trabajar con tu micro. El lado negativo de esto es que si quiere ir un poco más allá de lo que ofrecen las bibliotecas prefabricadas, tendrá que pasar por el convertidor de serie a USB (y no es difícil implementar un puerto serie virtual dentro de un microcontrolador) O aprender a trabajar con USB, lo cual es difícil.

Con el puerto serial tradicional, lo que tienes es básicamente unos pocos cables que se alternan entre varios estados por la computadora. Es mucho más fácil programarlo tanto en el lado de la PC como en el lado del microcontrolador. Además, como puede controlar directamente los estados de los pines, no tiene que utilizar microcontroladores. Simplemente puede construir un circuito que reaccionará cuando un determinado estado de pin pase al nivel alto o bajo y eso es todo.

Tenga en cuenta que los puertos seriales de PC tradicionales utilizan niveles de señalización RS-232, por lo que cero es voltaje positivo y uno negativo. También los voltajes son bastante altos a alrededor de 12 V.

Otro tipo de puerto que fue extremadamente popular entre los aficionados en el pasado, pero que se está volviendo raro hoy en día, es el puerto paralelo. Su principal ventaja es que básicamente tiene un bus de 8 bits que puede controlar, por lo que tiene muchos más pines que puede cambiar directamente desde la computadora. El principal problema hoy en día es que básicamente tendría que obtener una tarjeta de puerto paralelo para computadoras nuevas, ya que muchas ya no la tienen en su placa base y los convertidores de puerto USB a puerto paralelo a menudo solo funcionan para el uso de la impresora. Otro problema son los controladores, ya que en la era posterior a Windows XP, los controladores que le permiten experimentar directamente con el puerto son un poco raros.

    
respondido por el AndrejaKo
1

Hay muchos enfoques y proyectos de interfaz para lograr esto, por lo que puede obtener muchas respuestas diferentes, le daré una que usaría.

Sería bastante difícil hacer esto sin utilizar algún tipo de circuito de interconexión. La razón es que un puerto USB es un puerto serie. Toda la información se envía a través de un único cable de comunicación. Sería necesario "desempaquetar" (o deserializar) la información que se está enviando.

Para hacer esto, a menudo empleamos un microcontrolador. Un buen ejemplo sería el Arduino ( enlace ). Usted puede programar este microcontrolador usando una herramienta de desarrollo ( enlace ) para comprender la información que se le envía a través del Conexión USB.

A su vez, usted decidirá cómo usar esa información, como encender un LED o hacer avanzar un motor. Se discuten muchos ejemplos de cómo conectar un Arduino al mundo real aquí .

En general, aquí hay una descripción general simple de cómo funcionaría ...

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Mark

Lea otras preguntas en las etiquetas