公開日 2025年3月18日 最終更新日 2025年3月18日 by JE2UFF_Toshi
おはようございます。気温が下がっており、昨日は日中も寒かったですね。春分の日以降は暖かくなるようですが、今日は山間部では雪予報。3月も中旬ですが雪ですか。
さて、注文してあったラズパイpico用のキバンが届きましたので、デバッグの開始です。デバッグ用なので実際の環境を揃えなくても確認できるようにしてあります。
ブレッドボード上で、CI-Vのデータを受取りそのデータの周波数部分の2バイトを抽出し、てメーターバンド表示への変換テーブルを作成して表示するところまでは出来上がっていました。
今度はBCDデコーダーを使って、4ビットデータから各バンドを選択する変換部分を作ります。
デバッグ環境はこんな感じ。

こんな感じで、バンド表示まではBCDを通してバンド切替に伴い表示も予定通り切り替わるようになりました。但し、厳密には80mと75mの切替は無く80mで統一されています。
実際のリグの周波数はQRGで表示していますので分かります。基本はアンテナ切替器の制御部分をICOM BAND DATAからCI-V1つで切り替えるように変更をしていたので、80mと75mは1つのグループで問題ないと判断しました。
必要になった時点、例えばCD78のバンド切替をCI-Vデータとサーボモーターで実施するようになったら、考える必要が出てくると思いますが。今は、80mと75mのアンテナを別々に持っていないので必要には迫られておりません。
ここまでできたら、次はアンテナ切替で選択したのがどのアンテナを使用しているかの表示です。実際にはアンテナ切替リレーから電圧を貰って、どのアンテナが選択されているかを表示するものです。
今回は、リレーユニットが無いので電圧をラズパイpicoのGPに加えて表示が切り替わっていくことを確認しました。
何も選択されていないとNC表示になります。

こんな感じで、選択されたアンテナが表示されます。
ここまでの作業、今回もCopilotにコードを生成してもらい実際にデバッグしながら不具合箇所をプロンプトで教えて修正をかけていきました。
やはり生成AIはすごいです。エラーが出た場合、エラーコードとエラー内容を教えれば、どの箇所が悪く何が原因かを教えてくれて、即座にコードを修正して確認するように促されます。
Arduinoの時は自分で考えながらコードを書いていましたが、今回は全く自分ではコードを書かず、仕様をCopilotに教えてコードを書かせました。
非常に素晴らしいです。
デバッグが完了し、自分が思っている通りに動きましたので、最終的なキバンの作成に入ります。
実際にはオリジナルはArduinoで製作したために、基準電圧が5Vになっております。当然、ICのVCCは5Vなのですが、ラズパイpicoのIOの入出力電圧は3.3Vなのです。
3.3Vの出力を5V入力に入れる分には問題ないですが、5V出力を3.3Vに入力すると壊れるのでレベルコンバータを入れなければなりません。
抵抗で分圧してもよいのですが、キチッとするためにレベルコンバータを追加する回路に変更します。またデバッグ用の部品も要らないので、回路より取り外しキバンをもう少し小さくしたいと思っております。
もう一度回路設計とアートワーク作りが始まります。
またしばらく暇な時間を潰すことができるなぁ。
