Solución:
Usaría uno de los tableros Teensy. Estas son placas de microcontroladores similares a Arduino que tienen soporte USB. A diferencia del Arduino, pueden aparecer en una PC como cualquier tipo de dispositivo USB. Esto significa que puede crear su propio teclado USB personalizado, joystick, dispositivo MIDI, etc. y hacer que la PC utilice controladores estándar.
El Teensy es compatible con Arduino IDE, o puede programar en C y usar LUFA (para compatibilidad con USB) directamente.
Aquí hay algunos enlaces de proyectos para ayudar.
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 necesite. Creo que para la mayoría de las aplicaciones, el hardware interno del microcontrolador sería suficiente. Eliminaría los rebotes de los interruptores en el hardware.
Para la interfaz USB, simplemente escriba un analizador simple 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”. Se trata de cuerdas cortas de longitud fija. Debería ser muy fácil de analizar.
Me gusta usar Arduinos, son fáciles de programar y puedes enviar datos fácilmente a tu computadora desde las diversas entradas a través de la conexión USB integrada. Los datos se pueden enviar a los entornos de programación de Arduino Serial Monitor, 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 ollas de registro costosas o usar valores difíciles de encontrar, simplemente compre un lote de trabajo del mismo valor y preocúpese por el más adelante (1K o 10K es normalmente fácil de conseguir).
Este es gratis: http://puredata.info/
Esta es la versión elegante de pago, pero tiene una buena demostración: http://cycling74.com/downloads/