Buzzer: Data-Signal-Modulator
PIC12F1822などPIC1000番系のICに搭載されている機能です。信号をデジタル変調出来るので試して見ました。
キャリア(メイン発振など)をDATAによって合成(変調)することが出来ます。結果は出力端子に出せ、利用出来ます。[試 す]
今回はキャリアとして、内部RC発振に31.25KHzを使い1/32の分周を使うと約1KHzが取りだせ、耳で確認出来ます。デュウティ比も75-50-25-0と選択出来ます。使うのには50%が使い易いのでここに設定しました。
分周は1/1から1/128まで取り出せます、4K・2K・1K・500Hzが利用出来そうです。8KHzは高すぎておじさん・おばさん組は耳が付いていけないです(内緒!)。
コントロールはSoftコントロールも出来ますが、外部端子[RA1]を使いON-OFFさせました。もし、コントロールせず出しぱなしにすれば「単なるブザー」になります。ブザーではあまりメリットはなさそうですが人の呼び出しなどには使えそうです。たとえばお店で人が来たらSWを踏んで音が出るなどです、今ではもっとうまい方法があるかもしれません。[コントロールするには]
DSMを使うにはいくつかのレジスターを設定する必要があります。サンプルとして出しますと…。
☆メインキャリアをクロックとして使うには [CLKRCON=0b11110101]で分周やデュウテイ比などを設定します。発振周波数(1/4ではないのに注意)を1から1/128まで分周可能です。 ☆モードの設定は [MDCON=0b01100000]で(数字はサンプルです。) ☆信号のコントロールは [MDSRC=0b10000000]でMD-bitをONさせます。SoftでここをON-OFFすればコントロール出来る。 ☆リファレンス周波数などは [MDCARH=0b10100011]選択します、Hの時はこちらを! ☆同じく選択で [MDCARL=0b10000000]VSSです、Lの時をセットします。 ブザーなどキャリアを出しっぱなしにするには[MDSRCのMDbit=1]にします(0で消音)。 コントロールを外部端子(RA1)にするには[MDCARHの下位bitの設定]で可能です。これで出力(RA0)からの信号がコントロールされます。また、[1]にしておくと単に「電源を接続すると音が出る」というものが出来ます。
入力端子を使う場合、インピーダンスが凄く高いので100KΩで接地すると、50KΩの抵抗を間に入れ電源から供給するとHと判断出来ます。これでも動作するので面白い!
現在のプログラムは外部端子を利用し、H入力でブザー(1KHz)を出すという単純な物です。
LEDが光で知らせるのに対し、これは耳で聞こえるので何か作業中など便利です。これだけ別に作っておこうと思いました。[プログラム]はこれです。
[追加情報] 消費電流が0.1mA少し流れるのは、BODを切っていない為で、Config設定をOFFにすると改善されます。
[コンパイル出来ない!もしかしてバグかなー]
MikroC PROのV5.61ですが、MDSRCやMDCARHのdataをBinaryで入れようとしましたが反応せず!エラーです(MDCARLはちゃんと取り込むのに…ぬぬ)。だめかなーと思って0X**で入れたらコンパイルが通りホットしました。V5.61は呼び出しが悪いようです。
[もしかして!]
最近NIKONカメラの赤外線リモコンをやっていましたが、もしかしてキヤノンカメラも動くかもしれません。というのも
33KHzぐらいの周波数ですから、33/31.25で約6%ぐらいの誤差です。「カメラの方はだまされて動く!」かもしれません。作成 [2012/11/1]
[MAIN MENU へ戻る]