Akcija!

RigExpert AA-30.ZERO modul analizatorja antene

 1,99 19,99

In Stock
Šifra: RigExpert AA-30.ZERO modul Kategorije: , , ,
 19,99

Na zalogi

 5,99 108,00
 2,99 109,99

Na zalogi

Prikazane cene so brez DDV (plača se samo v EU)

Opis

Najugodnejši vektorski HF antenski analizator dable na svetu! USB povezava in brezplačna programska oprema. Uporabniki Arduina: svojemu projektu dodajte analizator vektorske impedance in RF generator!

Zakaj AA-30.ZERO?

Z ustvarjanjem AA-30.ZERO smo izpolnili številne želje radioamaterjev in DIY hobijev, da bi jim dali merilno orodje, ki ga je mogoče enostavno vključiti v njihove lastne projekte. Analizator je na voljo kot komplet za izpolnitev te zahteve.

Pripravljen za uporabo

Analizator ima vse potrebno: uporabniki lahko povežejo AA-30.ZERO s svojim osebnim računalnikom (prek adapterja USB na UART-TTL) in izvedejo vse običajne nize laboratorijskih meritev v samo petih minutah. AA-30.ZERO je popolnoma združljiv z našo programsko opremo AntScope.

Naredi sam

Izkušeni uporabniki lahko združijo AA-30.ZERO s ploščami Arduino in ustvarijo lasten projekt strojne/programske opreme, saj je AA-30.ZERO združljiv s standardi Arduino. Prav tako smo dali na voljo več primerov delovanja AA-30.ZERO v projektih DIY.

Več idej:
Želite izdelati svoj lasten avtomatski sprejemnik antene? Uporabite AA-30.ZERO kot zamenjavo za usmerjeni spojnik!
Želite na daljavo izvesti RF-vezje ali analizo antene? Združite AA-30.ZERO z ESP8266 Wi-Fi SoM in naredite to enostavno!
Želite prilagoditi svojo anteno z gnanimi elementi? Za fino nastavitev uporabite AA-30.ZERO.

Cena & MOČ

Ni možnosti, da bi našli tako močan konkurenčni analizator za tako nizko ceno. Z AA-30.ZERO se uresničujejo sanje radioamaterjev!

 

RigExpert AA-30.ZERO – Specifikacije

Frekvenčni razpon: 0,06 do 30 MHz
Vnos frekvence: Ločljivost 1 Hz
Meritev za Sistemi 25, 50, 75 in 100 ohmov

Nastanitev: brez, samo PCB – na voljo kot komplet
Zaslon: 4 LED
Komunikacijski vmesnik: UART, 38400 baud

Merilno območje SWR: 1 do 100
Razpon R in X: 0…10000, -10000…10000

RF izhod
• Tip priključka: SMA
• Oblika izhodnega signala: kvadrat, 0,06 do 30 MHz
• Izhodna moč: +13 dBm (pri obremenitvi 50 Ohm)

Moč
• Napajanje: zunanje 5V
• Poraba toka (max) 150 mA

Splošni podatki
Mere (Š x V x G), samo PCB brez priključkov: 55 mm x 69 mm x 5 mm (2,1 in x 2,7 in x 0,2 in)
Teža brez priključkov: 65 g (2,29 oz)
Delovna temperatura: 0…40 °C (32…104 °F)

 

Začetek uporabe .ZERO

Preden začnete.

AA-30.ZERO je namenjen uporabnikom, ki potrebujejo prilagodljivost, nizke stroške in majhnost. Na voljo je brez vgrajenega USB-ja ali zatičev za nizke stroške. Je najboljša izbira za merilno jedro, ki ga želite pustiti vgrajeno v projekt.

Upoštevajte, da AA-30.ZERO deluje pri 5 V (kot večina Arduino ali Arduino združljiv deske).
Zagotovite pravilno napajanje in uporabite komponente/adapterje, katerih delovna napetost se ujema z AA-30.ZERO.

Priključitev AA-30.ZERO na vaš računalnik

AA-30.ZERO je brez vgrajenega vezja USB, zato je treba za komunikacijo z analizatorjem uporabiti serijski pretvornik USB v UART-TTL, ki ni nameščen na plošči.

