ユーザ用ツール

サイト用ツール


dsbasic

文書の過去の版を表示しています。


DSbasic

DSbasicは、DCC対応の鉄道模型をBasicで制御するための機器です。ArduinoにDSbasicシールドを装着し、PS/2キーボードとTVがあればご利用になれます。DSbasicを動かすためのパソコンは不要です。

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dsbasic_rx5-thumbnail2.jpg

buin2gou.sakura.ne.jp_sblo_files_powerele_image_dsbasic_rx4-thumbnail2.jpg

参考文献

以下のサイトを参考に開発しました。御礼を申し上げます。

特徴・概要・対象

DSbasicは上級者向けとなります。ベーシック言語を理解されている方、Arduinoのプログラミングができる方が対象です。 サンプルのスケッチには、未知のバグなどが含まれています。ご理解の上、利用ください。

動かすのに必要なもの

  • TV, モニタ(RCA端子搭載、デジタル系は一切不可)
  • PS/2キーボード(USBは未対応のもの)
  • ACアダプタ
  • DSbasic Shield
  • Arduino UNO(互換機も可)
  • スケッチを書き込むパソコンとUSBケーブル

※上記の例では、アマゾンで販売されている爆安4.3inchモニターTVを使用しています。12V ACアダプタから分岐するケーブルがあると便利です。

部品表

Parts No Parts type Spec Akizuki No.
C1Capacitor0.1u, 5mm pitch
C4Capacitor220-470u, 3.5mm pitch
C5Capacitor1u, 5mm pitch
CN1Connector6pin Long Header
CN2Connector8pin Long Header
CN3Connector8pin Long Header
CN4Connector8pin Long Header
CN5Connector2×3 long pin header
CN6Connector2pin Terminal box
CN7ConnectorRJ-2410N/YC-06508
CN8ConnectorPS/2, MJ-373/6C-09018
CN9ConnectorRJ45, 7810-8P8CC-00159
D1LED3mm, Yellow
D2LED3mm, Green
D3LED3mm, Red
IC1'DIP SocketDIP Scoket
IC1MCUATMEGA328P DSCore R217書き込み済であること
IC2Motor DriverTB6643KQI-07688
R1Resistor1k, 1/4W
R2Resistor1k, 1/4W
R3Resistor1k, 1/4W
R4Resistor470, 1/4W
R5Resistor1k, 1/4W
R6Resistor6.8k, 1/4W
R7Resistor6.8k, 1/4W
R8Resistor6.8k, 1/4W
SW1Tackt SwitchSKHHLPA010P-07193

組み立て手順

  1. 部品をすべてそろえる。
  2. IC1のATMEGA328PにDSCore R217が書き込まれているか確認する。書き込み済みATMEGA328Pが付属しているキットの場合は飛ばして構いません。AVRisp mk2等を持っていなくて、Arduino IDEを使ってどうにかする場合は、フジガヤさんのメモを参照のこと。
  3. 背の低い部品からはんだ付けする。LEDや電解コンデンサは方向があるので注意する。
  4. 背の高い部品をはんだ付けする。RJ45やコネクタ類。
  5. はんだ付けが終わったら、テスタで5VとGNDを当てて、ショートしていないか確認する。ショートしていたら、はんだ付けミスをしているのでショートの個所を頑張って探します。
  6. 問題なければ、Arduino UNOに合体してPOWERのLEDが点灯しているか確認する。
  7. Arduino UNOに、所望のスケッチ(通常はDSbasicスケッチ)を書き込む
  8. ACアダプタをつなぎ、フィーダー線をつないで、PS/2キーボード、RCAケーブルをテレビにつないで、動作確認する。
  9. 「PWR 1(エンターキーを押す)」で、RUN LEDが付くか確認する。付けば動作OK。
  10. あとはお好きにお使いください。

DSbasicは、Tiny Basicをベースとしており、弘前大の解説ページなどの資料も参考にできます。

DSbasic 独自コマンド

コマンド パラメータ コメント
PWR電源ON/OFF(1 ON, 0 OFF) 線路への電源ON/OFFを制御します。
SPDDCCアドレス,速度(0-100)即時速度指定。速度は0(停止)~100(最高速度)。
SPXDCCアドレス,開始速度,完了速度,時間(1d=0.1sec) 徐々に加速、徐々に減速の速度指定
速度は0(停止)~100(最高速度)。
DIRDCCアドレス,方向(0 FWD, 1 REV) 進行方向を変えられます
FNCDCCアドレス,ファンクション番号,ON/OFF(1/0) ファンクションを操作できます
FNXDCCアドレス,ファンクション番号 ファンクションのモーメンタリ動作。OFF→ON→OFFを一気に行えます。
警笛とかで2行使うのは勿体無いので。
ACCDCCポイントアドレス,分岐/直進(分岐0, 直進1) DCCのポイントを切り替えできます
GS8S88デコーダ番号(8bit間隔) S88デコーダのデータを取得します。8bit間隔なので注意。
0を指定すると16bitタイプのS88デコーダであれば1~8のデータが取れます。
1を指定すると、9~16のデータが取れます。
2を指定すると、17~24のデータが取れます。設定できる範囲は0-3までです。

なお、公式には出していませんがスケッチをちょっとだけ改造することで、Marklin Motorolaの車両やポイントが操作できます。

Download

更新履歴:

(R0.30) ・弘前大の改善機能を取り込み。ESCで強制停止、シリアル経由でテキスト入力、自動ロード&実行、And(&)、Or(|)、剰余(%)のコマンドの追加、RAM配置バグ修正
・SPXコマンドでウェイトが無いバグ、速度ダウンの時に動かないバグを修正
・EEPROMロード&セーブがおかしいバグを修正

(R0.21) フジガヤさんに指摘されたバグを修正。
S88デコーダの情報を読む関数GS8を追加。

頒布

  • 基板のみ 試作基板(配線ミスが有るため要改造)は無償、ただし無償なのでフィードバックやレビュー記事をWebに投稿が条件

ユーザーレビュー

dsbasic.1469402521.txt.gz · 最終更新: 2016/07/25 08:22 by yaasan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki