小石川の鉄道班のへや

小石川中等教育学校物理研究会鉄道班の公式ブログです。

Nゲージの駅で接近放送を流そう!

Nゲージの駅で接近放送を流してみる

どうも、いつもの中の人です。

いや、E231-1000は好きなんだけどね、京急もいいんですよ~。

とくにだるまさんとかかなあ?

あれデザインいいですよね~!

そんなことはさておき、今日は接近放送をホームで流してみようかと思います。

どうするかというと、センサーで列車を感知したら接近放送を流すという

簡単なものですね、はい。

回路は簡単ですね。(そりゃスピーカーとセンサーの回路しかないからな)

プログラムがややこしいくらいかなあ。

あと、Arduinoのメモリだと、音声データが入らないのでSDカードのデータを転送して

流すつもりです。

それではどうぞ。

1) センサー部

基本的な考えは前のブログでどうぞ。
今回、センサー部が進化しました!

いままでは、アナログ入出力ピンでA/D変換して読み取っていたのですが、

それだと割り込みができない!拡張性が薄い!ということで、

割り込みできるようデジタルピン対応型をつくりました!

とはいっても、ちょっとでも太陽光が当たると不安定だし、

いつも不安定ぎみなので参考程度に。

まず、センサーが感知しないときについて考えます。

部屋の照明とかでわずかに電圧が流れていますが、マイコンが誤反応してしまいます。

しかし、ダイオードの順電圧よりは低いです。そこで、まずダイオードを挟みます。

すると、電圧はカットされませんが電流がカットされます。そこで、電流で動く

トランジスタを挟めば、電圧、電流がどちらもカットされるではありませんか!

これで簡単なコンパレーターの出来上がりです!(信用できるとは言っていない)

2) SDカード部

SDカードに音声データを保存し、データを少しずつ転送して流すという考えです。

SDカードスロットには、秋月のSDカードDIP化キットを使いました。

参考にしたサイトです。


CSピン以外は、ArduinoのUSBポートの反対側にある6本のオスピンの集まりが

あるじゃないですか。そこのMISO、MOSI、CLKを使いました。

(そうしないと通信できなかった)

いやあ、難しかったですよ。(無慈悲に全カット)

あとは、PWM出力(パルス出力)できるピンにスピーカーの+極を挿せば

回路は完成、っと。

問題はプログラムです。

3) プログラム

いやあ、大変でした。

少しずつデータを転送してそれをPWM出力するのは分かったんですが、

どうすればいいのか・・・

このサイトがすべて解決してくれました。ありがたやありがたや。


完成したのがこちらです。

1個目のセンサーで感知したら放送開始、2個目のセンサーで感知したら停止

という感じにしました。1個目はコンパレーター、2個目はA/D変換にしました。

まあ、いいんじゃない?

あとはこれを、ホームの屋根部分に設置して完成です。

発車メロディーは、接近放送を停止した後に数秒後の鳴らすよう処理すれば

いいだけだし、手動で鳴らしたいときも今回の仕組みを使えば簡単なので

割愛します。

今日はこんなところで!