AA-30.ZERO lahko komunicira z drugimi napravami prek katerega koli od dveh vgrajenih vmesnikov UART: UART1 (zatiči 0/TX1 in 2/RX1) in UART2 (zatiči 4/TX2 in 7/RX2). Privzeto je uporabljen UART2.

Za naš prvi projekt bi lahko dobili npr SparkFun USB UART Serial Breakout.

povezovanje-zero-to-the-pc

Adapter USB2UART je povezan z AA-30.ZERO z uporabo barvnih žic.

OPOMBA: priključite TX pin USB adapterja na RX pin na PC plošči analizatorja, nato priključite USB RX pin adapterja na TX pin analizatorja.
zero-plus-usb2uart-demo
Povežite USB2UART z računalnikom s standardnim kablom USB.

Prepričajte se, da operacijski sistem prepozna vaš adapter USB-to-UART in namesti gonilnik:
snapcrab_noname_2017-10-20_12-17-20_no-00

Namestitev programske opreme AntScope

prosim prenesite program AntScope, odprite arhiv in ekstrahirajte datoteke (s podimeniki) na svoje delovno mesto, nato pa zaženite AntScope.exe:
snapcrab_antscope_2017-10-20_15-21-53_no-00

Če programska oprema AntScope ne zazna samodejno AA-30.ZERO, izberite vrsto povezane naprave v meniju Konfiguracija:
izbira-aa-30

Prepričajte se, da je številka vrat COM pravilno nastavljena:
choosing-comport

čestitke! Zdaj je vse pripravljeno za prvo meritev!

Začnite meriti
Povežite AA-30.ZERO z vašo anteno (ali drugo obremenitvijo, ki jo želite izmeriti) s pomočjo prilagodljivega kabelskega adapterja, nato kliknite ikono Scan range desno pod menijsko vrstico:
tekoče meritve

Kliknite gumb Nastavi celoten obseg in kliknite V redu za začetek:
snapcrab_scan_2017-10-20_15-46-42_no-00

Opazite utripajočo LED na računalniški plošči, če je AA-30.ZERO…

Nekaj sekund kasneje se prikaže rezultat:
snapcrab_1-antscope_2017-10-20_16-8-45_no-00

programska oprema AntScope2

Novejša različica namizne programske opreme, imenovana AntScope2, Na voljo; navodila so podobna zgornjim.

Združevanje AA-30.ZERO z Arduino Uno

 

Namestitev glav
AA-30.ZERO je dobavljen z ravnim kompletom za glavo:
Pogled od zgoraj

Če želite svoj analizator povezati s ploščo Arduino, morate najprej spajkati ločilne glave. Po tem preprosto priključite svoj AA-30.ZERO na svojo ploščo Arduino:
.ZERO v kombinaciji z Arduino Uno

Uporaba zatičev

  • D0 – UART vmesnik 1, TX, izhod podatkov
  • D1 – UART vmesnik 1, RX, vhod podatkov
  • D4 – UART vmesnik 2, TX, izhod podatkov
  • D7 – UART vmesnik 2, RX, vhod podatkov

S ponovnim spajkanjem mostičkov lahko izberete, kateri vmesnik UART želite uporabiti:
uart-selektor-skakalci
AA-30.ZERO privzeto uporablja vmesnik UART2.

Namestitev Arduino IDE in sestavljanje vašega prvega projekta

Prevedite in zaženite zelo preprosto skico na vaši plošči Arduino. Prenesite in namestite Arduino IDE.

