Desktop Stationから発売されたDSシールド2を使ってDCCコントローラーを作ってみました。
Arduino Uno の上にDSシールド2を載せて、その上にタスクスイッチを使って作った4X4のマトリックス配線のキーパッドとOLED(有機LED表示ボード)を取り付けた 自作シールドを載せてあります。
機能的にはDCC運転、F0-28のフルファンクション操作、ポイントアクセサリー操作、ダイレクトモードでのCV値の読み書き、DCCアドレスの読み書きが可能です。ボタン操作は、テンキーボードコントローラー準拠です。USBをパソコンにつないで、DSシールド2としても使用できるようにしました。老眼のためOLEDの細かい表示は見にくいので、最低限の情報のみ大きい字で表示させています。
なおこのコントローラは線路上に一台あるいは一編成の車両を走らせてサウンドやギミックなどを楽しむ目的で作りました。二列車以上の同時運転には向いていません。


結線図は下記のとおりです

4x4の16キーパッドは、秋月のシールドボード上でタクトスイッチを使って配線し自作しましたが、市販の完成品やキットを使った方が簡単だと思います。OLEDはSCAとSCLを10KΩの抵抗で5Vにプルアップします。
SCA(A5)とSCL(A4)はDSシールド2内部でプルアップされているので、この配線を追加する必要はありません(6/20追記)
なお今回はメモリの制約から、OLED表示には、メモリ使用量の少ないSSD1306Asciiライブラリーを使っています。
素人製作の美しくないスケッチ(プログラム)で恐縮ですが、ここからダウンロードできます。興味のある方はダウンロードして使ってみてください。なおこのスケッチを使うためには、DSシールド2のR4を撤去することが必要となります。そのためS88関連機能は使えなくなります。
このスケッチは、DesktopStationのDSシールド2のスケッチrev.002に加筆したものですが、問合せは私にお願いします。一番上の最近の話題 スレッドへのリンクにコメントしてください。DesktopStationさんへの問合せはご遠慮ください。デジタル鉄道模型フォーラムのコマンドステーションのスレッドでもご質問やバグ報告はお受けします。
ダウンロード - dss2c.zip

このテンキーボードコントローラー操作方法は以下のとおりです
起動時は「アドレス選択モード」
0.アドレス選択モード
アドレス番号+(E) 「運転モードA」に移行
(B)現在の線路上のDCC車両のCV値読込表示
CV読み取りモードへ移行
(C)現在の線路上のDCC車両のアドレス読込表示
アドレス番号+( F ) 現在の線路上のDCC車両のアドレス変更書込
(D) 入力した数値を消去
1.運転モードA ファンクション操作モード
ボリュームつまみで速度調整
(E) 前後進逆転 トグル操作
(A) 線路電源 オン/オフ トグル操作
(数字キー) F0からF9のファンクションのオンオフ F2のみモーメンタム動作 他はトグル動作
(C)&(数字キー) 同時押し F10からF19のファンクションのオンオフ トグル動作
(F)&(数字キー) 同時押し F20からF28のファンクションのオンオフ トグル動作
(B) 運転モードBへ移行
2.運転モードB アクセサリー(ポイント)操作モード
ボリュームつまみで速度調整
(E) 前後進逆転 トグル操作
(A) 線路電源 オン/オフ トグル操作
(数値)+(C) 入力したアドレスのポイントを直進に切替
(数値)+(F) 入力したアドレスのポイントを分岐に切替
(D) 入力した数値を消去
(B) 運転モードAへ移行
3. CV読み取りモード
CV番号+(E) 指定されたCV値読込
(D) 入力した数値を消去
(B) アドレス設定に移行
(F) CV書込モードに移行
4. CV書込モード
CV番号+(E) で指定後 数値+(D) でCV値入力
(D) 入力した数値を消去
(F) アドレス設定に移行
9.DSシールドモード
(A)を押しながら起動するとDSシールド2として起動し、すべてのボタン入力などは無効となります。
USBをパソコンにつなぐと、DesktopStationアプリで操作できます。
コントローラー操作に復帰するには、リセットして再起動させます。
+ は順次操作
& は同時操作
Recent Comments