言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

逆世界聴診器を作る(?)

P1040557

逆世界聴診器とは、id:abee さんの http://swikis.ddo.jp/WorldStethoscope/2 の逆の働きをする物で、ヘッドホン出力を元に外部デバイスを操作する物を言う。なぜヘッドホン出力かと言うと、最近のパソコンはパラレル端子が付いてないし、USB は難しすぎるから。素人にも分かる程度の簡単さを守る点がポイント。ふと、これを作ってみようと思った。私の中学レベルの電気知識でいきなり難しいのは無理なので、

  • ピーと鳴らす -> LED が点灯
  • 音が止まる -> LED が消える

というのをやってみる。例えば、こういう eToys プログラムで制御できるようにする(注: eToys を知らない人へ、音さえ出れば何でも良いので、適当に音楽を流すだけでも良いです)。

script

とりあえず LED をそのままヘッドホン端子に突っ込んでみた。

P1040494

実はこれでも一瞬電気が点きました!でもヤバイ感じにばちっと光って、すぐ消えた。ネタのつもりだったけど、あまりやらない方が良いみたい。しかもこれではプログラムでコントロールできない。まずはヘッドホン端子がどのような物か調べてみた。

P1040496

ヘッドホン端子から線を延ばしてテスタを繋ぐと、音が鳴っているときに交流で1.9mA, 262mV 程度電気が流れている事が分かった(奮発して交流電流が測れるテスタを買った)。電気の知識が無いので測った数字にどういう意味があるのか分からないが、計測可能な何かが出ているという事に勇気付けられる。早速この線に LED を繋いでみよう。

P1040499

無反応である。そもそも LED がどうやったら光るかも分からないので、LED (発光ダイオード) http://www.cypress.ne.jp/f-morita/parts/di/led.html 等を見ながら勉強しました。どうも豆電球みたいに直接繋いでは駄目で、抵抗が居るらしい。パソコンの事は忘れて LED に集中しよう。

P1040507

図のように適当にその辺の抵抗を繋ぐと無事点いた。前から不思議に思っていたのは、こういう抵抗ってどうやって選ぶのだろう。そこで、色々抵抗を変えてやってみた。

P1040514

抵抗を変えると明るさも変わる。大体回路に流れる電流と同じ感じで明るさが変わる事が分かった。面白いのが、LED の電圧が大体一定だという事。これは不思議だ。LED の電圧は周りの抵抗によらず大体決まってるので、これを元にして必要な抵抗を決めれば良いと分かった。

さて、ヘッドホン端子から出る電気じゃ LED を光らせる事が出来ないので、増幅する事にした。増幅とはどういう事かと言うと、光って欲しく無い時は電気が流れないままで、光って欲しい時だけ一杯電気が流れて欲しい。そういうのはトランジスタを使うと分かった。

P1040516

とりあえず、トランジスタの使い方 http://www.binzume.net/library/robo/e_tr.html を参考に、三本の線のうちベースとエミッタの間にヘッドホンの信号を入れてみた。

P1040519

点かない。。。そこで、イアンさんが、ベースとエミッタの電圧が 0.5V くらい無いと動かないと言っていたのを思い出し、言われたとおりに抵抗を追加してみた。どうもここの理屈が良く分からない。

P1040532

ついた!

P1040536

最終的な回路図はこんな感じ。カッコ内は実際測った値です。使った部品は以下の通り。

  • ヘッドホンジャック(モノラル)
  • ブレッドボード
  • ブレッドボード用の電線
  • ワニクリップ
  • LED赤 (1.8V 20mA)
  • NPN トランジスタ 2N4401 (hFE 100-300, Vce(sat) 0.4V, Ic(max) 600mA)
  • 抵抗 470Ω x 2, 2.2MΩ x 1
  • 電池ボックス
  • 電池単三二本

コツ

  • 抵抗は色んな種類のやつを沢山買った方が良い(三種類しか持って無くて苦労した)。
  • ブレッドボードは高いけど絶対買った方が良い。
  • 書かなかったけど、ヘッドホンジャックとワニクリップは半田付けしている。

To Do

  • 音の大きさじゃなくて、音の高さによって明るさが変わるようにしたい。
  • モーターとか電化製品とか、もっと派手な物を動かしたい。
  • 音の高さによって、別の種類の物が動くようにしたい。
  • ヘッドホン端子を使うとパソコンから音が出なくて寂しいのを何とかする。

簡単なので、みんなも作ってみよう!

追記

P1040577

初めて自分で考えた回路なので、記念にハンダ付けしてみた(基板の裏と表を間違えてしまった!)。部品の配置を決めるのが凄い難しいけど何とか動いた。ところで、あとで調べたい謎な点

  • この回路でプラグをどこにも差さないと微妙に LED が光る。光らないようにするにはどうすれば良いのだろう。
  • トランジスタと並列に繋げる抵抗の値を適当に決めたのだけど(イアンさんには、ベースエミッタ間が 0.5V 近くになるような割合にすれば良いとだけ言われた)。そんな適当な話で良いのだろうか。今回たまたまうまく行ったのだろうか。
  • 最初にテスタをヘッドホン端子に繋げた時に流れた電流は交流 1.9mA だった。回路を組んでからベースに流れている電流を測ると直流 60μA だった。どちらも音を鳴らさない時は殆どゼロだった。 こういう数字はどこから来たのだろう。

この実験のあとで Make マガジンを読むと、広告の隅々まで面白い事が書いてある事が分かった。新しい趣味が出来てよかった!