Controlador usb de 4 entradas(por el momento)


#1

Holaa, no soy electrónico especializado pero he tratado de investigar sobre aquello, quisiera saber quién pueda ayudarme con algún documento o pdf q me indique como elaborar un controlador usb pero solo de botones para que lo pueda leer una pc ya sea windows o linux cualquier sistema operativo, quisiera hacerlo desde 0 con todo y la programación Del microcontrolador


#2

Puff!, Tu pregunta es muy genérica y no entiendo bien eso de “desde cero”.
En todo caso, “desde cero” es trabajo de chinos!, vamos, que puedes hacerlo desde cero, cero, con toda la información en www.usb.org: protocolos, etc. Pero, a diferencia del RS232, necesitar tener un ID para tu dispositivo y un ID como “vendor”, y para conseguirlo, necesitas una licencia de 3,500 USD (ID de dispositivo) y de 5.000 USD para el vendor ID, además de ello, debes ser miembro de USB-IF (usb.org) … lo que implica una suscripción anual de 4,000 USD.
La otra manera es utilizar los dispositivos que ya existen (innumerables microprocesadores y dispositivos).
Otro modo muy sencillo y que no implica un mayor desembolso de dinero es seguir utilizando el viejo protocolo RS232 con un simple chip como el CH340G, que vale sólo una fracción de euro en aliexpress o poco mas de un euro en ebay, con ello te despreocupas totalmente del protocolo USB y te ocupas únicamente del envío/recepción de datos en RS232…la ventaja es puedes utilizar velocidades de hasta 2MBps, lo que sería USB 1.0-1.1
Complicando un poquito las cosas, si quieres USB2.0/3.0, puedes utilizar un microprocesador de 32 bits que tenga ya el protocolo (utilizas el Vendor ID del fabricante). Un ejemplo sería los PC18xxx, los STM32Fxxx (ARM) y similares.
Subiendo el nivel puedes utilizar la plataforma Raspberry PI y sus primos (BeagleBoneBlack, Orange Pi, etc.) donde ya tienes un sistema operativo (linux, en la mayor parte de los casos) que gestiona el USB.
Si sólo quieres para un proyecto pequeño, quizá te valga sólo con la plataforma Arduino, que tiene librerías para USB.
El protocolo USB “desde cero” no es para principiante, ni siquiera para “intermedios”, sino para usuarios “avanzados” (Empresas y/o desarrollo). Para lo que quieres hacer te bastará con arduino y sus librerías, creo que se necesita un arduino “due”, pero no estoy seguro. Supongo que tendrás que identificar tu sistema como un “HID” (Dispositivo de interface humana, del mismo modo que un teclado o un ratón).
Aquí tienes un tutorial en guiri:
http://mitchtech.net/arduino-usb-hid-keyboard/