ArduinoとRDA8057Mを使用したFMラジオ
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
必要なツールとマシン
> ![]() |
|
このプロジェクトについて
最近、 RDA5807 に出くわしました 非常に小さなパッケージのFMラジオチューナーであるモジュール。これは非常に安価で、通信にI2Cプロトコルを使用します。つまり、ICとの通信に必要なワイヤは2本だけです。配線が少ない!
私の母は、ラジオが死ぬ前に、料理をしながら毎日ラジオを聞いていました。自分で作ったラジオで彼女を驚かせたかった。
このチュートリアルでは、RDA5807ICをArduinoとインターフェースする方法を紹介します。見栄えを良くするために、エンクロージャーを設計して3Dプリントしました。 3Dデザインは初めてなので、シンプルなデザインになります。派手なものはありません。
始めましょう!
備品:
1x Arduino Nano
1x RDA5807MFMラジオチューナーIC
1x I2COLEDディスプレイ
1x3Wスピーカー
1xPAM8403オーディオアンプモジュール
2x6x6タクタイルスイッチ
1x100kポテンショメータ
1xDC電源ソケット
オプション:
3Dプリンター
ステップ1:計画
計画は、すべてをシンプルかつきれいに保つことです。派手なものはありません。
プロジェクトの頭脳としてArduinoNanoを使用します。モジュールとの通信の大変な作業はすでに完了しています。必ずラジオライブラリをインストールしてください。あなたが遊ぶことができる多くの機能があります。 注:このライブラリは、SI4703、SI4705、およびTEA5767でも機能します。
前面の1つの押しボタンは、ラジオを「周波数選択」モードにするために使用され、もう1つの押しボタンは周波数を選択するために使用されます。ポットは、事前設定された周波数(場所に応じてコードで設定できます)をスクロールするために使用されます。
OLEDディスプレイは、チューニングされた周波数を表示するために使用されます。
ラジオモジュールの出力オーディオ信号は非常に低く、0Wスピーカーを駆動するには不十分です。 PAM8403モジュールは、オーディオ信号を増幅するために使用されます。このモジュールには多くのバージョンがあります。ボリュームコントロールとON / OFFスイッチ用のポットがあるものを選びました。
ステップ2:FMラジオモジュールの準備 <図>



写真を見ればわかるように、とても小さいです!その上、モジュールのパッド間隔はブレッドボード/パフォーマンスボードに適していません。
そのためのブレイクアウトボードを作成する必要があります。モジュールのサイズ程度のパフォーマンスボードの小片をカットします。両側に少なくとも5つの穴があることを確認してください。写真のようにオスのヘッダーピンをはんだ付けします。次に、モジュールをボードに配置し、モジュールのパッドとヘッダーピンの間に細いワイヤーをはんだ付けします。コンポーネントレッグのトリムアウトを使用しました。
ステップ3:エンクロージャーを作成する <図>








私は3D設計にまったく慣れていませんが、これは私が設計したものの中で群を抜いて最も多いものです。エンクロージャーはFusion360で設計され、Creality Ender3プリンターで印刷されます。使用したすべての.STLファイルを添付しました。
フィラメントは一色しかないのでフロントプレートを白く塗りました。
はんだごてを使って、アウターボディの穴に「M3スレッドインサート」を挿入しました。とても満足でした!
瞬間接着剤を使用して、アウターボディの内側にインナーリムを接着します。
また、アンプのノブとアンテナ用に「バックプレート」にそれぞれ6mmと2mmの穴を開けます。デザイン中に追加するのを忘れてしまいました。
ステップ4:回路基板の準備 <図>





2枚の回路基板を作る必要があります。 1つはArduinoとFMモジュールを備えたメインボードで、もう1つはフロントプレートに取り付けられるプッシュボタン用です。
コンポーネントごとにオスとメスのヘッダーピンを使用したコネクタを使用して、簡単に接続/切断できるようにしました。必要に応じて、この手順をスキップできます。
回路図に従って配線を行います。
ステップ5:コーディングの時間 <図>


コードはここに添付されています。 .inoファイルをダウンロードしてArduinoIDEで開きます。アップロードする前に、変更する必要があることが2つあります。
- ラジオ局の数とその周波数が変わります。グーグルですばやく検索すると、ステーションとその頻度がわかります。それらをリストアップしたら、図に示すように「stations []」配列に追加します。小数点を省略する必要があります。たとえば、9110は91.10 MHzを意味し、10110は101.10MHzを意味します。また、角括弧の間にステーションの総数を入力します。私の場合、アレイ内に12のステーションがあります。したがって、ステーション[12]。
- ステーションの総数から1を引き、2番目の図に示すようにコードに入力します。この場合は11。 もっと良い方法があることはわかっていますが、代わりに多くのエラーが発生しました!
そして、コードをアップロードしてください!
ステップ6:物事をまとめる <図>













OLEDディスプレイとスピーカーをフロントプレートの所定の位置に熱接着します。
3D印刷されたボタンを所定の位置に配置し、触覚スイッチに瞬間接着剤を1滴追加し、回路基板をボタンの上に配置して、ボタンとスイッチが一列に並ぶようにします。
フロントプレートにポテンショメータをねじ込みます。
内側の縁に大量の瞬間接着剤を塗布し、すべてのコンポーネントを含む前面プレート全体を縁に配置します。
コンポーネントをメイン回路基板にすべて接続します。ラジオモジュールからのオーディオ出力を、バックプレートに取り付けられているアンプに接続します。
ストレインリリーフとして機能するように、コネクタの周りにホットグルーを少し塗ります。
M3ネジを使用してバックプレートをネジ止めします。
最後に、ホットグルースティックを厚さ約2〜3mmの4つの円に切り、図のように下部に接着します。それらはゴム足の目的を果たします。
完了です!
ステップ7:お楽しみください!
5V電源を使用してラジオの電源を入れます。 5Vのものが見つからない場合は、入力として12Vの7805電圧レギュレーターを使用してください。
最後まで頑張っていただきありがとうございます。皆さんがこのプロジェクトを愛し、今日何か新しいことを学んだことを願っています。自分で作ったら教えてください。今後のプロジェクトについては、私のYouTubeチャンネルに登録してください。もう一度ありがとう!
コード
- FMRadio_final.ino
FMRadio_final.ino Arduino
プレビューなし(ダウンロードのみ)。
Github
https://github.com/mathertel/Radiohttps://github.com/mathertel/Radio カスタムパーツとエンクロージャー
Face%2BPlate.stl 戻る%2BPlate.stl Button.stl Inner%2BRim.stl Knob.stl Outer%2BBody.stl 回路図
製造プロセス
- PythonでArduinoとRFIDを使用した出席システム
- Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
- LCDアニメーションとゲーム
- Pi-Arduinoインターネットラジオ
- Arduinoとスマートフォンを使用したDIY電圧計
- IOT-ESP8266、Arduino、超音波センサーを使用したスマートジャー
- Arduinoを使用した周波数とデューティサイクルの測定
- FirmataとXboxOneControllerを使用してArduinoRoverを制御する
- arduinoを使用したソナーと処理IDEでの表示
- BoltとArduinoを使用したLEDの明るさの制御
- ArduinoとProcessingIDEを使用してコンパスを作成する方法