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

FlightGear用アナログトリムタブホイールをArduino Nanoで自作 ─ Python経由でUDP連携

必要な部品と材料

部品数量備考
Arduino Nano R3 (または互換ボード)1
ロータリーポテンショメーター (10kΩ推奨)1トリムホイール操作用
電解コンデンサー 100µF1電源安定化用
Adafruit SSD1306 0.96インチ OLED (128×64, I2C)1トリム位置表示用
ジャンパーワイヤー1セット

必要なソフトウェア環境

Anaconda使用時のライブラリインストール:

conda install -c anaconda pyserial

プロジェクト概要

FlightGear用アナログトリムタブホイールをArduino Nanoで自作 ─ Python経由でUDP連携

フライトシミュレーター「FlightGear」で航空機のエレベータートリムタブをアナログ操作するためのコンパクトなハードウェアコントローラーを自作します。Arduinoから直接FlightGearへシリアル通信でコマンドを送ることはできず、Pythonスクリプトを介してUDPパケットに変換して送信するワークアラウンドが必要です。

トリムホイールとは?

トリムタブ(補助翼)の偏向角を調整し、パイロットが操縦桿を保持しなくても一定のピッチ姿勢を維持できるようにする装置です。実機ではコックピットにホイールやレバーとして設置されています。

FlightGear用アナログトリムタブホイールをArduino Nanoで自作 ─ Python経由でUDP連携

システム構成(3つのスクリプト)

  1. Arduinoスケッチ:ポテンショメーター値を読み取り、シリアル出力。OLEDにゲージ表示
  2. Pythonスクリプト:シリアル受信 → UDPパケット化 → FlightGearへ送信
  3. XMLプロトコルファイル:FlightGear側の汎用プロトコル定義(<FlightGearRoot>/data/protocol/ に配置)

Arduinoスケッチのポイント

Pythonスクリプトの設定

host = "localhost"  # または 127.0.0.1
port = 21567        # 任意の未使用ポート
tty = "COM4"        # Arduino接続ポート (Arduino IDEで確認)

実行:python c:\path\to\arduinoElevatorTrim.py

注意:Arduinoシリアルモニタ使用後は、ボードを一度抜き差ししてからPythonスクリプトを実行してください。

FlightGear起動オプション

起動時(コマンドラインまたはランチャー)に以下を追加(スペースなし):

--generic=socket,in,30,localhost,21567,udp,arduinoElevatorTrim

意味:ソケット経由で入力、30Hz、localhost:21567、UDP、プロトコル定義はarduinoElevatorTrim.xml

リポジトリ

全ファイルはGitHubで公開:
https://github.com/dciliberti/arduinoElevatorTrimOLED

製造プロセス

  1. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  2. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  3. アナログ風LED POVクロック – Arduino Nanoで作る残像時計
  4. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  5. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  6. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  7. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
  8. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  9. ArduinoとTEA5767で作る高性能FMラジオ受信機
  10. Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き
  11. Arduino RGBカラーミキサーの製作 - ステップバイステップチュートリアル