48円のFMラジオモジュールで、ラジオを作る(RDA5807M、Arduino nano) | a24a24a24のブログ

a24a24a24のブログ

アメピグ残党。
釣り、温泉、お出かけ、パソコン。最近、電子工作。

 

 

ことの始まりは、一ヶ月前。

最近、ニュースが同じ話題ばかりで、TVを見なくなってきた。と話していたところ

「ラジオがいいよ。他の作業が並行できるし」と勧められました。

 

で、AliExpressにてお安いラジオ(と部品)を探していたら・・・。

 

 

 

ダントツで安い!

なんと48円という激安FMラジオボードを発見。送料込み。

しかし、えらく小さくないか?コレ。1cm×1cm程しかないんだけど。

 

というわけで、電子工作でいっちょうFMラジオを作ってみました。

 

 

 

 

今回作ったラジオの回路図です。たったこれだけ。

Arduino nano(5V)と、RDA5807Mを搭載したRRD-102ボード(3.3V)を、レベル変換器をはさんで接続。

I2C通信で周波数、ボリューム、各種設定を制御します。

レベル変換なしの5Vでは全く動かなかったので注意。

RRD-102ボードの音声出力L/Rは、イヤホン端子に直結。アンプなしでイヤホンを鳴らせます。

アンテナは適当なジャンパー線を90cmほど連結しただけです。

 

 

なお工作にあたり、以下のブログを参考にさせて頂きました。感謝致します。

【Arduino】FMラジオモジュール RDA5807Mを使ってみる【RRD-102】

 

 

 

この工作の最大の難所。

1cm角のRRD-102ボードの穴ピッチが、標準の2.5mmではなく2mmなのです。

そのままではブレッドボードに差し込むピンヘッダを取り付けできません。

 

困った挙げ句、ジャンパー線を真ん中で切った物を7本用意、裏面に震える手でハンダ付けしました。

端子にハンダを盛ってから、銅線をコテ先で押さえて埋めると、なんとか接続できました。

 

 

 

左がマイコン Arduino nano、右下がロジックレベル変換器。

奥がたばねたワイヤーアンテナ。伸ばした方が感度が良いです。

 

 

Arduino nanoで制御するプログラムは、以下の手順で用意します。

(1)Arduino IDEのライブラリの管理で、標準ライブラリ内の「Radio」をインストール

(2)スケッチ例→Radio→「TestRDA5807M」を開く

(3)3ヶ所修正

 ・#define FIX_BAND     RADIO_BAND_FM → RADIO_BAND_FMWORLD に修正

 ・#define FIX_STATION  8930 → 8000 に修正。近隣FM局の周波数を指定、8000=80.0MHz

 ・Serial.begin(57600); → 9600 など、シリアルモニタの速度をお好みで。

 

 

 

Arduino nanoでプログラムを動かすと・・・イヤホンから音が聞こえました!

予想より良い音です。高品質とはいいませんが、中域低域がしっかりで、音楽も十分聴けます。

車のFMラジオの音がイメージに近いかもしれません。

 

シリアルモニタを開くと、FMラジオのステータスが表示されます。

RSSIは電波の強さでしょうか。20以上ないとSTEREOで受信せずMONOになってしまいます。

自宅の室内では2~3局が25以上で受信できましたが、もう少し感度が欲しいところです。

 

音量は、イヤホンで聴くならばうるさいくらいまで上がりました。

スピーカーを直結するには、少々力不足かもしれません。アンプモジュールを用意した方がいいでしょう。

 

 

 

Arduino nanoのプログラム次第で、

時計モジュールと組み合わせて「目覚ましラジオ」にしたり、

照明の明るさや気温でラジオがオフオンしたりすると、面白いかも。

また小さいので、100均などのいろいろな物に埋め込みができるかもしれません。

 

おしまい。