![]()
アマゾンで59円で売られていたFMチューナモジュール、ダイソーの300円スピーカ、Amazonの箱を使ってFMラジオを作ってみました。
意外と感度がよく、よい音で鳴ります。
Ver.2: 電池が消耗して電圧が下がると液晶ディスプレイの表示が薄くなってしまうので、液晶ディスプレイのコントラストを電池の電圧に応じて自動調整するようにしました。
動画
まずは動画をどうぞ。
Youtubeにアップした動画が、「著作権侵害」と警告を受けました。ラジオから流れていた楽曲がダメらしいです。該当部分をYoutube内の修正機能でミュートしました。冒頭、電源を入れてしばらくの間、音が出ません。
回路
マイコンはPIC12F1501、FMチューナモジュールはRDA5807M(ネットショップによって値段が結構違う)、小型液晶ディスプレイはAQM0802A-RN-GBW(秋月電子)、これらをI2Cで接続。一番高い部品が小型液晶ディスプレイなので、これを省けば安く作れる。
音声出力はダイソーの300円USBスピーカ(アンプ入り)を繋ぐ。電源は乾電池2本の3V(USBスピーカのアンプも3Vで動作した) (拡大図)。
プログラム
電源投入時に電池の残量を表示する機能を追加しました。また電池電圧測定のAD変換パラメタ他が適当でなく、正しい電圧を測定できずコントラストが異常になることがあったので修正しました。改版したプログラムVer.2.1を公開しましたNew。
以前のソースプログラム(Ver.2)とHEX(Ver.2)です。バグがあるかも知れません。無保証です。著作権は留保しますが、改変などご自由にどうぞ。
一応、旧版のソースプログラム(Ver.1)とHEX(Ver.1)です。
※PIC12F1501はPICKIT2では書き込めず、PICKIT3を使いました。
概要
- タクトスイッチで選局し、局名・周波数を小型LCDディスプレイに表示。
- FM局はプログラム内に局名・周波数とともにテーブル記述(東京周辺のみ;他の地域では書き換え要)。
- 選局情報はPICのFlash Memoryに覚えておき次回電源オン時に復帰。
- PICは電源投入時の初期化と選局時以外はスリープ。
- ワイドFM(AMラジオ番組をFMで放送)も受信可能。
- 電池の電圧低下(3.2V〜2.2V位)に応じて小型LCDディスプレイのコントラストを自動調整(Ver.2)
製作過程
手抜きですが、以下のblog記事を参照ください。
- 今更ですがPICKIT3を使いはじめました(2019.9.7)
- PIC12F1501にはEEPROMが無かった(2019.9.8)
- FMラジオモジュールRDA5807Mを試してみました(2019.9.22)
- 59円FMラジオの動画 (2019.9.29)
- 59円FMラジオモジュールを基板に載せました。 (2019.10.10)
- 59円FMラジオをamazonの箱に入れてみた。 (2019.10.14)
- PICで自分の電源電圧を測定してみた(2019.10.26)
- 台湾から届いたロッドアンテナ (2019.11.1)
- 59円FMラジオにロッドアンテナを付けました。(2019.11.4)
以下、電圧低下によりコントラストを補正する仕掛けの解説と実験動画です。
※当初、下記右の91円のアンプを使おうと思って購入したが、ダイソー300円スピーカが使えたので未使用。
ピン番号修正(2021.2.23追記)
RDA5807Mのピン番号を勘違いしていたことに気付きました。回路図は実体図に近い形で書いていたので、間違わないとは思いますが差し替えました。
RDA5807Mと殆ど同じモジュールでTEA5767というのがあるようで、それとごっちゃになっていたようです。以下がそれぞれのピン配です。物理的なピン割り当ては1箇所を除いて同じです。その1箇所は、L-outとR-outが逆というもの。なんでココだけ変えるかな? ネットに載っているRDA5807Mを使った回路図でL/Rが逆というのがあるようですが、これが原因かと思います。
![]()
以上