LoginSignup
0
1

More than 3 years have passed since last update.

KT0915をArduinoで制御 AM・SW編 DSPラジオ

Posted at

はじめに

  • KT0915の続編。FMに続いて、中波、短波に挑戦。
  • バーアンテナをつなげて、コードを一部変更すると、あっさりと受信できました。
  • 中波と短波は同じコードでいけました。

使用したもの(FM編+バーアンテナ)

  • KT0915(http://www.aitendo.com/product/7449)
  • KT0915のデータシート。上記参照。
  • Arduino Uno互換機(ELEGOO)
  • バーアンテナ PA-63R、AR-55GT、2V59M。 ストレート用、スーパー用のどちらでもいけました。聞き比べはしてません。

配線

  • Ping10 と Ping11 にバーアンテナをつなぎます。バーアンテナは両端のタップを使いましたが、どこでも良いような気がします。
  • 配線図は割愛。

コード作成のポイント

  • FMの場合、FMTUNEビット(レジスタ03h)を操作しましたが、AM、SWの場合、03hの代わりにレジスタ17hを操作すればよい。
  • 03hと同様に、周波数(1khzで計算)と一緒に、AMTUNEビット(17h.15)を1として書き込めばよい。

動作コード

  • 上記のポイントを考慮して作成した、特定の周波数を書き込むシンプルなコード。FM用のを流用したので、余計なレジスタ設定が混じっているかもしれません。
  • 短波(SW)も同じコードで行けました。設定周波数を変更すれば受信できました。
#include <Wire.h>
const unsigned int AM[]=
{                     
0x02,0x0007, // 100kh, RLmute dis
0x03,0x0000, // FMtune0, 00Mhz
0x04,0xe080, // SoftMute dis, Mute dis
0x05,0x1800, // stereo, DE50
0x0f,0x881f, // standby0, vol 11111
0x16,0x8002, // AM, AMAFC en

//0x17,0x8252, // AMtune1, 594kh
//0x17,0x82b5, // AMtune1, 693kh
0x17,0x83ba, // AMtune1, 954kh
//0x17,0x846e, // AMtune1, 1134kh

//0x17,0x9cf2, // SW tune1, 7410kh

0xff,0xffff,
};

void setup() {
  // put your setup code here, to run once:
Wire.begin();
int i=0;
while (AM[i] !=0xff) {
Wire.beginTransmission(0x35); // slave address 0x35
Wire.write(AM[i]);      // Register i
Wire.write(highByte(AM[i+1]));      // Register i H
Wire.write(lowByte(AM[i+1]));      // Register i L
Wire.endTransmission();     //
i+=2;
delay(100);
}
}

void loop() {
  // put your main code here, to run repeatedly:
}

おまけ

  • AM放送はそこそこ感度は良いですが、音が割れているような気がしました。
  • 短波放送は、受信はできました(バーアンテナ不要)。天井から垂らしたリード線をアンテナ(Ping11に接続)にしているのですが、感度はあまりよくありませんでした(中国国際放送)。電波状況なのか、受信環境が悪いのか、コードが悪いのかよくわかりません。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1