シリアルポートを使用したセンサーとC#アプリケーション間の通信にArduinoを使用しています。USBポートからForceSensitiveResistor-Squareなどのデジタルコンポーネントに直接アクセスする可能性はありますか?
そのためのドライバーを作成する必要がありますか?
例として、半概略図を描きました。
アナログセンサーはデジタルバスであるため、USB経由で直接読み取る方法はありません。アナログ信号をデジタルに変換し、バスを介して適切に通信するには、何らかの処理が必要です。
力に敏感な抵抗器の外観から、これはアナログコンポーネントです。抵抗と静電容量は、センサーに加えられた力によって変化します。FSRインストールガイドドキュメントを確認すると、16ページから始まる推奨される電気的インターフェースがあります。
最初の回路をお勧めします。VoutをArduinoのアナログ入力に接続します。そこから、ADCカウントから電圧に変換し、Arduinoのルックアップテーブル関数を使用して、図9に従って電圧から力に変換する必要があります。この時点で、センサーに適用される力を含む変数があります。ここから、他の値と同じように、USBシリアルバスを介して値を送信できます。次に、C#アプリケーションはシリアルデータを読み取り、値を解析する必要があります。
センサーから情報をサンプリングするには、仲介者が必要です。ArduinoはFTDIチップを使用してUART(シリアル)をUSBに変換します。この接続を介してデータを読み取る場合は、SerialoverUSBインターフェースを介してデータを読み取ることになります。私の推奨は、Arduinoまたは他のマイクロコントローラーの使用に固執することです。
(Serial over USBコンバーターではなく)直接USB経由で読むことに本当に熱心な場合は、StellarisLaunchpadやAtmega32U4AKAArduinoLenardoなどのUSBをサポートするデバイスに何らかのプロトコルを実装する必要があります。また、このUSBデバイスとの通信方法を説明するドライバーを作成する必要があります。キーボードやシリアルポートなどの既知のデバイスとして実装できなかった場合を除きます(はい、そこで完全に一周しました)。
つまり、センサーからのアナログ(またはデジタル)値をOSがネイティブに理解できるものに変換するチップはまだ作成されていません。USBはIPによく似たプロトコルであるため、目立たないデバイスを使用することはできません。USBスタックを備えたマイクロコントローラーを使用する必要があります。
繰り返しになりますが、私のアドバイスは、既存のシリアル(USB経由)ポートを介してUSB経由でセンサー値を渡すことです。これは非常に簡単で、Arduino全体がなくても簡単に再現できます。