2022年12月23日金曜日

PCF8574 DIO拡張

Arduino UNO/nanoを使っていると、DIO点数が不足する事がある。DIO点数の多いMPUを使えば良いが、I2C接続のPCF8574を使えば簡単に拡張できる。拡張したDIOで、LEDのスイッチによるon/offスケッチを書いた。デバイスのアドレスは、表4の右側(R/Wなし7ビット16進アドレス)である。



回路図




デバイスアドレス

スケッチ

















ダウンロード

必要なファイルは、ダウンロードサイトにあるPCF8574フォルダのLEDswitch_on_off.zipダウンロード可能。


2022年12月21日水曜日

si5351a TFT VFO Ver.1.2

2017/6/3公開の1.8"TFT VFOエンコーダ操作時のレスポンスなどの問題もあり。見直した。当時、Arduino UNOで開発したが、機器に組み込むには大きすぎる。そこで、Arduino nano(UNOより使える容量が少ない)で動作出来る様、改造。
【改造点】
・エンコーダレスポンス改善
・Arduino nanoも動作
・他バンドへの改造が容易
・バグ修正

回路図     



       

      ライブラリの変更

si5351aコントロールの為、コンパクトなオリジナルライブラリを使っている。このライブラリで出力可能な周波数は、500kHz~150MHzである。しかし、AM BFOは0Hzを出力したいので工夫が必要。そこで、500kHz以下の周波数設定の時、出力offにした。






    





途中省略









以下省略

黄色マーカー部分が、si5351a2.hの追加変更箇所である。

他の周波数への変更方法

このVFOは前バージョン同様、モノバンド用である。


1)EEPROM初期化比較値’73’を他の数値に変更して、デフォルト値を初期値としてロードさせる。黄色のマーカ値を33,49,72など0以外の数値に変更する。







2)バンド変更とIF周波数及び、BFO周波数変更

周波数校正方法

スケッチを書き込んだのみでは、周波数が正しく出力されない。これは、何れのライブラリを使っても言える事で、校正をしなければ正しい周波数にならない。

【校正前】                【校正後】

校正手順
 1)si5351aのch2(BFO出力)に周波数カウンターを接続する。
 2)VFOをLSBモードにする。この時、IF_FREQがデフォルト値であれば、10.715MHz
  を出力している筈である。もし、10.715MHzいがいであれば3)の作業を繰り返す。
 3)si5351a2.hの黄色マーカ部の数値を変更して、コンパイル、書込み10.7150MHz
  になるまで繰り返す。

スケッチ等のダウンロード

このVFOは、500kHzから150MHzまで出力可能だが、表示は1Hz台から99MHz台までである。理由は、ヘテロダイン出力の見直し、表示域を増やすことによるレスポンス低下懸念がである。スケッチは99MHz台まで表示可能。追加機能として、EEPROM初期化をSTEP SWを押した状態で電源onすると、デフォルト値になる処理を含めた。

Download siteにあるsi5351a TFTフォルダのsi5351a_TFT18_1.2.zip