PICマイコンで時間をカウントしよう
現在の課題は、PICマイコンを用いて音楽を再生することである。前回、PICマイコンの複数のピンを同時に制御することで和音を作ることに成功した。 次の目標はリズムをつくる、すなわちPICマイコンを用いて時間をカウントし、そのカウントに合わせて音を出すことである。 具体的には、PICマイコンのピンをLEDにつなぎ、一定のリズムで点灯するようなプログラミングを考えた。 応用方としては、音楽における16分音符、8分音符、4分音符を作るときの基準とする。
目標
PICマイコンを用いてLEDを点滅させる。このとき、点滅の時間をA,B,CのLEDにおいてそれぞれ1秒、2秒、4秒の間隔にする。 具体的には下図のようなパターンを目指す。下図は横が時間、縦がLEDのA,B,Cである。
解決策
上記の図のように3つのLEDをそれぞれ点滅させるためにはPICマイコンから下図のようなパルスをLEDに送ればよい。よって、以下のパルスを送るプログラミングを考える。 下図は0[V]、5[V]の出力をAは1秒、Bは2秒、Cは4秒ごとに切り替えている。
以上のようなパルスを描いたとき、これは前回考えた、PICマイコンの複数のピンを同時に制御するプログラムを利用できることに気づいた。 前回との差は、一つあたりのパルスの時間間隔が前回よりも長いという点である。前回は音波を発生させるため、約300[Hz]のパルスを発生させたが、 今回は1~0.25[Hz]のパルスを発生させる。したがって、一つあたりのパルスの時間間隔が300~1200倍ほどになる。このことに気づいたので、目的のLEDの点滅をプログラミングすることができた。 今回のプログラムの考案を通して、前回考えたPICマイコンの制御方法はとても応用が利くことがわかった。前回、今回のプログラミングを組み合わせて、PICマイコンを用いた音楽の再生を目指す。