« 二つのテンキーボードコントローラー | Main | DSシールド2のパワーオンオフを改造する »

DSシールド2にDC運転機能を追加する

DSair2には、analogDC(PWM)運転機能がありますが、DSシールド2にはないので、スケッチ(プログラム)を改造して機能追加しました。

追加変更したところを 自分の覚え書きで書いておきます。

DSair2 Firmware(R3.1)のDSairFirmware.ino から DSshield2スケッチ(rev.0003)DSshield.inoに下記の部分を追加

追加位置は、DSairFirmware.inoと同じ順序の位置にコードを挿入しました。
行数は、DSairFirmware.inoの行数です。

38〜38行 #define LEDSTATE_ANALOG 4
                #define PIN_PWMA 9
       #define PIN_PWMB 10  を定義に追加

159行 void SetAnalogSpeed(word inSpeed, byte inDir); の関数定義を追加

434行〜 boolean dispatch(){ ……  }

関数内に

578〜598行 else if (function == "DC"){ ……  } を追加

1132〜1154行 void changeLED(void){ ……  } 関数内に
                     case LEDSTATE_ANALOG:
                      break; を追加

1226〜1255行  void SetAnalogSpeed(word inSpeed, byte inDir){ ……  } 関数を追加

1257〜1261行  void FreeAnalogSpeed(){ ……  } 関数を追加


これでDSair2とおなじように、シリアルポートから

DC(AnalogSpeed,AnalogDirection)

AnalogSpeed 0-1023

AnalogDirection 1:FWD, 2:REV

コマンドを受信してDC運転ができるようになりました。

線路電源OFFの時だけ使用可能。DCに切り替えるときはsetPower(0)を送信する。

シリアルコマンドは下記を参照

https://desktopstation.net/wiki/doku.php/dsair_wifi_specification

https://desktopstation.net/wiki/doku.php/desktop_station_s_serial_communication_specification

 

もちろん出力側にピュアアナログアダプターつなげば、平滑直流で運転ができます。

 



 

 

 

|

« 二つのテンキーボードコントローラー | Main | DSシールド2のパワーオンオフを改造する »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



« 二つのテンキーボードコントローラー | Main | DSシールド2のパワーオンオフを改造する »