// UART most za izmenjavo podatkov med
// RigExpert AA-30 ZERO antena & kabelski analizator in Arduino Uno
//
// Sprejema od Arduina, pošilja na AA-30 ZERO.
// Prejema od AA-30 ZERO, pošlje v Arduino.
//
// 26. junij 2017, Rig Expert Ukraine Ltd.
//
#vključuje “SoftwareSerial.h”
#definiraj RX0_Pin 0
#definiraj TX0_Pin 1
#definiraj RX1_Pin 4
#definirajte TX1_Pin 7#definirajte HW_SERIAL#ifndef HW_SERIAL
SoftwareSerial ZERO(RX1_Pin, TX1_Pin); // RX, TX
#endifpraznina nastaviti() {
#ifdef HW_SERIAL
pinMode(RX0_Pin, INPUT);
pinMode(TX0_Pin, IZHOD);pinMode(RX1_Pin, INPUT);
pinMode(TX1_Pin, IZHOD);
#else
NIČ.začeti(38400); // zagon UART strani AA
NIČ.splakniti()
Serijski.začeti(38400); // zažene UART na strani računalnika
Serijski.splakniti();
#endif
}

praznina zanka() {
#ifdef HW_SERIAL
//digitalWrite(TX0_Pin, digitalRead(RX1_Pin));
//digitalWrite(TX1_Pin, digitalRead(RX0_Pin));
če (PIND & (1 << 4)) PORTD |= (1 << 1); drugače PORTD &= ~(1 << 1);
če (PIND & (1 << 0)) PORTD |= (1 << 7); drugače PORTD &= ~(1 << 7);

#else  
če (NIČ.na voljo()) Serijski.pisati(NIČ.prebrati()); // podatkovni tok iz AA v PC
če (Serijski.na voljo()) NIČ.pisati(Serijski.prebrati()); // podatkovni tok iz računalnika v AA
#endif  
}

Ta preprosta koda "serijski repetitor" zagotavlja dvosmerno komunikacijo med vašim računalnikom in ploščo analizatorja. Mimogrede, ker plošča Arduino zdaj deluje kot repetitor, lahko vanjo implementirate katero koli kodo in moderirate izmenjavo podatkov med vašim računalnikom in AA-30.ZERO.

Serijski komunikacijski protokol

Ker je bil AA-30.ZERO narejen za amaterje, ki si vedno želijo sestaviti nekaj zanimivega, smo morali poskrbeti za večjo svobodo uporabnikom analizatorja.

Z uporabo spodaj navedenih ukazov ne morete le meriti parametrov svojih anten in kablov, ampak tudi avtomatizirati svoj analizator, na primer omogočiti samodejno izvajanje periodičnih meritev takoj po priključitvi napajanja. To bi lahko bilo uporabno na primer v primeru, ko je instrument del bolj zapletenega sistema, na primer antenskega sprejemnika.

Komunikacijski protokol

Ukaz Opis Odziv
ver vrne vrsto analizatorja in različico vdelane programske opreme AA-30 ZERO XXX
fqXXXXXXXXX nastavite srednjo frekvenco na XXXXXXXXX Hz v redu
swXXXXXXXXX nastavite območje pomika na XXXXXXXXX Hz v redu
frxNNNN opravite meritve NNNN v določenem območju izhodna frekvenca (MHz), R in X za vsako meritev

primer:

FQ14500000\r\n
SW1000000\r\n
FRX10\r\n14,000000,58,84,17,28\r\n
14.100000,69.74,16.79\r\n
14.200000,68.52,5.62\r\n
14.300000,62.49,2.79\r\n
14.400000,57.51,4.62\r\n
14.500000,55.38,9.11\r\n
14.600000,56.52,13.56\r\n
14.700000,59.40,17.41\r\n
14.800000,64.12,20.05\r\n
14.900000,71.13,22.01\r\n
15.000000,81.57,21.63\r\n

Vizualizacija podatkov

Eden najpreprostejših načinov vizualizacije rezultatov meritev je izdelava lastne aplikacije 🙂

Namestite Processing IDE
Najprej prenesite in namestite Obdelava IDE. Ko je programska oprema IDE nameščena, sestavimo to precej preprosto skico:

