フライトシミュレーター用のDIYラダーペダル
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 4 |
このプロジェクトについて
2021を更新
新しいバージョンのペダルには、HIDインターフェースと改良されたデザインがあります。高度なホール効果センサーモジュールは、非常に正確な制御を提供します。 私のウェブサイトの詳細。
こんにちは、フライトはシマーです!私は航空機シミュレーター用のペダルを発明して作りました。その主な機能はArduinoによって実行されます。そして、私は本当にこの開発をあなたと共有したいと思います。そのようなペダルは2日で作れることがわかりましたが、それらを作るプロセスを説明するのに2週間かかります。そのため、このプロセスを可能な限り詳細に示すビデオをいくつか作成しました。
ペダルを作る
Arduinoは2つの方法でフライトシミュレータに接続できます。 ArduinoJoystickLibraryとArduinoMicroボードを使用したデジタル接続へのリンクはこちら。
ペダルをアナログ接続で接続します。そして、ここに示されているスケッチは、この接続方法を参照しています。
これらの方法、回路の作成、センサーの構成の両方を次のビデオに示します。
センサーと電子機器
このデザインについてのご意見をお待ちしております。コメントを残してください。
コード
- digiPOTを介したアナログ出力
digiPOTを介したアナログ出力 Arduino
#include#define CS_RUDDER 10 #define CS_LEFT 8 #define CS_RIGHT 9 #define SENSOR_LEFT_PEDAL A6#define SENSOR_RIGHT_PEDAL A5#define SENSOR_RUDDER_LEFT A0#define SENSOR_RUDDER_LEFT A0#define SENSOR_RUDDER_RIGHT A1int val_brake_right、remap_brake_left、remap_brake_right; int Tuning_rudder =128; // int Tuning_left_brake =255; // int Tuning_right_brake =255; void setup(){Serial.begin(9600); SPI.begin(); pinMode(CS_RUDDER、OUTPUT); pinMode(CS_LEFT、OUTPUT); pinMode(CS_RIGHT、OUTPUT); } void loop(){// ------------------------------------------ -------------- //ラダーペダル-128 --- x --- 128 // -------------------- ------------------------------------ //センサーの読み取りと再マップRUDDERLEFT val_left =analogRead(SENSOR_RUDDER_LEFT); if(val_left <=950){remap_left =map(val_left、30、870、-128、0); // -40} else remap_left =0; //制限を設定RUDDERLEFT if(remap_left> 0)remap_left =0; if(remap_left <=-128)remap_left =-128; //センサーの読み取りと再マップRUDDERRIGHT val_right =analogRead(SENSOR_RUDDER_RIGHT); if(val_right <=950){remap_right =map(val_right、0、820、132、0); // -50} else remap_right =0; //制限を設定RUDDERRIGHT if(remap_right <0)remap_right =0; if(remap_right> =127)remap_right =127;ラダー=remap_left + remap_right; if(remap_left ==0){tuning_rudder =Tuning_rudder + 128; } else {tuning_rudder =abs(tuning_rudder --128); } // ----------------------------------------------- --------- //ブレーキ// ------------------------------------ -------------------- val_brake_left =analogRead(SENSOR_LEFT_PEDAL); if(val_brake_left <=328){remap_brake_left =map(val_brake_left、200、328、0、255); } else remap_brake_left =255; if(remap_brake_left <0)remap_brake_left =0; val_brake_right =analogRead(SENSOR_RIGHT_PEDAL); if(val_brake_right <=328){remap_brake_right =map(val_brake_right、200、328、0、255); } else remap_brake_right =255; if(remap_brake_right <0)remap_brake_right =0; / * // ARDUINO SETUP //ニュートラルセンサーのセットアップSerial.print(val_left); Serial.print( "|"); Serial.println(val_right); delay(400); //出力設定Serial.print(remap_brake_left); Serial.print( "|"); Serial.println(remap_brake_right); Serial.print( "|"); Serial.print(ラダー); Serial.print( "|"); Serial.println(tuning_rudder); delay(400); * / // ----------------------------------------- --------------- // digiPOTにデータを送信します// --------------------------- ----------------------------- digitalWrite(CS_RUDDER、LOW); SPI.transfer(0b00010001); SPI.transfer(tuning_rudder); digitalWrite(CS_RUDDER、HIGH); delay(5); //データ時間平滑化の遅延digitalWrite(CS_LEFT、LOW); SPI.transfer(0b00010001); SPI.transfer(remap_brake_left); digitalWrite(CS_LEFT、HIGH); delay(5); digitalWrite(CS_RIGHT、LOW); SPI.transfer(0b00010001); SPI.transfer(remap_brake_right); digitalWrite(CS_RIGHT、HIGH); delay(5);}
回路図
製造プロセス