2010-11-03
秋月電子通商で販売されているFMステレオ/AMラジオ・モジュール・キットをAVRマイコンで制御して、PCから制御できるようにする装置です。
5Vの電源はUSBから取ります。
後ろのUSBケーブルはオプションです。右の写真のように、USBオーディオインターフェースで録音する場合に利用します。
マイコンはATMEGA48を使用します。UARTでPCとのコマンドのやりとりを行い、I2Cでラジオモジュール(NS9542)を制御します。
18cm長のフェライトバーアンテナで高感度を狙います。
内部のコイルの様子です。
コイルの推奨値は650μHです。
500μHから1600μHくらいまで試してみましたが、それなりに受信できるようですので、コイルの巻き数は適当でいいみたいです。それより、アンテナから基板までのケーブル長の方が問題です。長すぎると減衰するようです。理想は10cmですが、長くても30cmくらいにとどめておいた方がいいでしょう。
radio.hexをATMEGA48に書き込む必要があります。
制作が完了したら、まず目視で配線を確認してください。次に、ICとラジオモジュールを装着しない状態でUSBケーブルを接続し、最低限、電解コンデンサの足とICとラジオモジュールの電源端子に、5Vがかかっていることを確認してください。電源に問題がないようなら、いったんUSBケーブルを抜いて、ICとラジオモジュールを装着してから、USBケーブルを接続します。
RS-232Cで本機を接続します。ホストのPCは9600bps、8ビット、ノンパリティ、ストップ1ビット、でターミナルを開きます。
下の図はPuTTYを使用する場合の例です。接続先の指定で「シリアル」を選択し、「開く」をクリックします。
ターミナルが開いたら、まず「?[Enter]」と入力して、 「 RADIO 1.0」と表示されれば、通信は成功しています。
?[Enter] RADIO 1.0
周波数の数値を入力して、そのまま[Enter]を押します。
AM954kHzに設定する場合。kHz数をそのまま入力します。
954[Enter]
FM82.5MHzに設定する場合、MHz数を100倍して入力します。
8250[Enter]
2000未満の数値を入力した場合、AMの周波数。それ以上の数値の場合、FMの周波数の設定となります。
周波数を設定しただけでは、音は鳴りません。後述のバンドの選択をすることで、放送が聴けます。
AM放送を選択するコマンドは、amです。
am[Enter]
FM放送を選択するコマンドは、fmです。
fm[Enter]
このどちらかのコマンドを実行すると、ミュート状態が解除され、先に設定した周波数の放送が聴けます。
消音するには、muteコマンドを実行します。
mute[Enter]
再度、放送を聴くには、amコマンドまたはfmコマンドを実行します。
Windowsから本機をコントロールするサンプルプログラムです。ソースコードを同梱していますので、改造のための参考にしてください。
大きな基板にゆったりレイアウトして、電源は9Vのアダプタから取るようにしました。アンテナを最短距離で配線し、北の窓際に配置したら、感度が大幅に向上しました。
自宅で受信した放送を遠隔地で聴きたい場合に利用できる、配信プログラムを作成しました。
※不特定多数が聴取できるような設定はおやめください。
Arduinoに移植してみました。