工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

フライトシミュレーター用ラダーペダル自作ガイド:ステップバイステップDIY

必要な部品と材料

部品数量備考
Arduino Nano R31アナログ出力用。UNOでも可
Arduino Micro1デジタル出力(Windows 8/10)用
Arduino UNO1アナログ出力用。Nanoでも可
MCP41050 デジタルポテンショメータ(SPI)3
SS49E ホール効果リニアセンサー4AH3503等のリニアタイプなら代用可(スイッチタイプ不可)

プロジェクト概要

2021年更新版

新バージョンはHIDインターフェースを搭載し、設計も改良されました。高精度ホール効果センサーモジュールにより、非常に精密な制御が可能です。 詳細はウェブサイトをご覧ください。

こんにちは、フライトシム愛好家の皆さん! Arduinoをメインに据えたフライトシミュレーター用ラダーペダルを考案・製作しました。この開発を共有したく、詳細な動画も複数用意しました。製作自体は2日程度ですが、文書化に2週間かかりました。

ペダルの製作

Arduinoとフライトシムの接続には2通りあります。

両方式の回路製作とセンサー設定は動画で解説しています。

センサーと電子回路

この設計についてご意見をお聞かせください。コメントお待ちしています。

ソースコード(アナログ出力・デジタルポテンショメータ経由)

#include <SPI.h>
#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_RIGHT A1

int val_left, val_right, remap_left, remap_right, rudder;
int val_brake_left, val_brake_right, remap_brake_left, remap_brake_right;
int tuning_rudder = 128;

void setup() {
  Serial.begin(9600);
  SPI.begin();
  pinMode(CS_RUDDER, OUTPUT);
  pinMode(CS_LEFT, OUTPUT);
  pinMode(CS_RIGHT, OUTPUT);
}

void loop() {
  // ---- ラダーペダル:-128 〜 +127 ----
  val_left = analogRead(SENSOR_RUDDER_LEFT);
  if (val_left <= 950) {
    remap_left = map(val_left, 30, 870, -128, 0);
  } else remap_left = 0;
  if (remap_left > 0) remap_left = 0;
  if (remap_left <= -128) remap_left = -128;

  val_right = analogRead(SENSOR_RUDDER_RIGHT);
  if (val_right <= 950) {
    remap_right = map(val_right, 0, 820, 132, 0);
  } else remap_right = 0;
  if (remap_right < 0) remap_right = 0;
  if (remap_right >= 127) remap_right = 127;

  rudder = 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;

  // ---- デジタルポテンショメータへ送信 ----
  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);
}

回路図

フライトシミュレーター用ラダーペダル自作ガイド:ステップバイステップDIY フライトシミュレーター用ラダーペダル自作ガイド:ステップバイステップDIY フライトシミュレーター用ラダーペダル自作ガイド:ステップバイステップDIY

製造プロセス

  1. Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
  2. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  3. Arduino、Google Cardboard、Bluetoothで作るDIY VRスケートボード
  4. DIY ArduinoラジオニクスEMR治療デバイスの構築
  5. 学校向けスマート体温監視システム: 正確、リアルタイム、安全
  6. Arduino用8ビットI/Oポートライブラリ:デジタル制御を拡張
  7. Arduino 64キー プロトタイピング キーボードマトリックス: シフトレジスタで自作キーボード
  8. Arduino NanoとSG90サーボで作るDIY 2軸モーションレーシングシミュレータ
  9. DCモーター制御の極意:PID制御とPWM出力による速度・方向制御のエキスパートガイド
  10. Arduino Unoで作る低コスト落雷検知器
  11. Arduinoで作るポータブルRFIDドアロック - ステップバイステップガイド