So-net無料ブログ作成
検索選択

なんちゃって電子ボリューム [Arduino]

メロディーを鳴らすでATMega で音を再生することができたが、音量を制御したい。
グーグル先生に聞くと電子ボリュームとか、ポテンションメーターなんていう IC があって、
そういう用途に使われていることがわかりました。

しかし、これらをどうやってつかっていいのかよくわからない!
そして、ブザーごときに高級すぎないか?と思いました。

そこで遥か昔学生時代に勉強しようとして挫折したトランジスタを思い出しまして、
トランジスタは増幅するんだよね?じゃあ音量調節できるんじゃね?
という素人の発想でやってみました。いろいろ調べた結果、
世間ではトランジスタはディスコンになりつつあって、MOS-FETなるものが
出回っているようです。でもいいんです。リベンジなんで。

今回は水魚堂の回路図エディタで人生は初の回路図を描いてみました。
volume.png
積分回路の抵抗とキャパシタの容量は PWM信号とローパスフィルタを用いた簡易D/A にある
シミュレーターを使って値を決めました。


今回はサクっと実験するときには最適の Arduino でやりました。
Pin3 から音を出します。といってもただのpwmでメロディーの代わりです。
Pin5はPwmデューティー比を変えて出力します。その先に積分回路をつけて
デューティー比によって電圧を調節できるようにします。

トランジスタは1個でよいと思いましたが、なぜか貧弱な音しか出ません(積分回路の抵抗で電流が減った?)。
そこでもう一個トランジスタをつけると、まぁ満足なボリュームになったのでそれでOKとしました。

どんな感じになるか動画も撮りました。


Arduino のスケッチは次のとおり
int8_t vol = 0;

void setup()
{
  pinMode(3,OUTPUT);
  
  // play sound
  analogWrite(3,127);
}

void loop()
{
  // control volume
  analogWrite(5,vol);
  vol += 8;
  delay(100);
}

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。