2008 年 12 月 18 日

ATSチャイムの制御プログラム その3

Filed under: パソコン,日記,鉄道 — わぴこ @ 1:54 AM

今日は部品が届いたので仮の回路を組み立てました。
まずは部品のチェックです。
早速やってしまいました_| ̄|○
RS-232Cのポートの基板側が穴空き基板と合いませんヘ(゚∀゚ヘ)アヒャ
プリント基板用でした。
基板に無理矢理穴をあけて解決♪
リレーは思っていたよりもちっちゃい奴で心配になりました_| ̄|○
説明書とにらめっこするとRS-232CドライバーもNOT回路とありましたΣ(゚Д゚;エーッ!
想定外の事態多すぎですね・・・←ダメ人間の証拠

次にリレーのチェックです。
実はリレーを扱うのは初めてなのでピンアサインをチェックしておかないと
ミス=死亡・火事
の可能性が高いのでチェックしまくりです 。
説明書とあわせてなんとかピンアサインを確定させることが出来ました。
次にRS-232CレベルやTTLレベルでコイルが作動するかテストしましたが
3V仕様のリレーでも予想通り動かず_| ̄|○

トランジスタスイッチで電源の5Vをコイルに供給することにしました。

それでもとにかく組み立てです。
RS-232Cポートを植えてRS-232CドライバのICソケットを植えて配線。
リバースケーブル仕様に配線ミスしかけました。(激汗
ストレートケーブルで使うので入出力を反対にしないといけません。
回路図を見て一つ気づきました・・・1μF_| ̄|○
0.1μFの積層セラコンと思い込んでいたので・・・またやっちゃったヘ(゚∀゚ヘ)アヒャ
ぐぐってみると電解コンデンサーでいいみたいなので
PC-486のジャンクMBからコンデンサーを剥ぎ取って植えました。
リレーを植えてその他の配線を済ませてとりあえずリレーのテストをしました。

配線が悪いのかなかなかうまく動きませんでした。
半田付けしなおしてカチカチ言うようになったので
実際にプログラムを動かしてテストしました。
74LS04がないと期待通り動作しないので追加しました。
リレーの動作を確認したらいよいよ本番です。

DC100Vラインの配線をしてから電源ON
とりあえず何事もおこりませんでした。
ATSテストモード ON♪
ATS起動
ジリリリリリリ・・・キンコンキンコン・・・
ATS確認
キンコンキンコン・・・
ATSチャイム消し
シーン・・・

キタ━━━━━━(゚∀゚)━━━━━━!!
キタ━━━━━━(゚∀゚)━━━━━━!!
キタ━━━━━━(゚∀゚)━━━━━━!!
目覚し時計モードでも無事に起動しました。
でも再起動の時間調整が必要かもしれません。
ついでにソフトウェアATS確認ボタンなども装備してテストしました。
というわけで今日のテストはここまでです。

W-ZERO3 esでとった動作ムービーです。
そんなもの作れるわけが無いという疑い深い人は見てください(笑

今後の予定
1.今の状態ではPCがないと何も出来ないので
基板だけで遊べる単体動作モードを用意する。
2.先行量産型の製作(嘘
3.制御装置が量産のあかつきには連邦n(ry

鉄道部品
というわけで最近手に入れたものです。

JR西日本のデジタル温度計とトイレの中にあるプレートと寝台のプレートです。
デジタル温度計は部屋が暗くても朝日に反応して表示しますが
蛍光灯下ではほとんど使い物になりません。
しかもアホなのでアナログ式よりかなりでたらめな温度を表示します。
実際の車内の奴もアホになっているものがあるかもしれません。
実用性が欲しい人は迷わずアナログ式にしましょう。
トイレのプレートは受け狙いで(笑
寝台のプレートは20系や583系のものだったらいいなあ・・・程度です。
583系はほとんど「寝台内は禁煙」だったので583系の可能性は低いかも・・・

2008 年 12 月 17 日

ATSチャイムの制御プログラム その2

Filed under: パソコン,日記,鉄道 — わぴこ @ 1:36 AM

というわけでGUIベースのプログラムを数日掛けて作りました。
ダイアログベースのMFCスケルトン??を元にぐぐりまくりました。
この辺の用語はVC(C)初心者なのでまったく分かりません。

まずは設定画面です。というか設定画面しかありません(爆
数値を入力してかえるという方法を試してみましたがうまくいきません (つД`)
とりあえずiniファイルを読み書きする機構をぐぐって取り付けました。
その後も数値変更のためにいろいろやってみるもことごとく失敗_| ̄|○
ふとリソースエディタを見てみるとスピンボタンなるものを(・∀・)ハケーン!!
早速試してみましたがエディットボックスとくっつかないのでプロジェクトごと破棄(爆

2回目はデザインからはじめました。
今度はスピンボタンの取り付けに成功。
いろいろやっているうちに悟りを開き
数値変更によるリアルタイム設定値更新はあきらめました。
OKボタンで設定更新をするようにしました。

次にATSの制御関係です。
基本的には前回書いたソースを移植しただけなので省略♪

OKボタンを押すと終了するのが気に食わないので抹殺しました。
ついでにATSテストボタンを追加しました(笑
一応完成しました。

しかしっ、動作させると操作を受け付けなくなることに気が付きました(爆
というわけでマルチスレッド化することに・・・
いったんはあきらめましたががんばってマルチスレッド化に成功しました(^^)v
まだまだ問題があります。終了処理です。
終了されるとバックグラウンドで動いているATS制御ルーチンが強制終了されます。
何の処理もしていないのでメモリリークすると思われます。
終了処理を変更しましたがこれがなかなかうまくいきませんでした。
ぐぐりまくって先ほど完成しました。

あとはアイコン化したいのですがそれはまた別の機会に・・・
まだソフト上にATS確認ボタンとかつけてみたいですし。
(本来はATS装置側に確認ボタンをつけますが
ソフト上にもテスト用に用意しておこうかと・・・)

部品を注文したので早く届かないかなあ・・・

俺様メモ
グローバル変数の設定
ヘッダーに
extern int ats_on;
本体(cpp)に
int ats_on;
と書くべし。

他のファイル?クラス?の変数などにアクセスする場合。
ATS::on -> X
ATS.on -> X
—————–
ATS ats;
ats.on -> OK

他の関数から戻り値が欲しいとき
int atskakunin(){
return (1);
}

void型はだめかも??? void以外だと戻り値必須???

2008 年 12 月 14 日

ATSチャイムの制御プログラム

Filed under: 日記,鉄道 — わぴこ @ 1:24 AM

とりあえず部品を注文する前にプログラムを書くことにしました。
VC++しかないのでVC++で書くことに・・・
昔学生特権で買ったものなのでバージョンは古いです(笑
C言語は魑魅魍魎の世界でほとんど分かりませんがとりあえずGO!!

DOS窓動作のRS-232Cの制御部分を書きました。
ぐぐってぐぐってぐぐりまくってとりあえず2日で完成(^^)v
Windowsのスケジューラに組み込めば目覚し時計として使えます。

しかし・・・使うたびにDOS窓が立ち上がるのも不便なので
窓ベースのプログラムの開発に着手。
しかしっ!!この私は一度も窓のプログラムを作ったことが無いのです_| ̄|○
DOS窓万歳!!CUI万歳!!
なので完成は無理でしょう_| ̄|○
すでに完全に手詰まりな状況です(*゚∀゚)アヒャヒャヒャ㌧㌦㌧㌦

« 前ページへ次ページへ »

HTML convert time: 0.751 sec. Powered by WordPress ME