2003年8月1日
東京では、地下鉄のドアは、開いたり閉ったりするたびに、「キンコン、キンコン」と音を出します。丸の内線の電車では、扉が開いたり閉まったりするたびに、こんな音がします。
この音は、毎日何度も聞いているのですが、この音が出るおもちゃは、見たことがありません。身近にあるけれども、売っていないものは、自分で作ってみたくなるものです。そこで、私が住んでいるアパートの扉を開け閉めするたびに、地下鉄の扉と同じ音が出る装置を作ってみました。
これが、作った装置です。こんな感じです。
本体は、秋葉原にある「秋月電子通商」というお店で売っている100円のケースにすっぽりおさまります。スピーカーは、捨てたラジカセに入っていたものを再利用しました。
2本入っている単3形電池の大きさから、装置全体の大きさが推測できると思います。けっこう小さいでしょう。
この装置からは、こんな音がします。
営団地下鉄の本物よりも、若干音程が高いですが、けっこういい感じの音でしょう。電源が、単3形電池2本の3Vでありながら、フルブリッジ型のアンプを採用したため、かなり大きな音が出ます。
装置本体に近づくと、このようになっています。
扉にスイッチを付けることで、扉の開け閉めに連動して、チャイムを鳴らすことができます。営団地下鉄丸の内線の扉チャイムと似た音なので、家にいながら地下鉄の気分を味わうことができます。
本体の押しボタンでも、扉チャイムを鳴らすことができます。
チャイムが鳴った時刻を、マイコンが起動してからの時間(単位は分で、0分から65279分まで)として、マイコンに内蔵するEEPROMに63件まで記録できます。部屋を出入りした時刻を、後で知りたくなった時とかに、役に立つかも。
記録した時刻を読み出すためには、PICマイコン用のライタ装置が必要となります。
チャイム音の生成には、パワーエレクトロニクスを参考にしたフルブリッジ型のインバータ回路(疑似1ビットアンプ)を用いています。電源電圧が3ボルトながら、たいへん大きな音を出すことが可能です。
また、音が出ていない時はほとんど電流を消費しません。
マイコンや論理回路などに、低電圧で駆動可能なものを選ぶことで、直流3ボルトによる駆動を可能としました。ニッカド電池やニッケル水素電池による直流2.4ボルトでの駆動も可能です。(部品の仕様としては、2.0ボルトまで駆動が可能です)
回路の制御を行っているマイコンを、32768Hzで駆動することにより、待機時の消費電流を数十マイクロアンペアに抑えることができます。
チャイムが鳴っている間は、数百ミリアンペア程度消費します。
扉の状態を取得する際、観測した状態(開/閉)の回数が、先に16回に達した側を、観測結果とすることで、回路のノイズによる誤動作を低減しています。
また、いったん鳴ったら2秒間は停止させたり、鳴った後でもういちど状態を取得し、その状態がさらに変化しないかを監視するアルゴリズムとすることで、開け閉めを頻繁に行った場合に、鳴りっ放しにならないように工夫しています。
こちらが、回路図となっています。マイコンには、8本足の小さな物を用いています。アンプを構成する単体のトランジスタやダイオードが、たくさん並んでいます。
この装置の心臓部は、「PIC12F675」というPICマイコンです。秋葉原で150円で手に入れました。
このマイコンは、8本しか足がありません。
チャイムの音程は、マイコンの「A」「B」の出力を上げたり下げたりする速さによって決まります。また、音量は「C」の出力により決まります。
回路図の右上は、パワーエレクトロニクスの教科書によく見られるインバータ回路です。
スピーカーに送られる波形は、具体的には次のようになっています。
左側が「レ」の音で、右側が「ラ」の音です。パルス波に近いですが、少しオーバーシュートがかかったように見えます。パソコンのサウンドカードで録音したので、波形そのものがどれほど正確かは、よく分かりませんけれど。
インバータ(疑似1ビットアンプ)で生成される波形は、振幅や波形の変化しない方形波です。チャイムの音は少しずつ減衰するため、音量を管理する回路が必要となります。
回路図の右下にあるのは、音量を調整する回路です。
チャイムの出力を録音して、音量の変化を調べてみた結果が、次の図です。
きれいに減衰しているでしょう。
ちなみに、「TC74HC03AP」はオープンドレイン型の論理ICです。比較的たくさんの電流を引き込める特長を持っています。
扉スイッチの部分では、本来の扉スイッチがなくてもチャイムを鳴らせるようにするために、基板の上にプッシュスイッチをつけてあります。扉スイッチそのものは、基板のコネクタに接続できるようになっています。
こちらが、マイコンのプログラムです。マイクロチップ社のMPLABバージョン6シリーズ向けに作られています。
ソフトウエアは、次のような構成要素からなっています。
この中から、こだわったところを少しだけ紹介しましょう。
扉が開いているか閉まっているかを判断する部分は、スイッチのオンとオフを見ることで行います。しかし、この手の回路はノイズの影響を受けやすく、適当に作ると誤動作が多くなりがちです。
そこで、この部分のプログラムでは、扉が開いているか閉まっているかをたえず調べ続け、
という動作を続けさせています。そして、先に16票集まったほうを、判定結果とする処理を行っています。こうすれば、多少ノイズが混ざっていても、誤動作しにくくなります。
このルーチンは、10msから20ms程度の処理時間を要しますが、扉が開いてから/閉まってから鳴るまでの時間としては、それほど問題にはならないでしょう。
地下鉄の扉チャイムは、楽譜として書けば、次のようになります。
「レ」と「ラ」の音を作るだけでは、チャイムの音にはなりません。音量の調整が必要です。具体的には、次の流れで音を出しています。
これで、みごとにあの音を作り出すことができます。
このチャイム装置は、はじめは研究室の入り口につける予定だったのですが、騒音公害になるとの指摘を受け、アパートへ持って帰ることになってしまいました。少しさみしいかも。