メディア
連載
» 2014年04月14日 10時15分 公開

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

[山平豊,内外テック]

音階も表現できる

 電源電圧を12V、終端抵抗RTと入力抵抗RINをともに1KΩとする。スイッチが押されていない時、入力電圧は6Vでスイッチラインには6mAの電流が流れている。

スイッチラインが正常に接続されているかどうかは、ウィンドコンパレータの入力電圧で確認できる。正常時の入力電圧は6V±1Vの範囲でスイッチラインが断線したら入力電圧が0V、スイッチラインが短絡したら入力電圧は12Vになりウィンドコンパレータでスイッチラインが正常に接続されているかが分かる。

 スイッチラインが正常に接続されている時に、いずれかのスイッチが押されるとそのスイッチに接続されたシリアルオシレータが固有の周波数で発振する。この時、監視ユニットには振幅が6Vのパルス信号が入力される。

 発振周波数は100HZから数KHZまで使える。ちなみに、発振周波数の違いで、音律も違う。この性質を応用して、うまく周波数を割り振れば、音階も表現できてしまうのだ。図2に音律表を示す。シリアルオシレータの固有の発振周波数に音律表の周波数を割り当てればスイッチを操作すると”ドレミファソラシド”の音階の音になる。この音の聞き分けで押されたスイッチ番号を特定するということも可能になる(聞く側の音感にもよるが……)。

【図2】音律表 ※http://panna.dyndns.org/etc/onritu.htmlより引用
オクターブ 音名(階名)
C(ド) D(レ) E(ミ) F(ファ) G(ソ) A(ラ) B(シ)
0 16.35 18.35 20.60 21.83 24.50 27.50 30.87
1 32.70 36.71 41.20 43.65 49.00 55.00 61.74
2 65.41 73.42 82.41 87.31 98.00 110.0 123.5
3 130.8 146.8 164.8 174.6 196.0 220.0 246.9
4 261.6 293.7 329.6 349.2 392.0 440.0 493.9
5 523.3 587.3 659.3 698.5 784.0 880.0 987.8
6 1047 1175 1319 1397 1568 1760 1976
7 2093 2349 2637 2794 3136 3520 3951
8 4186 4699 5274 5588 6272 7040 7902
9 8372 9397 10548 11175 12544 14080 15804
単位:Hz

 図2の音律表に合わせて調整されたシリアルオシレータを個々のスイッチにセットすることで、スイッチラインに50個程度のスイッチセットが接続できる。

 ところで、スイッチラインには多数のスイッチがあり、同時に複数のスイッチが押される可能性は高い。同時に操作した時のスイッチラインの周波数はどうなるだろうか? シリアルオシレータの回路を図3に示すが、回路を読めば簡単に分かるだろう。

 答えは、「“より高い周波数”が優先して監視ユニットに伝わる」だ。シリアルオシレータを使えば、結果的にスイッチに優先順位を付けることが可能になる。

【図3】

 シリアルオシレータの動作でスイッチが同時に押されたら、最初にオンするのは周期が短い、すなわち、周波数が高いシリアルオシレータだ。このシリアルオシレータの出力がオンすると、スイッチラインが短絡され、周期が長いシリアルオシレータはコンデンサへの充電中にもかかわらず強制的にオンさせられてしまう。この時は複数のシリアルオシレータが同時にオンするので、オン時間が少し伸びる。同時操作ではシリアルオシレータの周期が少し長くなるので、それを配慮して周波数の識別範囲を設定する必要がある。また、スイッチの優先順位を付ける時は優先スイッチに高い周波数のシリアルオシレータを接続すれば良い。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.