警報音の出る踏切の製作(プラレール改造)

[`google_buzz` not found]
[`friendfeed` not found]
このエントリーをはてなブックマークに追加
[`yahoo` not found]
[`livedoor` not found]

うちの息子(2歳)は踏切が大好きで、ほっとくと踏切の前で遮断機が鳴るのを1時間ぐらい平気で楽しみます。

こんな真夏の炎天下にそんなことされるのはやってられないので、踏切のおもちゃを作ってみました。

プラレールの踏切を改造して、警報灯が点滅し警報音がなるようにしています。

仕様

タカラトミーのプラレール情景セットJ-17「ニュー踏切」を素体に改造します。

この踏切は、レールがシーソーのようになっていて、車両が乗ってレールが下がると遮断機がおりるようになっています。

これにスイッチを仕込んで、遮断機が下りたときには警報灯と警報音を出すようにします。

回路

ATmega328pで警報灯LEDの点灯と警報音の発声を行います。音声はPWM変調アナログで、2端子BTL出力し、ロジックIC 74AC04(インバーター)で電力増幅して、スピーカーを駆動します。(いわゆるD級アンプ)

74AC04がそれなりな電流でスイッチングするため、電源安定化のため電解コンデンサを付けてます。(当初パスコンだけだと音声発生時にマイコンの動作が不安定になりました)

部品名 単価 個数 小計
プラレール J-17「ニュー踏切」 1 588円
マイコン ATmega328p 1 250円
74AC04 1 42円
スピーカー 1 157円
マイクロSW 63円 2 126円
LED 赤色 3mm 3.5円 4 14円
抵抗 100Ω 1/4W 1円 2 2円
電池ボックス 42円 3 126円
電解コンデンサ 470μF 16V 1 31円
積層セラミックコンデンサ 0.1μF 50V 10円 2 20円
配線材 ジュンフロン線 0.26mm 1mぐらい 30円ぐらい
合計 1,386円

プログラム

AVRStudio4 + WinAVR(avrgcc)で作りました。

概略

  • ATmega328p
  • 内蔵RCの8MHzクロックで動きます。
  • TIMER0を22222Hz(8MHz8分周45分周)駆動し、PCM音声の再生を行います。
  • TIMER2を8MHz 32周期=250kHzで駆動してPD3=OC2BをPWM出力します。もう一本のピン(PD4)とBTL駆動することで、6bit分の量子化を実現。
  • 待機時は、ピンチェンジ割り込みを有効にしてからPWRDWNモードに移行します。

ソースコード

crossingLEDandSOUND.zip(2011.8.10公開)
ライセンスは修正BSDLモドキとします。煮るなり焼くなり好きにしてください。

音声データの生成

踏切警報音は700Hzと750Hzの合成らしいので、EXCEL で波形データを生成しました。

700Hzと750Hzのノコギリ波を生成し、700Hzに対して750Hzを-3dBで合成します。

それを0.5秒間で-5dB減衰させて、1ループとしています

EXCELデータ

corssingSOUNDgenerator.xls(2011.8.10公開)

組み込み

警報器には、3mmのドリルで穴を開けてLEDを組み込み。レールの下に、車輌が乗ったときにスイッチが入るようにマイクロスイッチを接着。電源はスペースの都合で、単4×1本の電池ケースを3個組み込んでいます。

あとは、ホットボンドで固めたマイコンとICを隙間につめて完成。

消費電流は実測で、稼働中は80mA、待機中は1μAでした。待機電流はわずかなので、電源スイッチなどは設けていません。

完成


おまけ

改造しやすそうな素体という都合で「プラレール」の踏切を使いましたが、うちにあるおもちゃは木製レールの「BRIO」です。

この二つは、レール幅が同じなので、同じ車体を走らせることができます。

というわけで、木製レールの方を加工して、プラレールと木製レールを接続できるようにしました。

これで、木製レールのレイアウトにプラレール踏切を組み込めます。