(Ab)ArduinoをAMミュージックトランスミッターとして使用してください!
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 2 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
ATmegaMCUでクールなことができます。そこで、Arduino Nanoを使用してAM送信機を構築するというアイデアを思いつきました(他のArduinoも可能です)
問題は、デジタルデバイスで振幅変調(AM)をどのように実現できるかということです。 AMとは、送信したい入力信号の振幅に応じて、搬送周波数の振幅が変化することを意味します。数学的に言えば、キャリアに入力信号を掛けます。ただし、ATmegaにはデジタル出力しかないため、高値と低値の2つの値しか与えることができません。率直に言って、Arduinoから実際のAMを引き出す方法はありません。
それでも、通常のAMラジオ受信機ではっきりと聞こえる出力信号を生成することは可能です!
このソリューションは、ADCとATmega MCUの16ビットタイマー/カウンター1を使用して、アナログ入力信号をPWM信号に変換することで構成されています。
timer / counter2は、31KHzから8MHzまでの広い範囲で変化することができるキャリア信号を生成します。
このキャリア信号は、PWM信号のリズムでピンD11に出力されます。 AMラジオはPWMのローパスフィルターのように動作するため、元のオーディオ信号をそこに戻します。
これは概念実証にすぎないので、シンプルに保ちました。これを本当にRF送信機として使用したい場合は、オーディオ入力へのアンチエイリアシング用のローパスフィラーと、RF出力への高調波に対するローパスを追加する必要があります。
コード
- ArduinoAM送信機
ArduinoAM送信機 C / C ++
/ *この作品は、Creative Commons Attribution-ShareAlike 4.0 InternationalLicenseの下でライセンスされています。このライセンスのコピーを表示するには、http://creativecommons.org/licenses/by-sa/4.0/.*/#define ANTENNA_PIN PB3 // Arduino Nano / Uno D11 //にアクセスしてください。リセットを押すとセットアップ機能が1回実行されます。またはboardvoidsetup(){Serial.begin(115200);に電力を供給します。 //キャリア周波数の生成uint32_tfTransmit =600; // KHz DDRB | =(1 <18.5kサンプルレートDIDR0 =(1 <
回路図

製造プロセス