Supongo que desea trabajar con los controladores de dispositivos USB existentes en sistemas operativos comunes, por ejemplo. Windows (varios sabores), OS X y Linux. Esto permitiría que un programa que se ejecuta en la PC host abra un archivo y lea el 1
.
Para enviar un 1
reconocido por la PC host, deberá intercambiar varios paquetes de mensajes. No es una simple señal de un bit, o incluso de multibits fija.
En su lugar, el sistema operativo host solicitará suficiente información de su dispositivo de "botón" USB para averiguar qué tipo de dispositivo USB es, e iniciar el controlador de dispositivo correspondiente.
Necesitas entender cómo funciona el USB. Este tutorial sobre USB USB en pocas palabras puede ayudar. Describe el protocolo con suficiente detalle que es comprensible cómo interactuará la PC host con el dispositivo USB.
Para que sea fácil de usar, probablemente implementará un dispositivo HID, que parece un teclado para la PC host. Se puede hacer que la presión del botón se vea exactamente como un teclado 1
. Hay varios proyectos que puedes encontrar buscando en la web. Todos utilizan un microcontrolador para gestionar la interacción bastante compleja con el host.
Un ejemplo, que implementa USB totalmente en software que usa un microcontrolador de bajo costo es V-USB .
Hay varios otros proyectos, algunos que hacen lo que estás describiendo, como Teensy de PJRC , y yo digispark
Hay muchos MCU que incluyen una interfaz USB de hardware. Típicamente cuestan más de 1GBP. Si desea seguir este camino, la mayoría de los fabricantes de la MCU habilitada para USB proporcionan algún tipo de biblioteca, y también es el código abierto Biblioteca USB 'LUFA' .
Resumen : el protocolo USB es tan complejo que necesitará un microcontrolador para implementar cualquier cosa útil. USB no es un simple patrón binario de bits.
Editar:
Este stompbox V-USB parece una solución ajustada, si mis otras suposiciones son correcto. Tiene un solo botón, emula un teclado y está construido en una pieza de stripboard (veroboard) con un ATtiny y algunos componentes.
Puedes usar tu Arduino para hacer un programador ISP AVR. Eso le permitiría cargar el firmware en el ATtiny, por lo que podría ser un proyecto bastante rápido y de bajo costo.