¿Cómo se hace para construir una interfaz para un dispositivo USB que permita la conexión de macetas, conos lineales / de registro y conmutadores momentáneos / de palanca a una computadora?
Si alguien pudiera darme una descripción de alto nivel, se lo agradecería. Puedo leer las hojas de especificaciones, por lo que comprender los detalles no es un problema siempre que sepa dónde encontrar las hojas.
Usaría una placa de microcontrolador como un Arduino. Usted lee el ADC y la E / S digital y envía caracteres ASCII a la PC usando la conexión UART-> USB.
La cantidad de hardware externo que necesita depende de la precisión que requiera. Creo que para la mayoría de las aplicaciones el hardware interno del microcontrolador sería suficiente. Quitaría los interruptores en el hardware.
Para la interfaz USB simplemente escriba un analizador simplemente para que pueda consultar las lecturas. Por ejemplo, si la PC envió la cadena "A00?" el uC podría devolver la lectura en el canal analógico 0. "D00?" el uC podría devolver el estado de la entrada digital 0. Para cambiar una salida digital, tal vez algo como "D00 = 1" o "D00 = 0". Estas son cadenas cortas en una longitud fija. Debería ser muy fácil de analizar.
fuente
Me gusta usar Arduinos, son fáciles de programar y puedes enviar fácilmente datos a tu computadora desde las diferentes entradas a través de la conexión USB integrada. Los datos se pueden enviar al monitor de serie de entornos de programación Arduino, que es útil para la depuración.
Luego uso un programa como Pure Data (PD) o Max MSP para recibir los datos en serie. Los datos se pueden enviar desde estos programas en todo tipo de formatos útiles. Porque es lo suficientemente simple como para hacer cualquier tipo de curvas de registro o escalado en el software: no tiene que preocuparse por comprar costosos botes de registro o usar valores difíciles de encontrar, solo compre un lote de trabajo del mismo valor y preocúpese por el detalles más tarde (1K o 10K normalmente es fácil de obtener).
Este es gratis: http://puredata.info/
Esta es la versión pagada por elegante, pero tiene una buena demostración: http://cycling74.com/downloads/
fuente
Consigue un Arduino
Consigue un DangerShield .
Escriba el código para enviar datos del sensor DangerShield a la PC a través de RS-232 a través de una conexión USB.
Escriba aplicaciones personalizadas como VB.NET o algo para traducir datos en algo útil para PC, como mensajes de ventana de Win32 o algo así.
fuente
Sugeriría usar PoKeys . Muy fácil agregar 55 E / S digitales, 7 entradas analógicas (12 bits), salidas PWM y más. Incluso se puede combinar con algo como esto .
fuente
Iría con un Arduino o un Sanguino como la mayoría de la gente sugirió. Solo google para ellos. Son extremadamente fáciles de usar y puede estar en funcionamiento en unas pocas horas una vez que tenga todos los componentes necesarios.
fuente
Eche un vistazo a los proyectos basados en ObDev V-USB AVR: http://www.obdev.at/products/vusb/prjhid.html . Creo que este podría ser justo lo que estás buscando: http://www.fredrikolofsson.com/pages/hardware.html .
fuente
Si solo necesita botones, consulte YoctoKnob: http://www.yoctopuce.com/EN/products/yocto-knob
fuente
Una alternativa que puede o no ser adecuada es comprar joysticks / joypads analógicos disponibles comercialmente (desde $ fckall en ebay china, o en la tienda de juegos) y reemplazar sus componentes de entrada analógica con los suyos, o simplemente extraer el PCB principal y trasplantarlo en tu hardware.
Tendrá que hacer coincidir algunas de las características eléctricas, pero el arduo trabajo de codificación / comunicaciones USB, etc., se hace por usted y, por lo general, los protocolos de comunicaciones / mapeo de entrada son bien conocidos.
Las imitaciones chinas de los controladores USB de estilo PlayStation, etc., se pueden obtener por unos pocos dólares, que está muy por debajo del precio de las placas hobbyist * duino IO, etc.
fuente
Los GamepadBlock hace uso de un ATmega32U2 junto con LUFA para implementar un dispositivo USB de velocidad completa HID para sondear varios controladores de juegos originales. El ATmega tiene una interfaz USB de hardware y comenzar fue fácil ya que LUFA ofrece varios proyectos de demostración.
fuente