¿Cómo un ratón ps2 envía datos a una computadora? [cerrado]

4

Quiero leer datos de un mouse con la ayuda de Arduino. Quiero calcular el movimiento relativo entre dos objetos. Mis preguntas son

1) ¿Es posible?

2) ¿Cómo se interconecta el mouse con Arduino?

    

2 respuestas

5

Para un mouse USB, la transferencia de datos es muy complicada. En primer lugar, el host (computadora) debe descubrir la presencia del mouse (puede haber sido enchufado en caliente). Luego, el host debe encontrar un controlador de dispositivo, y en el caso de un mouse, este será un controlador genérico HID (Dispositivo de interfaz humana). Finalmente, el host abrirá los puntos finales USB y en realidad transferirá los datos de movimiento del mouse en forma de coordenadas X, Y y bits de botón arriba / abajo.

Esto es algo que es difícil de hacer con un Arduino. Necesitaría obtener un protector de interfaz de host USB y luego escribir un boceto (programa) para manejarlo. Si realmente desea conectar un mouse con un Arduino, puede que le resulte más fácil obtener un mouse PS / 2 (un estándar obsoleto compatible con PC) o un mouse serial (otro estándar obsoleto, visto en todos los tipos de computadoras), o un ratón en cuadratura (una interfaz muy simple que va directamente a los interruptores de botones y sensores de movimiento).

    
respondido por el John Honniball
4

1). ¿Es posible?

Sí, por supuesto. Si su Arduino tiene una interfaz USB (más precisamente la interfaz de un dispositivo USB u OTG), será más fácil.

2). El antiguo PS / 2 y el moderno mouse USB o mouse inalámbrico Bluetooth (también use la interfaz USB). Los dos primeros son más fáciles de implementar en MCU.

El PS / 2 es fácil de implementar, pero está un poco desactualizado. Por lo tanto, puede que desee probar USB. Entonces necesitas un protocolo USB conocido, particularmente un protocolo de clase HID.

Actualización:

Al elegir usar PS / 2, puede ir aquí: enlace , es muy fácil, usted puede implementarlo utilizando solo dos pines, un reloj y un pin de datos.

    
respondido por el diverger

Lea otras preguntas en las etiquetas