aitendoの2020年正月の福袋に入っていたDSPラジオ基板M6959と16x2のキャラクター液晶を使って、MachiKania type M用ラジオシールドを作成しました。
動画はこちら
https://youtu.be/CZbVRWCa3GQ
クラスライブラリBUTTON.BAS、CHRLCD.BAS、RTC.BASをメインプログラムDSPRADIO.BASと同じディレクトリまたはLIBディレクトリ配下の各クラス名のディレクトリにコピーし、メインプログラムを実行します。
RTCクラスライブラリRTC.BASは下記の工作魂さんのサイト(https://github.com/kosaku-damashii/MachiKania-RTC )からダウンロードしてください。
<選局モード>
↑↓ 音量調節
←→ 登録された放送局を選択
START チューニングモードに移行
FIRE 長押しで時計設定
<チューニングモード>
↑↓ 音量調節
←→ 周波数調節。長押しでスピードアップ
START 選局モードに移行。長押しでサーチモードに移行
FIRE バンド変更。長押しで時計設定
<サーチモード>
↑↓ 音量調節
START サーチ停止し、チューニングモードに復帰
<時計設定モード>
↑↓ 値変更。長押しでスピードアップ
←→ 年月日時分秒の移動
START 設定キャンセルし元に戻る
FIRE 時計設定更新し元に戻る
DSPRADIO.BASの最後尾の「LABEL PLIST」行以下のDATA群で定義します。
最初の数字がバンド種類を表します。バンド種類は「LABEL PLIST」の少し上の「LABEL BLIST」の記載順の番号です。先頭が0番でFM、次が1番でAM、以下2番が90mバンド、3番が60mバンド・・・と続きます。
バンド種類の次にチューニング値(0~2730)を記載します。ただし、バンド種類0のFMと1のAMは周波数(KHz単位)で記述し、プログラム内部で計算式によりチューニング値に変換しています。
最後に液晶に表示する放送局名を9文字の文字列で記述します。9文字未満の場合は必ず後ろにスペースを付けて9文字としてください。
最大で30局まで定義することができます。最後のDATA文に「-1」を記述します。
使用環境によってDAコンバーターへの出力値と実際にチューニングされる周波数にばらつきがあるようです。
そのため選局モードで定義したFMやAMの周波数が標準の計算式では正しくチューニングされない場合、以下の手順で較正を行ってください。
チューニングモードで周波数が既知の2つのFM局(なるべく周波数が離れている2局がよい)のチューニング最適値(液晶に[ ]で表示されている値)をメモ。周波数をF1、F2(KHz単位)とし、チューニング値をT1、T2として以下のA、Bを算出します。
A=(T1-T2)/(F1-F2)×100000
B=(T1×F2-T2×F1)/(F1-F2)
そして、DSPRADIO.BASの最初のほうの選局データ読み込み部分に下記の記述を探します。
IF A=0 THEN
PFREQ(PNUM)=READ()
PTUNE(PNUM)=PFREQ(PNUM)*9523/100000-6523
この9523をAの値、6523をBの値に書き換えます。
AM局についても同じ方法でA、Bを求め次の部分を書き換えます。(2となっているのは200000/100000のことで200000をAに書き換えます。)
ELSEIF A=1 THEN
PFREQ(PNUM)=READ()
PTUNE(PNUM)=PFREQ(PNUM)*2-884
工作魂さんによるMachiKania type M用AE-RTC-4543SA-V2のクラスライブラリ
https://github.com/kosaku-damashii/MachiKania-RTC