目次>5章 第2ステップ(色々な実験)>(11)スピーカを使って音を出す(アンプ,ドレミ)
スピーカを使って音を出す(アンプ,ドレミ)
更新日2006.2.28
前の「スピーカを使って音を出す」の追加実験を行います。
- 追加実験1 アンプで増幅する。
- 前ページでは、PICに直接スピーカを接続していましたが、今回はLM386というアンプを使って増幅します。
- 追加実験2 ドレミファソラシド
- 上の実験回路を使って、「ドレミファソラシド」を演奏します。
これを少し改造してスイッチで制御すれば電子オルガンが作成できます。
追加実験1 アンプで増幅する | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
・ |
PICに直接スピーカを接続しても、音が出る事を確認できますが、ゲームなどで使用するには音量が足りません。
今回作成する回路図です。最小限の部品で構成しました。
前ページ(スピーカを使って音を出す)では、RA0に直接スピーカを接続しましたが、LM386と言うアンプで増幅しています。
それ以外は、前ページと同じです。
ブレッドボードに組み込んだ状態です。
前ページで作成したプログラムをそのまま使って、まずは動作確認をしてみて下さい。 PICでスピーカを直接駆動する場合と比べて、随分大きな音が出ると思います。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
追加実験2 「ドレミファソラシド」を演奏 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
「ドレミファソラシド」を演奏するプログラムです。 まずは、これをメモ帳などのテキストエディタに取り込んで、DOREMI.ASMという名で保存し、MPLABでアセンブル&PICライタでPICに書き込んで動かしてみて下さい。 どんな音が出ましたか?
音階と周波数の関係は、下の表のようになっています。
表の「cnt1」はT/2(mS)の時間を作るカウンタで、TMR0割込み回数です。次で説明します。
1/2サイクルの時間は、TMR0割込みを基準に設定します。 TMR0割込みを25.6uS(マイクロ秒)毎に発生させ、上の表のcnt1の回数カウントする事で1/2サイクルの時間を作ります。
25.6uS×75=1.920mSとなり、低い方の「ド」の音が出ます。
プログラムの概略フローです。
「25.6uS」と「500mS」は、それぞれフラグを用意し、TMR0割込みルーチンでセットします。
|