Arduino wifiモジュールのESP8266でラジコン業界でよく使われるPPM値を読みたいと思い、 このコードを作成しました。
ソースコードは以下で公開しています。(MITライセンス)
目次
概要
Arduino wifiモジュールのESP8266でラジコン業界でよく使われるPPM値を読みたいと思い、 このコードを作成しました。
必要なこと
必要なデバイス
PPM signal 発生装置
PPMを発生させるデバイスはたくさんあると思います。 私は、FrSky 8CH PWM PPM SBUS Micro Receiverを使用しました。 これは受信機なので、別途送信機(FrSky DHT DFT DJTなど)が必要となります。
Arduino wifi module(ESP8266)
日本での購入なら、以下のボード上で動作します。
- 電子太郎 ESP-WROOM-02開発ボード 2.4 GHz Wi-Fiモジュール MicroUSB
- ESP-WROOM-02開発ボード
- ESPr Developer(ESP-WROOM-02開発ボード)
その他の部品
部品 | 型番 | 個数 |
---|---|---|
ジャンパーピン(はんだ付け-メス) | - | 3 |
インストールが必要なソフトウェア
Arduino IDE
開発用のPCにArduino IDEをインストールします。
https://www.arduino.cc/en/Main/Software
(tool) ESP8266 core for Arduino
Arduino IDEのデフォルト設定では、ESP8266ボードはサポートされていません。 そのため、ESP8266 core for ArduinoをArduino IDEにインポートする必要があります。
ESP8266 core for Arduino
使い方
- 以下のように回路を組みます。
outputのピンは変更可能です。プログラム内のPPM_READE_PINの定義値を変更してください。
- Arduino IDEに"インストールが必要なソフトウェア"をインストールします。
インストールが必要なソフトウェアは「インストールが必要なソフトウェア」の章を参照ください。
- PPM信号の仕様を確認(UP pulse, DOWN pulse)
PPM信号には以下の2パターンがあるので、どちらかを確認します。
ppm_pulse_check_by_serial_plotter.ino を書き込めば、シリアルプロッタでパルスを表示できます。
PPM信号の種類が分かったら、プログラム内のTYPE_OF_PULSE_IS_RISINGの定義値を変更してください。
- Arduino IDEでESP8266基板に本コードを書き込みます。
書き込むコードは「ESP8266_ppm_reader.ino」です。
パラメータは以下です。ご自分の環境に合わせて適宜変更してください。
パラメータ | 説明 | デフォルト値 |
---|---|---|
CPU_MHZ | ESP8266のCPU周波数。ご自分の環境に合わせて設定してください。 | 160 |
PPM_READE_PIN | 受信機と接続するESP8266側のGPIOピン番号 | 5 |
TYPE_OF_PULSE_IS_RISING | パルスの向きを指定(true = UP pulse, false = DOWN pulse) | false |
- ESP8266基板の電源を入れれば、シリアルモニタでPPM値が表示されます。
関連情報
以上!
コメント