2005/4トランジスタ技術付録のR8C/Tiny使用して電GOコントローラー(PCゲームポート用)で
運転できるNゲージのコントローラーを製作中です。

回路図

Cソースコード

HEW4用プロジェクトファイル

【プログラムの説明】

・タイマーX割り込みで40μs間隔で割り込みをかけます。
・割り込み回数カウンタ(int_count)で256回周期でカウントしておきます。
・割り込みカウンタが0のときスピードメモリ(speed)にスピードデータ(set_speed)を入れ、スピード出力(p1_2)をONにします。
・以降の割り込みでspeedを−1しspeedが0になった時スピード出力をOFFするとスピードデータに応じたパルス幅が出力されます。
・割り込みカウンタが0のときはまた、マスコン、ブレーキの位置に応じてスピードデータの加算、減算を行います。
・加速時はマスコンの位置に応じた目標スピードと現在のスピードの差に応じてスピードデータを加算し目標スピードに漸近的に近づくようにして、実際の列車の加速に似せています。
・ブレーキをかけていない時もある程度減速させています。

・メインルーチンではマスコン、ブレーキのアナログ値を読みとります。(p1_0 , p1_1)
・電GOコントローラーはマスコン、ブレーキを動かすと抵抗値がステップで切り替わるので、電圧に変えてADCで読みとります。マスコン、ブレーキの各ステップ値をメモリーに記憶し、どの位置にあるか判定します。従ってステップ値を手動で記憶させる必要はありません。
・マスコンの位置に応じて、目標スピード(max_speed)とブレーキの位置に応じて減速値(gensoku)をセットします。

・7セグメントにはマスコン値が表示されます。(確認用でつけたのでなくてもかまいません。)

R8C、HEW4の使用法等は、トランジスタ技術2005/4,5を参考にしました。

免責事項
この回路図、プログラムを使用した結果についてはいかなる責任も負いません。個人の責任において使用してください。

制作・著作 下野茂樹