Arduino Si5351A SSD1306 VFO
                      の実験 2023/05/21


 自由に周波数を設定できるVFOを作ってみたい
超アナログ人間の私には無理と思ってたが、
いろんなサイトを眺めているうち、
 10KHz to 225MHz VFO/RF Generator with Si5351-Version2
というサイトを見つけた
これなら試すことができるかもと思い実験してみた

1 部品の調達
 ロータリエンコーダ以外は秋月電子で購入
 ロータリエンコーダ
  Amazon(VKLSVAN3個セット596円)
 Si5351Aモジュール(通販コードK-10679)
 SSD1603 Display(P-12031)
 Arduino Nano(M-09059)
 その他

2 回路図


 動作が不安定なので蛇の目基板で作りかえた
 Nano用のソケットがないのでピン数の足りないものを使った


RX/TXスイッチとS-MeterINPUTは省略した

3 Arduino IDEのインストール
 パソコン上のAruduinoIDEというソフトで、
プログラムを書いたりドライバーをインストールする
 AruduinoIDEをDドライブにインストールしたら、
ファイルの場所が分からないのでデフォルト設定でインストールし直した
 スケッチsketchとかライブラリlibraryなど意味不明の単語が多い
  File⇒PreferrencesとクリックしてLanguageを日本語に
  USBコードMini-BでパソコンとArduinoNanoを接続
  ツール⇒ボートでArduinoNanoをクリック
  ツール⇒ポートでポートを指定
  (デバイスマネージャーで設定されているポートを確認)

4 ライブラリのインストール
 まずライブラリのダウンロード

   スケッチ13行目以降のhttps://・・・のアドレスに行って
緑色のCodeの▽をクリックし、一番下のDownload ZIPをクリック
 同様にして全部ダウンロードする

 次にライブラリの追加
 AruduinoIDEでスケッチ⇒ライブラリをインクルード⇒ZIP形式のライブラリをインストール
  ドキュメント⇒Arduino⇒libraries 選んで開く

 ライブラリの確認
  スケッチ⇒ライブラリをインクルード⇒提供されたライブラリ
  この中にRotry.hなどが増えているはず

  ところがまだ不足で、いろいろ調べたらAdafruit_BusIOが必要らしい
 (GitHubのサイトでAdafruit_BusIO検索し、
  ZIPファイルをダウンロードし追加したら動作した)

5 スケッチの書き込み
 参考サイトのCode Sketchのあたりに紙が2枚重なったような所がある
 ここをクリックするとコピーできる
  スケッチを全てを削除して
  貼り付け
 ファイルの下の〇のレ点をクリック 「コンパイル完了」となればOK
 エラーの場合はごちゃごちゃとわけの分からないことが書かれている
 〇のレ点の右側の右矢印をクリック
  DISPLAYに表示され出力が確認できればOK
 私は1日中格闘してなんとかエラーが出なくなった

6 その他
 #define IF 455  ここを-455にすると下側ヘテロダインになる
  (表示周波数より455KHz下の周波数が発振する)
 #define BAND_INIT  の数字を11にすると立ち上がりが14MHzになる
  この数字は190行あたりの case 11 : freq = 14100000 の番号
   数字をたとえば14150000に書き換えれば14MHzを指定したとき
   14.15MHzが表示される
 #define xt_cal_F  この数字で表示周波数と発振周波数のズレを修正できる
  私の場合は-23000で周波数が合いました(使用する周波数帯で調整する)
 
 消費電力 9V 55mA
 出力RF電圧 約6.8Vpp(オシロスコープでの値)
 出力電力 5mW~40mW(FCZのQRPパワーメーターにて)
 出力周波数 10KHz~225MHz(両端では出力が5mWほどまで下がる) 

 Arduino UNOでも動作を確認した