ノブ、スライダー、スイッチを備えたUSBコントローラーを構築する方法


34

ポット、リニア/ログテーパー、モーメンタリー/トグルスイッチをコンピューターに接続できるUSBデバイスのインターフェイスをどのように構築しますか?

誰かが私に高レベルの説明を与えることができれば、私はそれを感謝します。スペックシートを読むことができるので、シートの場所を知っている限り、詳細を理解することは問題になりません。

回答:


29

Teensyボードの1つを使用します。これらは、USBをサポートするArduinoのようなマイクロコントローラボードです。Arduinoとは異なり、PCには任意の種類のUSBデバイスのように見えます。つまり、独自のカスタムUSBキーボード、ジョイスティック、MIDIデバイスなどを作成し、PCに標準ドライバーを使用させることができます。

TeensyはArduino IDEをサポートしています。または、Cでプログラミングし、LUFA(USBサポート用)を直接使用できます。

役立つプロジェクトリンクを次に示します。


10
このタイプのアプリケーションでは、HIDのふりをすることをお勧めします。すでに記述されているドライバーは、マウスまたは同様のデバイスをエミュレートするだけです。
-Kortuk

1
ジョイスティックの+ 1、mcuボードを構築する必要さえありません。アナログ軸を備えた壊れたジョイスティックから回復したボードも同様に動作します
...-peufeu

6

Arduinoのようなマイクロコントローラーボードを使用します。ADCとデジタルI / Oを読み取り、UART-> USB接続を使用してASCII文字をPCに送信します。

必要な外部ハードウェアの量は、必要な精度によって異なります。ほとんどのアプリケーションでは、マイクロコントローラー内部のハードウェアで十分だと思います。ハードウェアでスイッチをデバウンスします。

USBインターフェースの場合は、読み取り値を照会できるように単純なパーサーを作成するだけです。たとえば、PCが文字列「A00?」を送信した場合 uCは読み取り値をアナログチャネル0に送り返すことができます。「D00?」uCはデジタル入力0の状態を送り返すことができます。デジタル出力を変更するには、「D00 = 1」または「D00 = 0」のようなものを使用します。これらは固定長の短い文字列です。非常に簡単に解析できるはずです。


4

私はArduinosを使用するのが好きです。それらはプログラムが簡単で、オンボードUSB接続を介してさまざまな入力からコンピューターにデータを簡単に送信できます。データはArduinoプログラミング環境のシリアルモニターに送信できます。これはデバッグに役立ちます。

次に、Pure Data(PD)やMax MSPなどのプログラムを使用して、シリアルデータを受信します。これらのプログラムから、あらゆる種類の便利な形式でデータを送信できます。というのも、ソフトウェアであらゆる種類のログカーブやスケーリングを実行するのは十分に簡単だからです。高価なログポットを購入したり、値を見つけるのが難しいのを心配する必要はありません。詳細(1Kまたは10Kは通常簡単に取得できます)。

これは無料です:http : //puredata.info/

これは洗練されたバージョンの有料ですが、良いデモがあります:http : //cycling74.com/downloads/


4

Arduinoを入手する

DangerShieldを入手してください

DangerShieldセンサーデータをUSB接続経由でRS-232経由でPCに送信するコードを記述します。

VB.NETなどのカスタムアプリを作成し、Win32ウィンドウメッセージなどのデータをPCで役立つものに変換します。


3

PoKeysを使用することを勧めします。55個のデジタルI / O、7個のアナログ入力(12ビット)、PWM出力などを簡単に追加できます。このようなものと組み合わせることができます。


2

ほとんどの人が示唆したように、私はArduinoまたはSanguinoを使います。彼らのためだけにグーグル。これらは非常に使いやすく、必要なコンポーネントがすべて揃ったら数時間で稼働できます。


2
「ちょうど彼らのためにグーグル」は、ここの周りの答えとして受け入れられません。ここに詳細を記入してください。
-stevenvh



1

別の方法としては、市販のアナログジョイスティック/ジョイパッド(ebay chinaの$ fckall、またはゲームストアから)を購入し、アナログ入力コンポーネントを独自のものに置き換えるか、メインPCBをリッピングして移植することです。ハードウェアに。

電気的特性のいくつかを一致させる必要がありますが、コーディング/ USB通信などのハードワークはあなたのために行われ、通常通信プロトコル/入力マッピングはよく知られています。

プレイステーションスタイルのUSBコントローラーなどの中国の模造品は、数ドルで購入できます。これは、趣味の* duino IOボードなどの価格をはるかに下回り、最初の1つまたは2つを爆破すると廃棄できるほど安価です。


0

GamepadBlockは一緒ATmega32U2を使用していますLUFAいくつかのオリジナルのゲームコントローラをポーリングするために、フルスピードUSB HIDデバイスを実装します。ATmegaにはハードウェアUSBインターフェイスがあり、LUFAがいくつかのデモプロジェクトを提供しているため、簡単に開始できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.