2021.7.25 Arduinoから音を出す(回路編)
さて、次はArduinoのトーン関数を使って、音を出そうと思います。Arduinoのトーン関数は、
出力するピンと周波数、出力時間を入力するだけで音を出すことができます。
といっても、Arduinoにスピーカーがついているわけではないですから配線をしていかなければなりません。
下図が、Arduinoからスピーカーを駆動する回路です。
さて、まずはこの回路の部品を確認していきましょう。
スピーカー
スピーカーは、電気信号を音に変換する部品です。基本構成は、コイルでできており、交流信号を流すことで、振動板が前後に触れ、空気を震わせて音が出ます。
トランジスタ
トランジスタは電気の流れをコントロールする部品です。
半導体でできた能動部品の代表と言われるぐらいとても重要な部品で、いろんな電子回路で活躍しています。この回路では、スピーカーに流す電気は大きく、マイコンで直駆動させることは難しいため、トランジスタを間に挟みます。
ArduinoNano
Arduinoは、簡単なC言語のプログラムで、あらゆる出力信号を出すことが出来る。また、アナログ入力を7個積んでいて、分解能255でアナログ値入力できるため、精度の良いセンサーを作ることができる。詳しくは、どこかで説明したい。
スピーカー駆動回路
回路はいたってシンプルです。Arduinoからはデジタル出力の矩形波が出力される。このデジタル信号がトランジスタQ1のベースに入力される。ベースに電流を流すと、コレクタエミッタ間がONとなち、スピーカーに電流が流れる。デジタル信号のHIGH/LOWの周期によって、すぴーかーに電流を流す、流さないが変化する。したがって、デジタル信号の周波数の電子音がスピーカーから発せられる。
R1の抵抗は、デジタル信号の電流が、ベースには高すぎるので、抵抗R1を挟んで電流を小さくしている。
また、R2の抵抗も、スピーカーに流れる直流電流が大きすぎるため、R2の抵抗を挟み電流を小さくしている。
また、D1のダイオードは、スピーカーのコイルを矩形波でON/OFFしてしまうと、スピーカーの電圧が一気に跳ね上がってしまうため、電圧が跳ね上がらないようび、スピーカーのコイルにたまった電流を逃がす回生ダイオードを積んでいる。
次回は、Tone関数を利用して簡単にArduinoから音を出します。
2021/7/25 ひいらぎ