Como construir uma interface para um dispositivo USB que permita a interface de potes, cones lineares / log e interruptores momentâneos / alternados para um computador?
Se alguém pudesse me dar uma descrição de alto nível, eu agradeceria. Posso ler folhas de especificações, portanto, entender detalhes não é um problema, desde que eu saiba onde encontrá-las.
Eu usaria uma placa de microcontrolador como um Arduino. Você lê o ADC e as E / S digitais e envia caracteres ASCII para o PC usando a conexão UART-> USB.
A quantidade de hardware externo necessário depende da precisão necessária. Eu acho que para a maioria das aplicações o hardware interno do microcontrolador seria suficiente. Eu rejeitaria os switches no hardware.
Para a interface USB, basta escrever um analisador simples para que você possa consultar as leituras. Por exemplo, se o PC enviou a sequência "A00?" o uC pode enviar de volta a leitura no canal analógico 0. "D00?" o uC pode enviar de volta o estado da entrada digital 0. Para alterar uma saída digital, talvez algo como "D00 = 1" ou "D00 = 0". Estas são cadeias curtas de comprimento fixo. Deve ser muito fácil de analisar.
fonte
Eu gosto de usar o Arduinos, eles são simples de programar e você pode facilmente enviar dados para o seu computador a partir de várias entradas através da conexão USB integrada. Os dados podem ser enviados para o Serial Monitor dos ambientes de programação do Arduino - que é útil para depuração.
Em seguida, uso um programa como o Pure Data (PD) ou o Max MSP para receber os dados seriais. Os dados podem ser enviados a partir desses programas em todos os tipos de formatos úteis. Porque é simples o suficiente fazer qualquer tipo de curva ou escala de log no software - você não precisa se preocupar em comprar potes de log caros ou usar valores difíceis de encontrar - basta comprar um lote de trabalhos com o mesmo valor e se preocupar com o detalhes mais tarde (normalmente 1K ou 10K é fácil de obter).
Este é grátis: http://puredata.info/
Este é o pago pela versão ostentosa, mas tem uma boa demonstração: http://cycling74.com/downloads/
fonte
Obtenha um Arduino
Obtenha um DangerShield .
Escreva um código para enviar os dados do sensor DangerShield para o PC via RS-232 via conexão USB.
Escreva um aplicativo personalizado como o VB.NET ou algo assim para converter dados em algo útil no PC, como mensagens da janela Win32 ou algo assim.
fonte
Eu sugeriria usar PoKeys . É muito fácil adicionar 55 E / S digitais, 7 entradas analógicas (12 bits), saídas PWM e muito mais. Ele pode até mesmo ser combinado com algo como isso .
fonte
Eu iria com um Arduino ou um Sanguino, como a maioria das pessoas sugeria. Basta pesquisar no google para eles. Eles são extremamente fáceis de usar e você pode começar a operar em algumas horas depois de ter todos os componentes necessários.
fonte
Dê uma olhada nos projetos baseados no ObDev V-USB AVR: http://www.obdev.at/products/vusb/prjhid.html . Eu acho que esse pode ser exatamente o que você está procurando: http://www.fredrikolofsson.com/pages/hardware.html .
fonte
Se você só precisa de botões, consulte o YoctoKnob: http://www.yoctopuce.com/EN/products/yocto-knob
fonte
Uma alternativa que pode ou não se adequar é comprar joysticks / joypads analógicos disponíveis no mercado (a partir de $ fckall no ebay china ou na loja de jogos) e substituir seus componentes de entrada analógica pelos seus, ou apenas retirar o PCB principal e transplantar no seu hardware.
Você precisará corresponder a algumas das características elétricas, mas o trabalho duro de codificação / comunicação USB etc. é feito para você e, geralmente, os protocolos de comunicação / mapeamento de entrada são bem conhecidos.
Os knock-offs chineses de controladores USB do estilo PlayStation etc. podem ser adquiridos por alguns dólares, muito abaixo do preço das placas amadoras * duino IO etc. e baratos o suficiente para serem descartáveis quando você explode o primeiro ou os dois primeiros.
fonte
O GamepadBlock utiliza um ATmega32U2 junto com o LUFA para implementar um dispositivo USB HID de velocidade total para pesquisar vários controladores de jogos originais. O ATmega possui uma interface USB de hardware e foi fácil começar, pois o LUFA fornece vários projetos de demonstração.
fonte