ArduinoとDSPラジオモジュール(M6955)とLCDを使って、ラジオを作りたい。
ソフトはプログラミングがとても苦手なので、対話型AIに頼ったり、先人の知恵(コード)を多分に拝借して作っていく。
前回、LCDの動作確認して、なんとなく動くことは確認できた。
これで、LCDとラジオモジュールの動作確認ができたので、本格的にラジオの形にしていく。
今のところ、頭の中のハード構成はこちら。
次に、操作系をどうしようか考えてみる。
必要なのは、バンド切替、モード切替(メモリor手動チューニング)、チューニングダイヤル、音量調整あたりだろうか?
音量調整はVR、バンド切替とモードはpush SWでok。
ラジオなので、チューニングダイヤルは欲しいところ。
そこで、選局にはロータリーエンコーダーを使う。
購入したのはこちら↓ (秋月電子で100円)
A接点の立ち上がり(または立下り)の時のB接点の状態でCWかCCWかがわかる。
以下はエンコーダー取説のコピー
上図でいえば、ロータリーエンコーダーの立ち上がりでB接点がLOWならCW, HighならCCW
なので、A接点の立ち上がりで割り込みをかけて、B接点の状態で回転方向の情報を返すようにすればよい。
他のSWも割り込みがかけられるように考える。
arduinoの割り込み設定ができる端子はd2とd3らしい。細かくレジスタを設定すれば他の端子でも割り込みがかけられるようなのだが、おじさんはめんどくさいのでd2とd3だけ使う。
ダイオードOR回路として、D3ポートに接続すれば、どちらかのSWが押されたときに割り込みをかけられる。SWが増えてもダイオードORで簡単に対応できる。
メインプログラムで、割り込みが発生したかどうかをフラグか何かで確認して、割り込みイベントごとに、周波数を変える等の処理を組めばよい。
(こうやって書くと簡単だが、プログラミングの苦手なおじさんは苦労する)
で、全体回路図を一旦、以下とした。
ブレッドボードでこんな感じ
今はデバッグ用で、動くようになったら、もうちょっときれいにまとめるつもり。
また、中波用のバーアンテナはまだ付けていない。そのうち、つなげる。
液晶表示はこんな感じにしたい。
左上がバンド表示 右上がメモリモードかそうでないか、下の段が周波数
例1)通常モードで、FMの79.7MHz
例2)メモリーモード(事前に登録した局から選ぶモード)で、短波の6055KHz
さぁ、これで、後はプログラムを書いて動かすだけ。
プログラミングが苦手なおじさんは今、悪戦苦闘中なのである。
生成AIもあてにならないので、ちょっとづつ作っていくのである。
そのうち、動いたらまたブログをアップしようと思う。
「いつ出来るのかニャ? 待たせちぁ~だめなのニャ」