15

ノブ、ボタン、LEDを備えた物理コントローラー(デバイス?)を作ることを考えています。Javaを使用して操作したい(ノブに応答したり、LEDを点灯したりするなど)。私がJavaについて言及する理由は2つあります。まず、Javaをよく知っています1。次に、Javaでインターフェースする必要のある残りのプログラムを作成しました(ただし、別の言語からJavaプログラムと通信する方法はあります)。

デバイスをUSB経由で接続し、(コンピューター)プラットフォームに依存しないようにしたいと思います。

ArduinoのWebサイトを読み始める以外は、どこから始めればよいのか、少しもわかりません。これは私の最良/唯一のオプションですか?Javaとの通信に適したものはありますか?

注: ArduinoがJavaと関係があることは知っていますが(何がわからないのか)、コードはCのサブセットで記述しなければならないようです。

このトピックをどのように進めますか?


1-笑わないでください。

4

6 に答える 6

7

Arduino 開発環境は Java で書かれています。

しかし、Arduino プラットフォーム用のプログラムを作成する標準言語は事実上 C++ です。

Arduino プラットフォームは、Atmel AVR チップに基づいています。AVR チップ用の Java VM が少なくとも 1 つあります。Forthや BASICなど、AVR で使用できる言語は他にもあります(ただし、商用バージョンしか見つけられなかったので、それらを見つけたい場合は、「AVR BASIC」で検索してください)。

Arduino は仮想 COM ポートを使用して、ホスト コンピューターとの間で通信します。仮想 COM ポートは古いスタイルのシリアル ラインをエミュレートしますが、USB で行われます。Java 通信 APIを使用して、ホスト コンピュータで実行されている Java プログラムを物理デバイスと通信させることができます。

于 2010-01-29T01:21:56.233 に答える
4

一部のエンコーダーとボタンでは、おそらく USB HID デバイスを実装する必要があります。2 枚以上生産する場合は、カスタム ボードを作成することをお勧めします。Atmel マイクロコントローラーを使用して USB HID デバイスを作成するためのオープンソース ライブラリであるV-USBを確認してください。このライブラリを使用するプロジェクトの例がたくさんあります。

エンコーダーを使用して X/Y 軸情報を生成し、ボタンをボタンのように動作させることで、おそらくこれを HID ジョイスティックのように見せることができます。標準の Java ゲーム API を使用して、ジョイスティックの値を読み取ることができます。

于 2010-02-01T21:14:28.937 に答える
1

カスタム デバイスの必要性を拡張できますか? ハードウェアの設計には非常に高い参入障壁があり、私が考えることができるほとんどのアプリケーションは、既存のゲーム コントローラー ハードウェアを再利用することで解決できるように思えます。新しいハードウェアが本当に必要な場合は、「USB 開発キット」または「USB 開発ボード」をグーグルで検索することから始めることを勧めします

JavaからUSBハードウェアを操作することに関しては、JUSBライブラリを少しいじってみましたが、有望に見えますが、ライブラリの半分のネイティブライブラリのWindowsバージョンが作成されていないため、Linuxのみに限定されているようです. 代替手段は、「HID Java」をグーグル検索することで見つけることができます。

于 2010-01-29T02:54:21.567 に答える
0

シリアルポートについては、それと対話するために存在するライブラリ(rs232ライブラリ)があったことを私は知っています。JavaとUSBをグーグルで検索すると、いくつかの回答が返されました(最初の回答はjUSBと呼ばれていました)。それが私が探している最初のタイプのものでしょう。

于 2010-01-29T01:27:18.890 に答える
0

フリースケール マイクロコントローラへの Java USB 接続のサンプル:

http://javausbapi.blogspot.com/

于 2010-05-22T13:27:31.173 に答える
0

わかりました、コンピュータープラットフォームに依存しませんか? どのプラットフォームをターゲットにしていますか? それは、そのプラットフォームのドライバーとサポートに依存しますが、usb デバイスは何をしますか? それは大容量記憶装置ですか...デバイスと通信できるデバイスドライバーを見つけることができるかどうか、周りを見回す必要があるかもしれません...

これがお役に立てば幸いです。よろしくお願いします、トム。

于 2010-01-29T01:25:06.310 に答える