DIY


> Top - DIY

夏休みの自由研究に余裕で間にあう。
最高にシンプルなマシンを作ってみませんか?  

構想

DIY
FSX用。
Arduinoにロータリーエンコーダを1つ繋げる。
グリグリ回すとFS上のヘディングバグが動く。

kooが用意できるもの

PC上で動く「通信プログラム」。FSUIPCとArduino間のデータ受け渡しを行うプログラムです。
実行ファイル(exeファイル)をお渡しします。
 
Arduino上で動く「RE入力プログラム」。こちらはプログラムのソースファイルをお渡ししますので自身のArduino開発環境でコンパイルしてください。
プログラムの中身は、1個のロータリーエンコーダ入力を受け、ヘディングバグ(0~359)を変更してPCへ送信するだけの簡単なプログラムです。

モノの準備

ArduinoUNO 1台
USBケーブルA-B
ロータリーエンコーダ 1個      例:【EC12E2420801】12形絶縁軸エンコーダ(クリック:24)
ロータリーエンコーダ用のノブ 1個  例: K-100-16RS-B
ピンヘッダ オス 2.54mmピッチ 1列
配線 細いケーブルを3本、50cm程度
熱収縮チューブ 2mm径 1本
 
!!注意!! ロータリーエンコーダには種類があります。可能な限り↑で指定した製品を使ってください。
他の製品を使用した場合はプログラムを修正する必要があるかもしれません。
 

使う工具

ニッパー
カッター
はんだごて
はんだ
6角レンチ 1.5mm
ライターなど

PCの準備

ソフトウェアの確認

以下のソフトが動作することを確認してから下に進んでください。
・Microsoft FSX
・Peter Dowson FSUIPC4
 

VC++のランタイム導入

通信プログラムはMS社のVisualC++で作成されています。
プログラムを実行する場合は以下の「再頒布可能パッケージ」をインストールしておく必要があります。
使用しているOS(32bitか64bit)にあわせてダウンロードし、インストールを行ってください。
 
32bitはここから
64bitはここから
 

Arduino開発環境の準備

Arduinoの開発環境ここからをダウンロードしてインストールします。
開発環境にてサンプルプログラム(Blinkなど)をArduinoに書き込み、正常に動作することを確認しておきます。

通信プログラムの導入

お渡ししたzipファイルを解凍します。
以下のファイル構成になっていると思います。
 

\arduino
  vivaola_diy.pde
\bin
  ApPanel.exe
\windows
  ApPanel.ini
\doc
  (各種資料)
 

使用するComポートの確認とiniファイル設定

  1. マイコンピュータを右クリック>管理>デバイズマネージャ>ポート(COMとLPT)
     "USB Serial Port(COM ?)" ←番号をメモ
     
  2. \bin\ApPanel.iniをC:\windowsフォルダへコピー
     
  3. コピーしたc:\windows\ApPanel.iniをメモ帳などで開き、
     "ComPort=3"の数値を↑でメモった数値に書き換える。
     
  4. 保存してメモ帳を終了。

通信プログラムの配置

ApPanel.exeを適当なフォルダにコピーします。
毎回このexeを実行することになりますので、ショートカットを作っておくと良いかもしれません。

通信プログラムの動作確認

  1. FSXを起動します。
     
  2. ApPanel.exeを起動します。
     
  3. 「9」キーを押してデバッグモードにします。(9はIとOの上の9です。テンキーの9ではありません)
      FSXのMCPの値(速度や高度)が画面に表示されます。 異常の場合は値が全て0になります。

REプログラムのコンパイル

お渡ししたzipファイル内のArduinoフォルダに入っているスケッチファイルを開きます。
vivaola_diy.pdeをダブルクリックするとArduinoの開発ソフトが起動します。
 
上部メニューから、Sketch>Verify/Compileを実行します。
エラーなくコンパイルが終了するはずです。まずはここまで。
 

ハードウェア作成編

DIY
ロータリーエンコーダの配線
 
Hw
ケーブルの両端にロータリーエンコーダとピンヘッダを半田付けします。
ロータリーエンコーダの真ん中の端子にピンヘッダ1本を、左右の端子にピンヘッダ2本を付けます。
作業の内容はこちら
 
 
Hw
配線が終わったらArduinoに接続します。

動作確認

(まだ書いていません)

チェックポイント

FSX,FSUIPCの正常動作 → FSUIPCを使用するソフトなどで確認。
Arduino基本動作 → サンプルプログラムBlinkを書き込み、ArduinoのLEDが点滅するか確認。
通信プログラム(ダウンロード) → 仮想シリアルポートのポート番号を確認。ApPanel.exeのデバッグモード(9押下)でFSXから値を受け取っているか確認。
通信プログラム(アップロード) → ApPanel.exeをデバッグモード(9押下)にしたのち、REを回転させる。ApPanel.exeの画面上にUPLOADの行が表示されるか確認。
Arduino vivaolaDIYプログラムの動作 → REを回すとLED(13番ポートのLED)が点滅する。しない場合はプログラムが正常に書き込まれているか、またはREの接続が正しいか確認。
REの回転方向が逆 → REの配線を変える。2番ポートと3番ポートに刺さっている線を反対にする。
 

拡張は自由に

PCで動く通信プログラムは3号機と同じものです。
MCPと無線関係の値を全てArduinoに送信しています。Arduinoのプログラムを拡張すればヘディングだけではなく、速度、高度や無線周波数にも対応できます。
ここからは各自でお試しください。

データレイアウト

byte目,項目名,フォーマット,値の例
 
(まだ書いていません)

 

戻る

©2012 koo エフエスビバオーラ