回答:
Teensyボードの1つを使用します。これらは、USBをサポートするArduinoのようなマイクロコントローラボードです。Arduinoとは異なり、PCには任意の種類のUSBデバイスのように見えます。つまり、独自のカスタムUSBキーボード、ジョイスティック、MIDIデバイスなどを作成し、PCに標準ドライバーを使用させることができます。
TeensyはArduino IDEをサポートしています。または、Cでプログラミングし、LUFA(USBサポート用)を直接使用できます。
役立つプロジェクトリンクを次に示します。
Arduinoのようなマイクロコントローラーボードを使用します。ADCとデジタルI / Oを読み取り、UART-> USB接続を使用してASCII文字をPCに送信します。
必要な外部ハードウェアの量は、必要な精度によって異なります。ほとんどのアプリケーションでは、マイクロコントローラー内部のハードウェアで十分だと思います。ハードウェアでスイッチをデバウンスします。
USBインターフェースの場合は、読み取り値を照会できるように単純なパーサーを作成するだけです。たとえば、PCが文字列「A00?」を送信した場合 uCは読み取り値をアナログチャネル0に送り返すことができます。「D00?」uCはデジタル入力0の状態を送り返すことができます。デジタル出力を変更するには、「D00 = 1」または「D00 = 0」のようなものを使用します。これらは固定長の短い文字列です。非常に簡単に解析できるはずです。
私はArduinosを使用するのが好きです。それらはプログラムが簡単で、オンボードUSB接続を介してさまざまな入力からコンピューターにデータを簡単に送信できます。データはArduinoプログラミング環境のシリアルモニターに送信できます。これはデバッグに役立ちます。
次に、Pure Data(PD)やMax MSPなどのプログラムを使用して、シリアルデータを受信します。これらのプログラムから、あらゆる種類の便利な形式でデータを送信できます。というのも、ソフトウェアであらゆる種類のログカーブやスケーリングを実行するのは十分に簡単だからです。高価なログポットを購入したり、値を見つけるのが難しいのを心配する必要はありません。詳細(1Kまたは10Kは通常簡単に取得できます)。
これは無料です:http : //puredata.info/
これは洗練されたバージョンの有料ですが、良いデモがあります:http : //cycling74.com/downloads/
Arduinoを入手する
DangerShieldを入手してください。
DangerShieldセンサーデータをUSB接続経由でRS-232経由でPCに送信するコードを記述します。
VB.NETなどのカスタムアプリを作成し、Win32ウィンドウメッセージなどのデータをPCで役立つものに変換します。
ほとんどの人が示唆したように、私はArduinoまたはSanguinoを使います。彼らのためだけにグーグル。これらは非常に使いやすく、必要なコンポーネントがすべて揃ったら数時間で稼働できます。
:ObDev V-USBのAVRベースのプロジェクトを見てみましょうhttp://www.obdev.at/products/vusb/prjhid.htmlを。:私はこの1つはあなたが探しているだけで何であるかもしれないと思いhttp://www.fredrikolofsson.com/pages/hardware.html。
ノブが必要な場合は、YoctoKnobをチェックしてください:http : //www.yoctopuce.com/EN/products/yocto-knob
別の方法としては、市販のアナログジョイスティック/ジョイパッド(ebay chinaの$ fckall、またはゲームストアから)を購入し、アナログ入力コンポーネントを独自のものに置き換えるか、メインPCBをリッピングして移植することです。ハードウェアに。
電気的特性のいくつかを一致させる必要がありますが、コーディング/ USB通信などのハードワークはあなたのために行われ、通常通信プロトコル/入力マッピングはよく知られています。
プレイステーションスタイルのUSBコントローラーなどの中国の模造品は、数ドルで購入できます。これは、趣味の* duino IOボードなどの価格をはるかに下回り、最初の1つまたは2つを爆破すると廃棄できるほど安価です。
GamepadBlockは一緒ATmega32U2を使用していますLUFAいくつかのオリジナルのゲームコントローラをポーリングするために、フルスピードUSB HIDデバイスを実装します。ATmegaにはハードウェアUSBインターフェイスがあり、LUFAがいくつかのデモプロジェクトを提供しているため、簡単に開始できます。