検索
連載

音で返事するスイッチ――シリアルオシレータの応用Wired, Weird(3/3 ページ)

今回は以前にも紹介した2端子の発振回路「シリアルオシレータ」を使った楽しい応用例を紹介する。複数のスイッチの中から、どのスイッチが押されたかを特定するシステムであり、スイッチ以外にも反応したセンサーを特定する用途などでも応用できるものだ。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

デジタルフィルタの動作

 次に周波数を解析するデジタルフィルタの動作を説明する。なお、デジタルフィルタで識別できる周波数は単一周波数である。デジタルフィルタにPICなどのマイクロコントローラ(以下、マイコン)を使うと安価に作ることができる。この際、マイコンにはカウンタ・タイマ割り込みを持つマイコンが望ましい。周波数識別方法のイメージ図を図4に示す。


【図4】周波数識別方法のイメージ図

 図4でスイッチラインの信号入力をクロック信号としてタイマとカウンタに接続する。タイマー1はクロックの有無を監視する短いタイマーで、クロックがなくなるとタイムアップしてカウンタをクリアする。最初にクロックを検知するとタイマー2で例えば100msのタイマーがスタートし、カウンタでクロック数をカウントする。100msタイマーのタイムアップ時にカウント値を読み周波数を判定する。例えばカウント値が15の場合は150Hz前後の周波数のスイッチが押されたと判断される。

 この周波数はオクターブ3の「レ」の音階に相当する。ただし、1回の識別では誤動作の可能性もあるので数回確認し、周波数からスイッチ番号を特定する。なおスイッチ番号と周波数のテーブルを作り、周波数テーブルの値と比較すればスイッチ番号を引き出せる。番号を特定したら、それを監視ユニットに表示する。

 このシステムをバスの降車スイッチの識別に用いた場合の接続と動作を説明する。

 まず、バスに設置された降車スイッチにシリアルオシレータを接続する。次にスイッチラインの配線をスイッチがある場所に引き回しスイッチセットを接続する。スイッチラインの終端にはRTを接続し反対側を監視ユニットに接続する。監視ユニットは運転手の見やすい位置に設置し、直流電源を接続する。監視ユニットに電源を投入しモニター表示を確認する。

 スイッチラインが正常に接続されているとモニターには00が表示される。また接続不良では表示を点滅させるようにプログラムしておく。いずれかの降車スイッチが押されるとスイッチの固有の周波数の信号が監視ユニットに入力される。この周波数でスイッチ番号を識別し、表示をクリアして最新のスイッチ番号を表示し、その番号を記憶しておく。

 乗り合いバスで降車スイッチを乗客が押したらそのスイッチ番号が監視ユニットに表示され、運転手は押されたスイッチの位置が分かる。そのスイッチ位置からルームミラーなどで誰が降車スイッチを押したかが判別できる。もし降車スイッチがいたずらで押されたり、誤って押されたりした場合でも、スイッチの位置が分かるので運転手は対処しやすくなる。

 スイッチの保守も音律を使えば簡単にできる。終端RTに並列にピエゾ(セラミックスピーカ)を接続し、その音を聞き分ければスイッチの動作が確認できる。設置した番号順にスイッチを押せば、周波数(音階)が徐々に上がる(または下がる)。もちろん表示を見ることでも可能だが、スイッチの動作を音で確認することができ、効果的な保守ができる。

 観光バスなどではこの音での保守方法使って面白い遊びができるだろう。例えば、バスの乗客の1人に1つの音階のスイッチを持たせれば、乗客が協力して童謡などの簡単な音楽を奏でられ、簡易な音楽会が実現できる。バスの長時間の退屈な移動時間が、楽しい旅の思い出になるだろう。残念ながらこのアイデアはまだ実現されていない。

 スイッチの代わりに、センサーにシリアルオシレータを接続し、どのセンサーが反応したかを特定するといった応用も可能だ。ドアや窓、人感センサー、呼び出しスイッチ、煙感知器、熱センサーなどの監視を行う簡易な家庭用防犯システムも実現できるかもしれない。ぜひ、シリアルオシレータの楽しい、実践的な使い方を読者にも考えてほしい。

次の記事を読む


「Wired, Weird」連載一覧

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る