Tentang proyek ini
Sirkuit ini menggunakan Arduino Uno atau Nano untuk mengirim perintah CI-V ke radio Icom untuk meminta informasi sinyal, membaca jawabannya, mengubahnya dan menampilkannya pada output analog, di mana Anda dapat menghubungkan analog (Arsonval) S- meteran.
Hal ini didukung oleh port Antena Tuner di radio Icom. Jika Icom Anda tidak memiliki port tuner, Anda dapat menggunakan port atau konektor lain yang menyediakan output +12V (setidaknya 200 mA). Sumber daya DC eksternal juga dapat digunakan.
Jika Anda tidak memiliki konektor Antenna Tuner, Anda dapat menggunakan konektor catu daya komputer PC, dan memotongnya dengan pemotong agar sesuai dengan konektor tuner Icom.
Proyek ini dirancang untuk transceiver IC-7000 Icom, tetapi dapat disesuaikan dengan radio Icom mana pun dengan port CI-V.
Anda dapat menggunakan alamat universal "00" CI-V di beberapa radio Icom, membuat konverter ini kompatibel dengan radio Icom mana pun, tanpa mengubah alamat CI-V dalam kode.
Ferit dipasang pada kabel input &output untuk menghilangkan induksi RF. +12 V DC ke S-meter tidak diperlukan; itu dapat digunakan untuk menyalakan lampu latar meteran atau fitur opsional lainnya.
Potensiometer 10 k ohm digunakan untuk melemahkan sinyal keluaran (yang terlalu tinggi untuk kebanyakan meter analog) dan mengkalibrasi meter analog untuk mendapatkan pembacaan skala penuh dengan sinyal lokal yang kuat (+60 dB).
Beberapa proyek serupa lainnya, menggunakan Arduino sebagai antarmuka CI-V:
https://on7dq.blogspot.com/2017/02/ic-7300-paddle-or-key-easy-solution.html
https://www.qsl.net/on7eq/en/ Klik tombol "proyek"
Kode
Icom CI-V S-meterC/C++
// IC7300 Testbed untuk pembacaan S-meter dan fungsi lainnya// oleh Luc Decroos - ON7DQ/KF0CR// dimodifikasi &diadaptasi oleh Daniel VE2BAP, 2018-12-01#include // untuk komunikasi ke IC7000#define BAUD_RATE 19200 // CI-V speed#define TRX_address (0x70) // HEX $70 =Icom IC-7000//#define TRX_address ((byte)00) // $00:Icom universal address (berfungsi untuk semua radio) .// koneksi serial// RX =Icom radio ke Arduino :ke pin 2 melalui resistor 4k7// TX =Arduino ke radio Icom :ke pin 7 melalui dioda 1N4148, dengan tarik 10k ke Vcc (5V) di ujung 3,5 mm connectorSoftwareSerial mySerial =SoftwareSerial(2, 7); // (RX, TX)int readCounter; // menghitung jumlah byte yang diterima dari radioint sMeterVal1; // menyimpan byte BCD paling signifikan yang berisi sinyal info.int sMeterVal2; // menyimpan byte BCD paling tidak signifikan yang berisi sinyal info.int sMeterOut =11; // S-meter analog eksternal terhubung ke pin 11.//------------------------------------ -------------------------------------------------- -------pengaturan batal(){ pinMode(13, OUTPUT); digitalWrite(13, RENDAH); // paksa LED (pin 13) untuk mati. pinMode(2, INPUT); // komunikasi serial CI-V dari IC7000 pinMode(7, OUTPUT); // komunikasi serial CI-V ke IC7000 pinMode(sMeterOut, OUTPUT); // setel sMeterPin untuk keluaran mySerial.begin(BAUD_RATE); mySerial.listen(); // hanya satu port yang dapat dibuat untuk mendengarkan dengan serial perangkat lunak // lihat referensi https://www.arduino.cc/en/Reference/SoftwareSerialListen while (mySerial.available()) mySerial.read(); // bersihkan buffer}//------------------------------------------- -------------------------------------------------- void loop(){ // membaca dan menampilkan nilai S-meter mySerial.flush(); // mulai urutan:kirim perintah "baca S meter" ke radio. mySerial.write(0xFE); mySerial.write(0xFE); mySerial.write(TRX_address); mySerial.write(0xE0); mySerial.write(0x15); mySerial.write(0x02); // Baca s-meter , perintah 15 02 mySerial.write(0xFD); // akhiri penundaan urutan (20); // sekarang baca info dari radio int nbChar =mySerial.available(); if (nbChar> 0) { for (int readCounter =0; readCounter Suku cadang dan penutup khusus
Skema