鉄道模型_With_PC
PC で制御する
TOP16 を使ってみた.TOP16
VB で書くことが出来るのも採用理由
VBでATOMを見る こういうのも作ってみた.その時のVB設定
こんなのもあるが,やたら値が高い(チャンネル数は多い)
https://www.dacs-giken.co.jp/d25KRCP.html
これらも参考になった
Nゲージの模型をラズパイで動かす “らずてつ”その1――鉄道模型とラズパイをつなぐ
https://www.itmedia.co.jp/news/articles/2111/29/news008.html
Nゲージの模型をラズパイで動かす “らずてつ”その2――制御の準備
https://www.itmedia.co.jp/news/articles/2112/03/news001.html
Nゲージの模型をラズパイで動かす “らずてつ”その3――ポイント切り替えを操作する
https://www.itmedia.co.jp/news/articles/2112/04/news001.html
TOP16 のサイトを参考にして,動かすことをやってみた.
これは サイトを参考にするだけで,(VBで)(ちょっと大変だが↓)何とか動いた.
センサーで検知できるかやってみた.以下を参考にしてVBのサンプルコードをいじっただけでは,うまく検知できない...
★このサイトが分かりやすい
http://rtmrw.parallel.jp/auto-system/index.html
卓上レイアウトで楽しもう TCSセンサの信号出力
セクションに車両がいる事を電流で検知できるかやってみた.
フォトカップラーより前はCQ出版の以下を参考にした.
電子工作/鉄道模型/鉄道模型と電子工作_p190-195.pdf
回路は 図4-11 のものを採用した

オペアンプ,フォトカップラーの勉強が入用だった.
オペアンプ はCQ出版の資料に基づいて LM358Nを使用した.
↓↓↓↓↓

とりあえず手書き
↓
_ブレッドボード手書き_small.jpg)
フォトカップラーより後は上記(卓上レイアウトで楽しもう TCSセンサの信号出力)を参考にした.

フォトカップラー については下記.
↓↓↓↓↓



フォトカプラ→TOP16 はこうなる
↓↓↓↓↓

回路の作図には Fritzing を導入した.Fritzing
できた配線は↓↓↓↓↓(BreadBoard用)
電子工作/鉄道模型/TOP16_InputFrom_BSs_101_プリント基板テスト用.fzz
プリント基板(ユニバーサルボード)に構成した
センサーの挟み方(概念図)
レールからの戻り回路にセンサーをはさんで電圧降下を検知する
センサーの挟み方(プレッドボード上だとこんなる???)
Nゲージの電源から出た「赤」はそのまま各セクションのレールへ繋ぐ
Nゲージの戻り側「白」にセンサー(上記で作ったもの)を挟む
「黄」は TOP16 から供給される 5V
8枚作って,分配回路を作った
ダイオードを入れた
●黄色TOP16の 5V から ダイオード経由で 各ボードの 5 V へ
...下記■問題があったので,この方法を試みたらOKだった
↓ もうすこし綺麗に書き直し
分配回路-センサー-TOP16結線図(
■問題
DC を TOP16 から給電すると,センサー経由で STOP 時は動いてしまう
DC を 直接給電すれば センサー経由でも STOP 時は動かない(センサー用(LED部分))の
5V はあっても大丈夫)
給電用とセンサー用の TOP16 を分離してみよう--NG
検知抵抗を外すと止まる?
アースをきちんととってみる?
電池からの(低い電圧で)
■とりあえずこんな感じで疑似解決 - この方法を使わなくても,ダイオードで解決した
SECTION1 - SECTION2 - SECTION3 - SECTION4
列車の初期位置は 1
SECTION(1).status = "CLOSED"
SECTION(2).status = "N/A"
SECTION(3).status =
"OPEN"
SECTION(4).status = "N/A"
SECTION(1).POWER = "OFF"
SECTION(2).POWER = "OFF"
SECTION(3).POWER = "OFF"
SECTION(4).POWER = "OFF"
から開始
SECTION(1).POWER を ON にして開始.
SECTION(3)も ON-OFF する必要が無いので ON
--Section(2)を ON にするときに ON にした方が誤動作が少なそう
SECTION(1).POWER = "ON"
SECTION(2).POWER = "OFF"
SECTION(3).POWER =
"ON"
SECTION(4).POWER = "OFF"
SECTION(1)に列車が居なくなって
SECTION(1).status = "OPEN"
になったら
SECTION(2).POWER = "ON"
SECTION(3)に列車が移って
SECTION(3).status = "CLOSED"
になったら
SECTION(2).POWER =
"OFF"
コードはこんな感じ?
Public Class Form1
Public Structure SECTION
Public STATUS As String
Public POWER As String
End Structure
Dim SECTIONs(3) As SECTION
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Handles Button1.Click
SECTIONs(0).STATUS = "ok"
End Sub
Private Sub
Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
MessageBox.Show(SECTIONs(0).STATUS)
End Sub
End Class