¿Pueden los microcontroladores simples leer señales de un convertidor USB a RS232 conectado a un mouse USB?

Intenté conectar tantos ratones usb a mi arduino y me acaban de informar sobre los convertidores usb a rs232.

¿Alguien puede decirme si es posible simplemente conectar un mouse usb a un convertidor usb a rs232, conectar algunos cables desde el conector de salida rs232 al microcontrolador y luego leer los datos de todos los eventos del mouse?

Los adaptadores USB rs232 no son bidireccionales.
¿Por qué quieres hacer eso? Tal vez hay una solución más simple?
El software de PC @starblue en el que estoy trabajando se beneficiaría de las entradas de varios ratones.
@zaf: el comentario de JustJeff es realmente la respuesta a su pregunta, pero ¿ha intentado conectar varios ratones a su computadora? El resultado (al menos en Mac y Ubuntu) es que el movimiento relativo de cada mouse controla el cursor único. Mueva el mouse 1 hacia la derecha y el mouse 2 hacia arriba, y el resultado es que el cursor se mueve hacia arriba y hacia la derecha. ¿Necesita varios cursores? Si es así, tendrá que usar hardware personalizado y escribir su propio motor de cursor, y va en la dirección correcta.
@JustJeff ¿Cómo no son bidireccionales? ¿Quieres decir que no son tanto un anfitrión como un esclavo?
Me sorprende que nadie haya señalado esto todavía, me hace preguntarme si estoy malinterpretando lo que él quiere hacer... No puede conectar RS232 directamente a su Micro, primero debe hacer un cambio de nivel. El método más simple sería algo así como un FT232, pero no puede conectar un mouse al FT232 debido a todas las razones que la gente ya ha abordado.
@Kellenjb: creo que quiere decir que no puede conectar el mouse USB al adaptador USB-RS232 (a través de un hipotético adaptador hembra-hembra o modificaciones de cable) y obtener las coordenadas del mouse en RS232 por el otro lado. Entonces, sí, no son bidireccionales porque no pueden actuar como host.
@kevin Vermeer, el problema de redactarlo como "bidireccional" implica que un convertidor de USB a RS232 no es capaz de TXing y RXing.
@Kellenjb - ¡Nunca se me ocurrió leerlo de esa manera! Entendí un convertidor no bidireccional como incapaz de convertir en ambas direcciones, no como incapaz de enviar información en ambas direcciones. Sin embargo, tiene sentido. Lamentablemente, la mejor respuesta fue usar un convertidor USB-PS/2 y no tenía nada que ver con el host USB -> RS232.
@Kellenjb: lo que dijo Kevin. De ninguna manera quería decir que rs232 por sí solo no es bidireccional; que rs232 en sí mismo es bidireccional, supongo (!) como se indica. Solo quise decir que no puede operar un dispositivo USB al intentar 'alojar' el adaptador desde el lado rs232, como infirió Kevin.
Parece que ha estado en X durante varios años. El artículo también hace referencia a productos similares para otros sistemas: en.wikipedia.org/wiki/Multi-Pointer_X

Respuestas (6)

No, pero puede conectar el mouse a un convertidor de USB a PS/2 que hará que el mouse cambie al modo serial sincrónico. Necesitaría un enchufe mini-DIN compatible alimentado con 5 V, pero la decodificación de los datos debería ser bastante sencilla. Ver aquí para el cableado.

Convertidor USB a PS2

ACTUALIZAR

Acabo de probar esto con un par de ratones nuevos y funcionaron bien. Como idea de último momento, recordando que los ratones PS/2 funcionan en modo asíncrono con un adaptador PS/2 a DA9, intenté conectar en cascada USB => PS2 => adaptadores en serie (con alimentación externa injertada). No hace falta decir que los ratones USB no son compatibles con el modo serial asíncrono heredado (bueno, ¡valió la pena intentarlo!).

@MikeJ-UK, ¿todos los ratones cambian a este modo cuando se conecta la ps2?
@stevenvh ¿Está diciendo que el dispositivo pasivo puede convertir señales USB en señales PS/2?
@Kellenjb - está bien, mi error. Debo admitir que parece demasiado pequeño para tener la electrónica necesaria en su interior.
Consulte computer-engineering.org/ps2protocol para decodificar el protocolo.
Me sorprendería si los ratones más nuevos tuvieran esta función.
Esas cosas se enviaron originalmente con ratones que tenían suficiente lógica para detectar si estaban conectados a USB o PS2, y aparecieron en los años 90 cuando todavía había personas cuyas computadoras no tenían puertos USB. Parece que sería bastante impredecible si un mouse moderno dado admitiría un modo PS2. Dicho esto, mientras que PS2 sería más fácil de manejar para un micro que USB, aún sería más complicado que rs232, ya que PS2 usa líneas de reloj y datos separadas, y hay un protocolo exacto para usarlo.
reloj y datos, tal vez pueda conectarlo a un puerto SPI. todavía necesitaría implementar el protocolo.
Esos adaptadores solo cambian la forma del conector, no hay componentes electrónicos adentro. si el ratón es compatible con el modo "8042" (también conocido como PS/2), se puede utilizar una toma USB con el cableado adecuado.

No. El mouse USB debe conectarse a un host USB. El controlador USB a RS232 no es un host USB. Es un dispositivo USB, como el mouse, y depende del host para realizar varias funciones de administración del bus USB.

Algunos ARM de gama alta pueden actuar como hosts USB.
Sí, pero los convertidores USB/RS-232 comerciales no funcionarán de esa manera.

Deshazte del Arduino y usa una MCU con modo host o USB OTG (On The Go). No costará mucho (yo usaría un PIC24FJ256GB110 con USB OTG), pero desarrollar el software requerirá mucho trabajo, aunque Microchip tiene una pila de software USB gratuita:

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en531089

¿No es posible programar un arduino para que actúe como un host USB?
Podría ser posible con un código inteligente escrito en ensamblador, pero no podría hacer nada más, como hacer algo con los datos.
Supongo que oxakhil se refería al escudo de host, que tiene un IC de host USB MAX3421E. Con el puerto USB-B original, sí, lo vas a pasar mal.
El problema de usar un PIC solo y la pila de Microchip es que no admiten concentradores, por lo que no son una buena solución para varios ratones USB conectados a un microcontrolador. Sin embargo, se puede usar un chip host USB externo y un concentrador, por ejemplo, Maxim 3421E y TI TUSB2046B, que he usado juntos con éxito.
el avrusb hizo un bit de host usb, solo funcionó para dispositivos de baja velocidad,

Debe recoger el protector de host USB . Tiene un chip controlador de host USB y viene con un software de soporte que le permitirá hablar con su mouse.

Si está buscando conectar un mouse, teclado u otro HID USB, consulte este sitio web: https://www.circuitsathome.com/communicating-arduino-with-hid-devices-part-1

Por lo general, es una buena idea dar un resumen de un enlace si desea crear una respuesta (porque el contenido del enlace puede desaparecer, lo que hace que la respuesta sea bastante inútil). Si solo desea volcar el enlace, ¡siempre puede hacerlo en un comentario!

Si puede encontrar un convertidor USB a rs232 que convierta la entrada del dispositivo USB en una salida rs232, ¡entonces sí! desafortunadamente, ese tipo de dispositivo cuesta $ 100 o más, sin incluir el tiempo dedicado a buscarlo. está mejor con un microcontrolador de 32 bits barato que ejecuta una pila USB o un sistema operativo completo.