// 3D vizualizacija za meritve SWR
// Za RigExpert AA-30 ZERO anteno in kabelski analizator z Arduino Uno
//
// Prejema podatke iz AA-30 ZERO in naredi površino
// ki je vizualizacija SWR kot funkcije časa
//
// 26. junij 2017, Rig Expert Ukraine Ltd.
//
predelava uvoza.serijski.*;Serijski ZERO;
int korak; // Koraki komunikacijskega protokola (0 – nastavitev Freq; 1 – nastavitev obsega; 2 – začetek meritev)int maxSamples = 100; // Število točk za merjenje
int maxSets = 50; // Časovna globina
lebdi točke[][]; // Podatki o meritvah
int vzorec; // trenutni vzorec
int nastavljeno; // trenutni niz podatkov
int barve[]; // barva krivulje
int skupaj; // skupno pridobljenih vzorcev
boolean pripravljen; // zaslon prerisan, če je True
int Pogostost; // trenutna frekvenca
int Razpon; // trenutni obseg// Koda za pošiljanje ukaza analizatorju
praznina serializirati(Niz cmd) {
int len = cmd.dolžina();
int charPos = 0;
medtem (len != 0) {
NIČ.pisati(cmd.charAt(charPos));
charPos++;
}
}// Funkcija izračuna SWR
// Z0 – impedanca sistema (tj. 50 za 50 ohmske sisteme)
// R – izmerjena vrednost R
// X – izmerjena vrednost X
lebdi izračunajSWR(lebdi Z0, lebdi R, lebdi X) {
lebdi SWR, gama;
lebdi XX = X * X;
lebdi imenovalec = (+ Z0) * (+ Z0) + XX;
če (imenovalec == 0) {
vrnitev 1E9;
} drugače {
lebdi l = ( Z0) * ( Z0);
lebdi t = (+ XX);
= t / imenovalec;
Gama = sqrt(t); // vedno >= 0
// OPOMBA:
// Gama == -1 popolni negativni odboj, ko je linija v kratkem stiku
// Gama == 0 brez odseva, ko se črta popolnoma ujema
// Gama == +1 popoln pozitivni odboj, ko je linija odprta
če (Gama == 1.0) {
JZV = 1E9;
} drugače {
JZV = (1 + Gama) / (1  Gama);
}
}

// vrne vrednosti
če ((JZV > 200) || (Gama > 0.99)) {
JZV = 200;
} drugače če (JZV < 1) {
JZV = 1;
}
vrnitev JZV;
}

praznina nastaviti() {
Pogostost = 115000000;
Razpon = 230000000;
vzorec = 0;
nastavljeno = 1;
korak = 0;
točke = nov lebdi[maxSets + 1][maxSamples + 1];
barve = nov int[maxSets + 1];
pripravljena = napačno;
skupaj = 0;

ozadje(0);
kap(120240255255);
strokeWeight(1);
velikost(640480, P3D);

printArray(Serijski.seznam());
// Zamenjajte ime COM s tistim, ki ustreza vašim pogojem
NIČ = nov Serijski(to“COM21”38400);
NIČ.bufferUntil(13);
zamuda(1000);
serializirati(“SW0\r\n);
}

