interfaz de teclado y mouse

¿Cómo conecto un microcontrolador con PC USB para poder imitar las pulsaciones de teclas y el movimiento del teclado y el mouse? He oído hablar de correcciones de software, pero ¿hay algún IC que pueda imitar las pulsaciones de teclas después de recibir la entrada del microcontrolador?

Dudo que haya un IC listo para usar disponible (excepto por lo obvio: ¡un controlador de teclado, rescatado de un teclado!), Pero puede programar cualquier microcontrolador con capacidad USB para hacer esto.
La opción más simple es un Arduino Leonardo. Lo tiene todo listo para ti.
Si planea usar arduino, lea esto: Bibliotecas de mouse y teclado
¿Hay algún módulo bluetooth que pueda hacer lo mismo?
Esta pregunta anterior podría ayudarlo con Bluetooth: electronics.stackexchange.com/questions/514/…

Respuestas (1)

Un Arduino basado en el ATmega32u4 puede hacer esto, realizando la función tanto del microcontrolador como del emulador de teclado/ratón.

Por ejemplo: Arduino Leonardo, Yun o Arduino Micro.

El Arduino Micro es bueno por su factor de forma.

ingrese la descripción de la imagen aquí

El soporte de la biblioteca para la emulación de teclado y mouse USB está disponible para hacer que un proyecto como el suyo sea muy fácil.

Este fragmento de código abre un nuevo documento emulando CNTRL-N

   // new document:
  Keyboard.press(ctrlKey);
  Keyboard.press('n');
  delay(100);
  Keyboard.releaseAll();
  // wait for new window to open:code
Entonces, ¿cómo funciona exactamente esto? Miré el esquema del Micro y no veo un FTDI ni ningún tipo de convertidor IC USB -> UART. Además, ¿el envío de las pulsaciones de teclas a través de USB desde una PC no requeriría la ejecución de software en el host?
¿Cómo puedo hacer lo mismo sin arduino? Si envío un byte hexadecimal desde arriba, envía la pulsación de tecla correspondiente a la PC. Gracias.
USB es nativo en el ATmega32u4. El firmware debe ejecutarse en el Arduino. El controlador USB KBD/Mouse ya estaría presente en la PC.
Ah, olvidé que algunos de los AVR más nuevos tienen soporte nativo. Esto es realmente algo muy interesante de hacer.
¿Cómo puedo hacer esto con un uso mínimo de software? Ya estoy ejecutando una gran cantidad de código y no puedo dedicar mucho tiempo a mis procesadores. ¿Hay alguna manera de hacer esto? No tengo ni idea en este momento, ¿alguien puede decirme dónde buscar?
@seetharaman: ¿ya ha mirado los enlaces a la biblioteca de teclados que se publicaron ayer? Si todavía es demasiado grande, usar un chip grande probablemente sea lo más efectivo, pero puede considerar usar un chip para USB y otro para su programa. Un Uno con el micro USB reprogramado podría ser una opción, pero probablemente inferior a un dispositivo todo en uno más grande (posible ARM en lugar de AVR)
@ChrisStratton Vi esa biblioteca. Lo estoy pensando como última opción.
@ChrisStratton sparkfun.com/products/10253 . Encontré este enlace y esperaba encontrar un ic o módulo similar para el usb.
Ya se le ha proporcionado un enlace a dicha solución, pero inexplicablemente quiere tratarlo como su "última opción". Hay muy poca diferencia práctica entre un micro enmascarado de fábrica para realizar una función en particular y un micro genérico con software disponible para realizar esa función. La parte serial USB de "función fija" de un proveedor en realidad resultó ser solo uno de sus micros genéricos que se volvió a conectar y flasheó en la fábrica: ¡todavía era reprogramable por el usuario!
@ChrisStratton "La parte de serie USB de" función fija "de un proveedor resultó ser solo uno de sus micros genéricos reinstalados y flasheados en la fábrica, ¡todavía era reprogramable por el usuario!" Pensé que si podía encontrar un ic robusto, entonces no tendría que preocuparme por la parte del teclado... ¿verdad? Ahora decidió ir con una implementación de software. gracias