CI-Vポートを備えたIcom無線機の外部S-Meter
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
この回路は、Arduino UnoまたはNanoを使用してCI-VコマンドをIcomラジオに送信し、信号情報を要求し、回答を読み取り、変換して、アナログ(Arsonval)S-を接続できるアナログ出力に表示します。メーター。
これは、Icomラジオのアンテナチューナーポートから電力を供給されます。 Icomにチューナーポートがない場合は、+ 12V出力(少なくとも200 mA)を提供する他のポートまたはコネクタを使用できます。外部DC電源も使用できます。
アンテナチューナーコネクタがない場合は、PCコンピュータの電源コネクタを使用して、Icomチューナーコネクタに合うようにカッターでトリミングできます。
このプロジェクトはIcomIC-7000トランシーバー向けに設計されていますが、CI-Vポートを備えたすべてのIcom無線機に適合させることができます。
一部のIcom無線機でCI-V "00"ユニバーサルアドレスを使用できるため、コード内のCI-Vアドレスを変更することなく、このコンバーターを任意のIcom無線機と互換性があります。
フェライトは、RF誘導を排除するために、入力ケーブルと出力ケーブルに取り付けられています。 Sメーターへの+ 12VDCは必要ありません。メーターのバックライトやその他のオプション機能に電力を供給するために使用できます。
10 kオームのポテンショメータを使用して、信号出力を減衰させ(ほとんどのアナログメーターには高すぎます)、アナログメーターを校正して、強力なローカル信号(+60 dB)でフルスケールの読み取り値を取得します。
ArduinoをCI-Vインターフェースとして使用する他の同様のプロジェクト:
https://on7dq.blogspot.com/2017/02/ic-7300-paddle-or-key-easy-solution.html
https://www.qsl.net/on7eq/en/「プロジェクト」ボタンをクリック
コード
- Icom CI-VSメーター
Icom CI-VSメーター C / C ++
// IC7300 S-meter読み出しおよびその他の機能用のテストベッド// LucDecroosによる-ON7DQ / KF0CR // Daniel VE2BAPによる変更および適合、2018-12-01#include//通信用IC7000#define BAUD_RATE 19200 // CI-V speed#define TRX_address(0x70)// HEX $ 70 =Icom IC-7000 //#define TRX_address((byte)00)// $ 00:Icomユニバーサルアドレス(すべての無線で機能) .//シリアル接続// RX =Icom無線からArduinoへ:抵抗4k7を介してピン2に// TX =ArduinoからIcom無線へ:ダイオード1N4148を介してピン7に、3.5 mmの先端で10kをVcc(5V)にプルアップConnectorSoftwareSerial mySerial =SoftwareSerial(2、7); //(RX、TX)int readCounter; // radiointsMeterVal1から受信したバイト数をカウントします; //信号を含む最上位のBCDバイトを格納しますinfo.intsMeterVal2; //信号を含む最下位のBCDバイトを格納しますinfo.intsMeterOut =11; //ピン11に接続された外部アナログSメーター// ------------------------------------ -------------------------------------------------- ------- void setup(){pinMode(13、OUTPUT); digitalWrite(13、LOW); // LED(ピン13)を強制的にオフにします。 pinMode(2、INPUT); // IC7000からのCI-Vシリアル通信pinMode(7、OUTPUT); // IC7000へのCI-Vシリアル通信pinMode(sMeterOut、OUTPUT); //出力にsMeterPinを設定しますmySerial.begin(BAUD_RATE); mySerial.listen(); //ソフトウェアシリアルでリッスンできるポートは1つだけです//リファレンスhttps://www.arduino.cc/en/Reference/SoftwareSerialListenを参照while(mySerial.available())mySerial.read(); //バッファをクリーンアップします} // ------------------------------------------- -------------------------------------------------- void loop(){// Sメーター値を読み取って表示するmySerial.flush(); //シーケンスを開始します:「Smeterの読み取り」コマンドを無線に送信します。 mySerial.write(0xFE); mySerial.write(0xFE); mySerial.write(TRX_address); mySerial.write(0xE0); mySerial.write(0x15); mySerial.write(0x02); // s-meterを読み取り、コマンド15 02 mySerial.write(0xFD); //シーケンスdelay(20);を終了します//ラジオから情報を読み取るintnbChar =mySerial.available(); if(nbChar> 0){for(int readCounter =0; readCounter
カスタムパーツとエンクロージャー
回路図
製造プロセス