praznina drawSurface() {
pripravljena = napačno;
luči();
lebdi sp = 0.001 * frameCount;
fotoaparat((premer / 3) * greh(sp)0800, premer / 2, višina / 20010);

ozadje(000);
velikost besedila(30);
napolniti(255255255);
// —————- Os ———————
kap(255255255128);
linija(0, višina, 0, širina višina, 0);

linija(0000, višina, 0);
linija(premer, 00, širina višina, 0);

linija(0, višina, 5 * maxSets, 0, višina, 0);
linija(premer / 2, višina, 5 * maxSets, širina / 2, višina, 0);
linija(širina višina, 5 * maxSets, širina, višina, 0);

// —————- Frekv. markerji —————-
kap(255255255128);
linija(premer / 200, premer / 2, višina, 0);
textAlign(CENTER);
besedilo(Pogostost / 1E3 + "kHz", premer / 2, višina, 5 * maxSets);
besedilo(((Pogostost / 1E3)  (Razpon / 2E3)) + "kHz"0, višina, 5 * maxSets);
besedilo(((Pogostost / 1E3) + (Razpon / 2E3)) + "kHz", širina višina, 5 * maxSets);

// —————– Naslov načina ——————
textAlign(LEVO);
velikost besedila(36);
besedilo(“SWR kot funkcija časovnega grafa”01000);
velikost besedila(30);
če (miškaY < višina / 5) {
če (mouseX < premer / 2) {
napolniti(25500);
textAlign(PRAV);
besedilo("F =" + Pogostost / 1E3 + "kHz", premer / 2  50500);
napolniti(255255255);
textAlign(LEVO);
besedilo("Razpon =" + Razpon / 1E3 + "kHz", premer / 2 + 50500);
} drugače {
napolniti(255255255);
textAlign(PRAV);
besedilo("F =" + Pogostost / 1E3 + "kHz", premer / 2  50500);
napolniti(25500);
textAlign(LEVO);
besedilo("Razpon =" + Razpon / 1E3 + "kHz", premer / 2 + 50500);
}
} drugače {
napolniti(255255255);
textAlign(PRAV);
besedilo("F =" + Pogostost / 1E3 + "kHz", premer / 2  50500);
textAlign(LEVO);
besedilo("Razpon =" + Razpon / 1E3 + "kHz", premer / 2 + 50500);
}

// Pridobite ekstreme
lebdi minV = 1E9;
lebdi maxV = 1E9;
za (int jaz = 0; jaz  < nastavljeno; jaz++) {
za (int j = 0; j  < maxSamples + 1; j++) {
če (točke[jaz][j] > maxV) maxV = točke[jaz][j];
če (točke[jaz][j] > maxV) minV = točke[jaz][j];
}
}

println("Min =" + minV + “; Max = “ + maxV);
minV = 1;
če (maxV < 2) maxV = 2;
drugače če (maxV < 5) maxV = 5;
drugače če (maxV < 10) maxV = 10;
drugače maxV = 100;
lebdi hK = premer / maxSamples;
lebdi vK = višina / (maxV  minV);
lebdi zK = 2;

// —————– Risanje vodoravnih oznak —————–
napolniti(255255255);
textAlign(PRAV);
linija(0, višina  vK, 0, širina višina  vK, 0); // SWR = 2
besedilo("SWR = 2,0"0, višina  vK, 0);
linija(0, višina  2 * vK, 0, širina višina  2 * vK, 0); // SWR = 3
besedilo("SWR = 3,0"0, višina  2 * vK, 0);
linija(0, višina  4 * vK, 0, širina višina  4 * vK, 0); // SWR = 5
besedilo("SWR = 5,0"0, višina  4 * vK, 0);

// Narišite črte
za (int jaz = 0; jaz < nastavljeno; jaz++) {
če (barve[jaz] % 5 == 0) kap(25500255 * jaz / nastavljeno);
drugače kap(120240255255 * jaz / nastavljeno);

za (int j = 1; j < maxSamples + 1; j++) {
// risanje samo, če je SWR < 100,0
če (točke[jaz][ 1] < 100) {
linija(( 1) * hK, višina  (točke[jaz][ 1]  1) * vK, i * zK, j * hK, višina  (točke[jaz][j]  1) * vK, i * zK);  // Obdelaj dohodne podatke void serialEvent(Serial p) { String inString; inString = p.readString(); if (inString.indexOf(“OK”) >= 0) {
}
}
}
} praznina pripraviti() {
če (pripravljena) {
drawSurface();
}
}
stikalo (korak) {
Ovitek 0: serializirati(»FQ« + Pogostost + \r\n);
korak = 1;
odmor;

Ovitek 1: serializirati(“SW” + Razpon + \r\n);
korak = 2;
odmor;

Ovitek 2: serializirati(“FRX” + str(maxSamples) + \r\n);
korak = 0;
vzorec = 0;
če (nastavljeno == maxSets) {
// premik krivulj nazaj
za (int jaz = 1; jaz < maxSets + 1; jaz++) {
barve[jaz  1] = barve[jaz];
za (int j = 0; j < maxSamples + 1; j++) {
točke[jaz  1][j] = točke[jaz][j];
}
}
} drugače {
nastavljeno++;
}
barve[nastavljeno] = skupaj++;
pripravljena = prav;
odmor;
}

} drugače {
lebdi[] številke = lebdi(razdeliti(inString, ‘,’));
če (številke.dolžina == 3) {
lebdi JZV = izračunajSWR(50, številke[1], številke[2]);
točke[nastavljeno][vzorec] = JZV;
vzorec++;
}
}
}

// Spremenite vrednosti frekvence in obsega s kolescem miške
praznina mouseWheel(Dogodek MouseEvent) {
lebdi e = dogodek.getCount();
če (miškaY < višina / 5) {
če (mouseX < premer / 2) { // Spremeni frekvenco če (frekvenca > 1E5) {
Pogostost += e * 100000;
drawSurface();
}
} drugače {
// Spremeni obseg
če (Razpon > 1E5) {
Razpon += e * 1E5;
drawSurface();
}
}
}
}

Pomembno obvestilo
Prepričajte se, da je tukaj uporabljena pravilna številka COM:

NIČ = nov Serijski(to“COM16”115200);

Izvajanje skice Obdelava
Ko je skica kopirana v urejevalnik IDE, pritisnite gumb RUN:
tekoča-obdelava-skica
Nekaj sekund kasneje se bodo rezultati meritev prikazali na vašem zaslonu, kot je ta:
snapcrab_aa_30_zero_surface_2017-10-24_14-35-6_no-00

 

Primerjajmo nastale risbe z grafikonom, ki ga nariše program AntScope:

antscope-vs-processing-comparation

Da bi dobili podobnost 100%, se boste morali malo poigrati z logaritemsko lestvico.

Izvorne datoteke za začetek
Izvorne datoteke lahko prenesete iz Repozitorij GitHub.

Naš prijatelj Edward March (WB9RAA) naredil skico za Arduino, ki razčleni linijo F,R,X in sproti dodaja SWR.

// UART most za izmenjavo podatkov med
// RigExpert AA-30 ZERO antena & kabelski analizator in Arduino Uno
//
// Sprejema od Arduina, pošilja na AA-30 ZERO.
// Prejema od AA-30 ZERO, pošlje v Arduino.
//
// 26. junij 2017, Rig Expert Ukraine Ltd.
//
#vključujeSoftwareSerial ZERO(47); // RX, TX
//
// Spremenil WB9RAA Ed March
// 6. januar 2018
//
// komunicira z AA-30 Zero pri 38.400 baud in
// naredi podatke primerne za izris preglednice
//
// Prebrskaj vse radioamaterske pasove s frekvenco približno 10K. koraki
// Računa SWR sproti, tako da vsaka vrstica besedila
// poslano je: “Frekvenca,R,X,SWR \r\n”
// pomešan tudi z ukazoma OK in fq sw frx
// Prevedeno z Arduino IDE 1.8.5
// skupni čas brskanja je približno 25 sekund za pasove 160M-10M.
//
// Hitrejše izrise z "frx3" na vseh pasovih, tako da se natisnejo samo robne in sredinske frekvence.
// Druge ideje, sweep 1..30 Mhz in samo tiskanje F,R,X,SWR, ko je swr pod 2.0
//int j;
char HamBands[][35] = {
{ \r\nver\r\n } , //0
{ “fq1900000\r\nsw200000\r\nfrx20\r\n }//1{ “fq3750000\r\nsw500000\r\nfrx50\r\n }//2{ “fq5331900\r\nsw2800\r\nfrx3\r\n }//3
{ “fq5347900\r\nsw2800\r\nfrx3\r\n }//4
{ “fq5358900\r\nsw2800\r\nfrx3\r\n }//5
{ “fq5404900\r\nsw2800\r\nfrx3\r\n }//6

{ “fq7150000\r\nsw300000\r\nfrx35\r\n }//7

{ “fq10125000\r\nsw50000\r\nfrx10\r\n }//8

{ “fq14150000\r\nsw300000\r\nfrx30\r\n }//9

{ “fq18118000\r\nsw100000\r\nfrx10\r\n }//10

{ “fq21225000\r\nsw450000\r\nfrx45\r\n }//11

{ “fq24940000\r\nsw100000\r\nfrx10\r\n }//12

{ “fq28985000\r\nsw1970000\r\nfrx50\r\n }//13
{ “” }// Končna oznaka //14
//

};

praznina nastaviti()
{
NIČ.začeti(38400); // zagon UART strani AA
NIČ.splakniti();
NIČ.setTimeout(2500);
Serijski.začeti(38400); // zažene UART na strani računalnika
Serijski.splakniti();
zamuda(50);
= 0;
Serijski.println(\r\n\nProjekt AA-30Zero Ver.20180107A, avtor Ed March WB9RAA\n);
Serijski.println(\nUporaba antenskega analizatorja RigExpert 'AA-30 Zero'\nSkeniraj vse 1..30Mhz radioamaterske pasove.\nKo končate, pritisnite / za ponoven zagon. V nasprotnem primeru vnesite ukaze v AA-30 Zero\n);
Serijski.println("AA-30 ničelni ukazi");
Serijski.println(»ver : PRIDOBITE RAZLIČICO VGODNE PROGRAME AA«);
Serijski.println(“fq1234567 : NASTAVITE SREDIŠNJO FREKVENCO V HERCIH npr. fq7150000”);
Serijski.println(“sw300000 : NASTAVITEV OBMOČJA ČISTILA V HERCIH npr. sw300000 pometa 300 KHz od začetka do konca");
Serijski.println(“frx123 : ZAČNI POMETATI vračanje F,R,X Skupaj 123 vrstic. frx3 vrne 3 vrstice BEGIN,CENTER,END\n);
}
dolga tmo = 250;

praznina zanka()
{
če (NIČ.na voljo())
{
Niz s = NIČ.readStringUntil(\n);
s.zamenjati(\r“”);
Serijski.pisati(s.c_str()); // podatkovni tok iz AA v PC

int jaz = s.indeks(‘,’);
če (jaz > 0)
{
// Razčleni niz v plavajoče R & X
jaz++;
lebdi R = s.podniz(jaz).lebdeti();
int ii = s.podniz(jaz).indeks(‘,’);
lebdi X = s.podniz(jaz + ii + 1).lebdeti();
//
// Izračunajte SWR iz R & X
//
lebdi XX = X * X;
lebdi Rm = ( 50) * ( 50);
lebdi Rp = (+ 50) * (+ 50);
lebdi N = sqrt(Rm + XX);
lebdi D = sqrt(Rp + XX);
lebdi G = N / D;
lebdi vswr = (1 + G) / (1  G);
// Ker ne moremo natisniti lebdečih vrednosti, dobimo int & fraction kot INT
// if swr is 4.12 then v1=4 and v2=12 — 1.04 then 1 and 4 printed as 1.04 using %d.%02d
int v1 = vswr;
int v2 = (vswr  v1) * 100;
če (v1 < 0)
{
v1 = 99;
v2 = 0;
}
char z[50];
sprintf(z, “,%d.%02d”, v1, v2); // izračunaj swr kot niz
Serijski.pisati(z); // pripni nizu
}
Serijski.pisati(\r\n); // in ternirate, kot je bilo s CR LF
tmo = 250;
}
če (Serijski.na voljo())
{
char c1 = Serijski.prebrati();
če (c1 == ‘/’)
{
= 0;
}
drugače
{
NIČ.pisati(c1); // podatkovni tok iz računalnika v AA
}
tmo = 250;
}
zamuda(1);
če (tmo < 0)
{
če (HamBands[j][0] != 0)
{
za (int jaz = 0; HamBands[j][jaz] != 0; jaz++)
{
int pogl = HamBands[j][jaz];
Serijski.pisati(pogl);
NIČ.pisati(pogl);
če (pogl == \n)
{
za (int d = 0; d < 50; d++)
{
zamuda(1);
če (NIČ.na voljo())
{
Serijski.pisati(NIČ.prebrati()); // podatkovni tok iz AA v PC
}
}
}
}
tmo = 250;
j++;
}
}
}

 

Se nadaljuje…

RigExpert AA-30.ZERO – Prenosi

Programska oprema za namizne računalnike

Programska oprema AntScope

Uporabniški priročniki

Sheme in risbe

Dodatne informacije

Mnenja

Zaenkrat še ni mnenj.

Samo prijavljeni uporabniki, ki so kupili ta izdelek, lahko napišejo mnenje.