壊れちゃった

投稿日:

 先日作成した「ピアノでLチカ」の、光り方のダイナミックレンジと言うか、そういうのが小さいので、もっと多段階に光らせられないものかな、と思った。

 そもそも、5V/10ビット=1024段のAD変換器にせいぜい4ビット分くらいの入力しかしていないのだから、これを12ビット分4096に展開したって、光り方に濃淡が足りないのは当たり前である。

 これは適切なアンプを使っていないからだというのは自明だ。

 そこで、今朝、フリップフロップ遊びをするために使ったトランジスタ、「2SC1815」に目が向く。うんうん、これで1石増幅してやろう。

 普通はこの場面ではオペアンプとかリニアICを買いに行くのだろうが、何しろ150円で10個も入っていた2SC1815がもったいない。活用しなければ。

 えーっと、どうやるんだっけな、と思い出し思い出し、ブレッドボードを作る。

 抵抗分圧でベースにバイアスをかける。エミッタにつなぐ抵抗に増幅したい倍率をかけ、それをコレクタにつなぐ。普通は直流成分カットのためのコンデンサを出力につなぐが、0~5VまでのArduinoのアナログ入力に入れるのだから、これはいらない。

 結局、ベースバイアスには220kΩ×2個、コレクタに10kΩ、エミッタに1kΩをつけた。望ましい抵抗値は他にあると思うのだが、なにしろ、手持ちのものがそれしかない。

粗製1石アンプ
2SC1815アンプ

 いやまあ、お詳しい方からすると、各種の数値がツッコミどころ満載なのでしょうが、いや、その、手元にある抵抗等がこんなのしかなかったんですよ(苦笑)。

IMG_3305

 小さいスピーカーをつないで音を聴いてみると、耳がおかしくなるくらい音が歪んでいるが(笑)、レベルは十分であるようだ。

 こんなスケッチを書き、PCのヘッドホン端子にArduinoをつないでレベルをチェックする。

#include <stdio.h>
void setup() {
  Serial.begin(9600);
  pinMode(0, INPUT);
}

void loop() {
  String graph = "";
  char s[30];
  int v = analogRead(0);
  sprintf(s, "%4d ", v);
  graph.concat(s);
  for(int i = 0; i <= v / 10; i++){
    graph.concat("*");
  }
  Serial.println(graph);
}

 音声を直接Arduinoに入れるとこんなものだが……

音声直接入力の場合
増幅前

「2SC1815」を1個通しただけで、うんと幅広になる。

2SC1815で増幅して入力した場合
増幅後

……というわけで、うまく幅広な入力が得られるようになった。

 で、入力はこれでOKだ、というわけで、それを「ピアノLチカ」につないでみたのだが、あれ……?

 3端子レギュレータが触れないくらい熱くなっている。いかんいかん、というのですぐ電源を外す。回路にどこか間違いがあるのかな、と小一時間調べたが、間違いはない。

 どうやらLEDドライブICのTLC5940NTがダメになってしまったみたいだ。いつもArduinoを保護するために、TLCには3端子レギュレータで5Vの別建て電源を作り、それを与えていたのだが、ネットの情報によると、それでTLCが不安定な状態の時に電源が通り、壊れてしまうことはよくあることらしい。

 うーん、390円、もったいないなあ……。まあ、また買いに行くとするか……。ピアノLチカは、また今度だな……。

投稿者: 佐藤俊夫

 50代後半の爺。技術者。元陸上自衛官。2等陸佐で定年退官。ITストラテジストテクニカルエンジニア(システム管理)基本情報技術者

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください