Beskrivning
Den mest prisvärda dable vektor HF-antennanalysatorn i världen! USB-anslutning och gratis programvara. Arduino-användare: lägg till en vektorimpedansanalysator och en RF-generator till ditt projekt!
Varför AA-30.ZERO?
Genom att skapa AA-30.ZERO mötte vi de många önskemålen från radioamatörer och gör-det-själv-hobbyister att ge dem ett mätverktyg som enkelt kan integreras i deras egna projekt. Analysatorn finns som ett kit för att uppfylla detta krav.
Redo för användning
Analysatorn har allt som behövs ombord: användare kan ansluta AA-30.ZERO till sin PC (genom en USB till UART-TTL-adapter) och utföra alla vanliga uppsättningar laboratoriemätningar, bara på fem minuter. AA-30.ZERO är perfekt kompatibel med vår AntScope-mjukvara.
Gör det själv
Erfarna användare kan para ihop AA-30.ZERO med Arduino-kort och göra sina egna hårdvaru-/mjukvaruprojekt, eftersom AA-30.ZERO är kompatibel med Arduino-standarder. Vi har också gjort flera exempel på att köra AA-30.ZERO i gör-det-själv-projekt.
Fler idéer:
Vill du göra din egen automatiska antenntuner? Använd AA-30.ZERO som ersättning för riktningskopplingen!
Vill du utföra RF-kretsar eller antennanalys på distans? Para ihop AA-30.ZERO med ESP8266 Wi-Fi SoM och gör det enkelt!
Vill du ställa in din antenn med drivna element? Använd AA-30.ZERO för finjustering.
Pris & KRAFT
Det finns ingen chans att hitta en så kraftfull konkurrentanalysator för ett så lågt pris. Med AA-30.ZERO går drömmar om radioamatörer i uppfyllelse!
RigExpert AA-30.ZERO – Specifikationer
Frekvensomfång: 0,06 till 30 MHz
Frekvensinmatning: 1 Hz upplösning
Mätning för 25, 50, 75 och 100-Ohm system
Hus: ingen, endast PCB – tillgänglig som ett kit
Visa: 4 lysdioder
Kommunikationsgränssnitt: UART, 38400 baud
SWR mätområde: 1 till 100
R- och X-intervall: 0…10000, -10000…10000
RF-utgång
• Kontakttyp: SMA
• Utsignalens form: kvadratisk, 0,06 till 30 MHz
• Uteffekt: +13 dBm (vid 50 Ohm belastning)
Kraft
• Matning: extern 5V
• Strömförbrukning (max) 150 mA
Generell information
Mått (B x H x D), endast PCB utan kontakter: 55 mm x 69 mm x 5 mm (2,1 tum x 2,7 tum x 0,2 tum)
Vikt utan kontakter: 65 g (2,29 Oz)
Driftstemperatur: 0…40 °C (32…104 °F)
Komma igång med .ZERO
Innan du börjar.
AA-30.ZERO är avsedd för användare som kräver flexibilitet, låg kostnad och liten storlek. Den kommer utan inbyggd USB eller stifthuvud för att hålla nere kostnaderna. Det är det bästa valet för en mätkärna du vill lämna inbäddad i ett projekt.
Observera att AA-30.ZERO fungerar på 5V (som de flesta Arduino eller Arduino-kompatibel brädor).
Se till att tillhandahålla rätt ström och använd komponenter/adapters vars driftsspänning matchar AA-30.ZERO.
Ansluta AA-30.ZERO till din PC
AA-30.ZERO kommer utan en inbyggd USB-krets, så en extern USB till UART-TTL seriell omvandlare bör användas för att kommunicera med analysatorn.
AA-30.ZERO kan kommunicera med andra enheter genom vilken som helst av två inbyggda UART-gränssnitt: UART1 (stift 0/TX1 och 2/RX1) och UART2 (stift 4/TX2 och 7/RX2). Som standard används UART2.
För att göra vårt första projekt kunde vi till exempel få SparkFun USB UART Serial Breakout.
USB2UART-adaptern ansluts till AA-30.ZERO med hjälp av färgade kablar.
OBS: anslut USB-adapterns TX-stift till RX-stiftet på analysatorns PC-kort, anslut sedan USB-adapterns RX-stift till TX-stiftet på analysatorn.
Anslut USB2UART till din PC med en vanlig USB-kabel.
Se till att operativsystemet känner igen din USB-till-UART-adapter och installerar drivrutinen:
Installera AntScope programvara
Snälla du ladda ner programvaran AntScope, öppna arkivet och extrahera filer (med underkataloger) till din arbetsplats, kör sedan AntScope.exe:
Om AntScope-programvaran inte upptäcker AA-30.ZERO automatiskt, välj typ av ansluten enhet i menyn Konfigurera:
Se till att COM-portnumret är korrekt inställt:
Grattis! Nu är allt klart för första mätningen!
Börja mäta
Anslut AA-30.ZERO till din antenn (eller någon annan belastning som du vill mäta) med en flexibel kabeladapter, klicka sedan på ikonen Scan range till höger under menyraden:
Klicka på knappen Ange fullt intervall och klicka på OK för att starta:
Lägg märke till den blinkande lysdioden på PC-kortet om AA-30.ZERO...
Några sekunder senare visas resultatet:
AntScope2 programvara
En nyare version av skrivbordsmjukvaran, kallad AntScope2, är tillgänglig; instruktionerna liknar ovanstående.
Para ihop AA-30.ZERO med Arduino Uno
Installerar rubriker
AA-30.ZERO levereras med ett kit med raka brythuvuden:
Om du vill ansluta din analysator till ett Arduino-kort, bör du först löda breakaway-huvudena. Efter det ansluter du helt enkelt din AA-30.ZERO till ditt Arduino-kort:
Pins användning
- D0 – UART-gränssnitt 1, TX, data ut
- D1 – UART-gränssnitt 1, RX, data in
- D4 – UART-gränssnitt 2, TX, data ut
- D7 – UART-gränssnitt 2, RX, data in
Du kan välja vilket UART-gränssnitt som ska användas genom att löda om byglarna:
Som standard använder AA-30.ZERO UART2-gränssnittet.
Installera Arduino IDE och kompilera ditt första projekt
Kompilera och kör en mycket enkel skiss på ditt Arduino-kort. ladda ner och installera Arduino IDE.
// RigExpert AA-30 ZERO antenn & kabelanalysator och Arduino Uno
//
// Tar emot från Arduino, skickar till AA-30 ZERO.
// Tar emot från AA-30 ZERO, skickar till Arduino.
//
// 26 juni 2017, Rig Expert Ukraine Ltd.
//
1TP42Inkludera "SoftwareSerial.h"
#define RX0_Pin 0
#define TX0_Pin 1
#define RX1_Pin 4
#define TX1_Pin 7#define HW_SERIAL#ifndef HW_SERIAL
Programvaruserie NOLL(RX1_Pin, TX1_Pin); // RX, TX
#endiftomhet uppstart() {
#ifdef HW_SERIAL
pinMode(RX0_Pin, INPUT);
pinMode(TX0_Pin, OUTPUT);pinMode(RX1_Pin, INPUT);
pinMode(TX1_Pin, OUTPUT);
#else
NOLL.Börja(38400); // init AA sida UART
NOLL.spola()
Serie.Börja(38400); // init PC sida UART
Serie.spola();
#endif
}
tomhet slinga() {
#ifdef HW_SERIAL
//digitalWrite(TX0_Pin, digitalRead(RX1_Pin));
//digitalWrite(TX1_Pin, digitalRead(RX0_Pin));
om (PIND & (1 << 4)) PORTD |= (1 << 1); annan PORTD &= ~(1 << 1);
om (PIND & (1 << 0)) PORTD |= (1 << 7); annan PORTD &= ~(1 << 7);
#else
om (NOLL.tillgängligt()) Serie.skriva(NOLL.läsa()); // dataström från AA till PC
om (Serie.tillgängligt()) NOLL.skriva(Serie.läsa()); // dataström från PC till AA
#endif
}
Denna enkla "seriella repeater"-kod ger tvåvägskommunikation mellan din dator och analysatorkortet. Förresten, eftersom Arduino-kortet nu fungerar som en repeater, kan du implementera vilken kod som helst i det och moderera utbytet av data mellan din dator och AA-30.ZERO.
Seriellt kommunikationsprotokoll
Eftersom AA-30.ZERO var gjord för amatörer som alltid vill konstruera något intressant, var vi tvungna att se till att ge mer frihet till användarna av analysatorn.
Med hjälp av kommandona nedan kan du inte bara mäta parametrar för dina antenner och kablar, utan också automatisera din analysator, som att få den att automatiskt utföra periodiska mätningar direkt efter att strömmen har lagts på. Detta kan vara användbart till exempel i ett fall när instrumentet är en del av ett mer komplext system, till exempel en antenntuner.
Kommunikationsprotokoll
Kommando | Beskrivning | Svar |
---|---|---|
ver | returnerar analysatortyp och firmwareversion | AA-30 NOLL XXX |
fqXXXXXXXXX | ställ in mittfrekvensen till XXXXXXXXX Hz | OK |
swXXXXXXXXX | ställ in svepområdet till XXXXXXXXX Hz | OK |
frxNNNN | utföra NNNN-mätningar inom det angivna området | utfrekvens (MHz), R och X för varje mätning |
Exempel:
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
Datavisualisering
Ett av de enklaste sätten att visualisera mätresultat är att göra en egen applikation
Installera Processing IDE
Först, ladda ner och installera Bearbetar IDE. Efter att IDE-programvaran är installerad, låt oss kompilera denna ganska enkla skiss:
// För RigExpert AA-30 ZERO antenn & kabelanalysator med Arduino Uno
//
// Tar emot data från AA-30 ZERO och gör en yta
// som är en visualisering av SWR som funktion av tid
//
// 26 juni 2017, Rig Expert Ukraine Ltd.
//
importbearbetning.serie-.*;Seriell NOLL;
int steg; // Kommunikationsprotokollssteg (0 – ställ in frekvens; 1 – ställ in intervall; 2 – startmätningar)int maxSampler = 100; // Antal punkter att mäta
int maxSets = 50; // Tidsdjup
flyta poäng[][]; // Mätdata
int prov; // aktuellt prov
int uppsättning; // aktuell datamängd
int färger[]; // kurvfärg
int total; // totala prover som förvärvats
boolesk redo; // skärm ritad om om det är sant
int Frekvens; // aktuell Frequency
int Räckvidd; // aktuellt intervall// Kod för att skicka kommando till Analyzer
tomhet serialisera(Sträng cmd) {
int len = cmd.längd();
int charPos = 0;
medan (len— != 0) {
NOLL.skriva(cmd.charAt(charPos));
charPos++;
}
}// SWR-beräkningsfunktion
// Z0 – Systemimpedans (dvs. 50 för 50 Ohm-system)
// R – uppmätt R-värde
// X – uppmätt X-värde
flyta beräknaSWR(flyta Z0, flyta R, flyta X) {
flyta SWR, Gamma;
flyta XX = X * X;
flyta nämnare = (R + Z0) * (R + Z0) + XX;
om (nämnare == 0) {
lämna tillbaka 1E9;
} annan {
flyta l = (R – Z0) * (R – Z0);
flyta t = (l + XX);
t = t / nämnare;
Gamma = sqrt(t); // alltid >= 0
// NOTERA:
// Gamma == -1 fullständig negativ reflektion, när linjen är kortsluten
// Gamma == 0 ingen reflektion, när linjen är perfekt matchad
// Gamma == +1 fullständig positiv reflektion, när linjen är öppen
om (Gamma == 1.0) {
SWR = 1E9;
} annan {
SWR = (1 + Gamma) / (1 – Gamma);
}
}
// returnerar värden
om ((SWR > 200) || (Gamma > 0.99)) {
SWR = 200;
} annan om (SWR < 1) {
SWR = 1;
}
lämna tillbaka SWR;
}
tomhet uppstart() {
Frekvens = 115000000;
Räckvidd = 230000000;
prov = 0;
uppsättning = –1;
steg = 0;
poäng = ny flyta[maxSets + 1][maxSampler + 1];
färger = ny int[maxSets + 1];
redo = falsk;
total = 0;
bakgrund(0);
stroke(120, 240, 255, 255);
slagvikt(1);
storlek(640, 480, P3D);
printArray(Serie.lista());
// Ersätt COM-namnet med ett som matchar dina villkor
NOLL = ny Serie(detta, "COM21", 38400);
NOLL.buffertTills(13);
dröjsmål(1000);
serialisera("SW0\r\n“);
}
tomhet ritaSurface() {
redo = falsk;
lampor();
flyta sp = 0.001 * frameCount;
kamera((bredd / 3) * synd(sp), 0, 800, bredd / 2, höjd / 2, 0, 0, 1, 0);
bakgrund(0, 0, 0);
textstorlek(30);
fylla(255, 255, 255);
// —————- Axel ———————
stroke(255, 255, 255, 128);
linje(0, höjd, 0, bredd höjd, 0);
linje(0, 0, 0, 0, höjd, 0);
linje(bredd, 0, 0, bredd höjd, 0);
linje(0, höjd, 5 * maxSets, 0, höjd, 0);
linje(bredd / 2, höjd, 5 * maxSets, bredd / 2, höjd, 0);
linje(bredd höjd, 5 * maxSets, bredd, höjd, 0);
// —————- Frekv. markörer —————-
stroke(255, 255, 255, 128);
linje(bredd / 2, 0, 0, bredd / 2, höjd, 0);
textJustera(CENTRUM);
text(Frekvens / 1E3 + "kHz", bredd / 2, höjd, 5 * maxSets);
text(((Frekvens / 1E3) – (Räckvidd / 2E3)) + "kHz", 0, höjd, 5 * maxSets);
text(((Frekvens / 1E3) + (Räckvidd / 2E3)) + "kHz", bredd höjd, 5 * maxSets);
// —————– Lägets titel ——————
textJustera(VÄNSTER);
textstorlek(36);
text("SWR som funktion av tidsdiagram", 0, –100, 0);
textstorlek(30);
om (musY < höjd / 5) {
om (mouseX < bredd / 2) {
fylla(255, 0, 0);
textJustera(RÄTT);
text("F = " + Frekvens / 1E3 + "kHz", bredd / 2 – 50, –50, 0);
fylla(255, 255, 255);
textJustera(VÄNSTER);
text("Räckvidd = " + Räckvidd / 1E3 + "kHz", bredd / 2 + 50, –50, 0);
} annan {
fylla(255, 255, 255);
textJustera(RÄTT);
text("F = " + Frekvens / 1E3 + "kHz", bredd / 2 – 50, –50, 0);
fylla(255, 0, 0);
textJustera(VÄNSTER);
text("Räckvidd = " + Räckvidd / 1E3 + "kHz", bredd / 2 + 50, –50, 0);
}
} annan {
fylla(255, 255, 255);
textJustera(RÄTT);
text("F = " + Frekvens / 1E3 + "kHz", bredd / 2 – 50, –50, 0);
textJustera(VÄNSTER);
text("Räckvidd = " + Räckvidd / 1E3 + "kHz", bredd / 2 + 50, –50, 0);
}
// Få extremum
flyta minV = 1E9;
flyta maxV = –1E9;
för (int i = 0; i < uppsättning; i++) {
för (int j = 0; j < maxSampler + 1; j++) {
om (poäng[i][j] > maxV) maxV = poäng[i][j];
om (poäng[i][j] > maxV) minV = poäng[i][j];
}
}
println("Min = " + minV + "; Max = " + maxV);
minV = 1;
om (maxV < 2) maxV = 2;
annan om (maxV < 5) maxV = 5;
annan om (maxV < 10) maxV = 10;
annan maxV = 100;
flyta hK = bredd / maxSampler;
flyta vK = höjd / (maxV – minV);
flyta zK = 2;
// —————– Rita horisontella markörer —————–
fylla(255, 255, 255);
textJustera(RÄTT);
linje(0, höjd – vK, 0, bredd höjd – vK, 0); // SWR = 2
text("SWR = 2.0", 0, höjd – vK, 0);
linje(0, höjd – 2 * vK, 0, bredd höjd – 2 * vK, 0); // SWR = 3
text("SWR = 3.0", 0, höjd – 2 * vK, 0);
linje(0, höjd – 4 * vK, 0, bredd höjd – 4 * vK, 0); // SWR = 5
text("SWR = 5.0", 0, höjd – 4 * vK, 0);
// Rita upp linjerna
för (int i = 0; i < uppsättning; i++) {
om (färger[i] % 5 == 0) stroke(255, 0, 0, 255 * i / uppsättning);
annan stroke(120, 240, 255, 255 * i / uppsättning);
för (int j = 1; j < maxSampler + 1; j++) {
// rita endast om SWR < 100.0
om (poäng[i][j – 1] < 100) {
linje((j – 1) * hK, höjd – (poäng[i][j – 1] – 1) * vK, jag * zK, j * hK, höjd – (poäng[i][j] – 1) * vK, jag * zK); // Process inkommande data void serialEvent(Serial p) { String inString; inString = p.readString(); if (inString.indexOf(“OK”) >= 0) {
}
}
}
} tomhet dra() {
om (redo) {
ritaSurface();
}
}
växla (steg) {
fall 0: serialisera("FQ" + Frekvens + “\r\n“);
steg = 1;
ha sönder;
fall 1: serialisera("SW" + Räckvidd + “\r\n“);
steg = 2;
ha sönder;
fall 2: serialisera("FRX" + str(maxSampler) + “\r\n“);
steg = 0;
prov = 0;
om (uppsättning == maxSets) {
// skift kurvor bakåt
för (int i = 1; i < maxSets + 1; i++) {
färger[i – 1] = färger[i];
för (int j = 0; j < maxSampler + 1; j++) {
poäng[i – 1][j] = poäng[i][j];
}
}
} annan {
uppsättning++;
}
färger[uppsättning] = total++;
redo = Sann;
ha sönder;
}
} annan {
flyta[] nums = flyta(dela(inString, ‘,’));
om (nums.längd == 3) {
flyta SWR = beräknaSWR(50, nums[1], nums[2]);
poäng[uppsättning][prov] = SWR;
prov++;
}
}
}
// Ändra frekvens- och intervallvärden med mushjulet
tomhet mushjul(MouseEvent-händelse) {
flyta e = händelse.getCount();
om (musY < höjd / 5) {
om (mouseX < bredd / 2) { // Ändra Frekv. if (Frekvens > 1E5) {
Frekvens += e * 100000;
ritaSurface();
}
} annan {
// Ändra intervall
om (Räckvidd > 1E5) {
Räckvidd += e * 1E5;
ritaSurface();
}
}
}
}
Viktigt meddelande
Se till att rätt COM-nummer används här:
Kör bearbetningsskissen
Efter att skissen har kopierats till IDE-redigeraren, tryck på RUN-knappen:
Några sekunder senare kommer mätresultaten att visas på din skärm, så här:
Låt oss jämföra de resulterande ritningarna med diagrammet som AntScope-programmet ritar:
För att få 100%-likheten måste du leka lite med en logaritmisk skala.
Källfiler att utgå ifrån
Du kan ladda ner källfiler från GitHub-förråd.
Vår vän Edward March (WB9RAA) gjorde en skiss för Arduino, som analyserar F,R,X-linjen och lägger till SWR i farten.
// RigExpert AA-30 ZERO antenn & kabelanalysator och Arduino Uno
//
// Tar emot från Arduino, skickar till AA-30 ZERO.
// Tar emot från AA-30 ZERO, skickar till Arduino.
//
// 26 juni 2017, Rig Expert Ukraine Ltd.
//
1TP42InkluderaProgramvaruserie NOLL(4, 7); // RX, TX
//
// Modifierad av WB9RAA Ed March
// 6 januari 2018
//
// pratar med AA-30 Zero på 38 400 baud och
// gör data lämpliga för ett kalkylbladsdiagram
//
// Sopa alla skinkband i ca 10K Frekv. steg
// Beräknar SWR i farten så varje textrad
// skickas är: "Freq,R,X,SWR \r\n"
// blandat med OK och fq sw frx kommandon också
// Kompilerad med Arduino IDE 1.8.5
// total sveptid är cirka 25 sekunder för 160M-10M band.
//
// Snabbare plotter med "frx3" på alla band så att endast Edge och Center Freqs skrivs ut.
// Andra idéer, svep 1..30 Mhz och skriv bara ut F,R,X,SWR när swr är under 2.0
//int j;
röding 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
{ “” }, // Slutmarkör //14
//
};
tomhet uppstart()
{
NOLL.Börja(38400); // init AA sida UART
NOLL.spola();
NOLL.setTimeout(2500);
Serie.Börja(38400); // init PC sida UART
Serie.spola();
dröjsmål(50);
j = 0;
Serie.println(“\r\n\nAA-30Zero Project Ver.20180107A av Ed March WB9RAA\n“);
Serie.println(“\nAnvänder RigExpert 'AA-30 Zero' antennanalysator\nSkanna alla 1..30Mhz Ham-band.\nNär du är klar Tryck på / för att köra igen. Skriv annars kommandon till AA-30 Noll\n“);
Serie.println("AA-30 nollkommandon");
Serie.println(“ver : HÄMTA VERSION AV AA FIRMWARE”);
Serie.println(“fq1234567 : STÄLL IN CENTER FREKVENS I HERTZ ex. fq7150000”);
Serie.println(“sw300000 : SÄTT SVEEPORMER I HERTZ ex. sw300000 sveper 300Khz från början till slut”);
Serie.println(“frx123 : BÖRJA SVEPA returnera F,R,X Totalt 123 rader. frx3 returnerar 3 rader BEGIN,CENTER,END\n“);
}
lång tmo = 250;
tomhet slinga()
{
om (NOLL.tillgängligt())
{
Sträng s = NOLL.readStringUntil(‘\n‘);
s.byta ut(“\r“, “”);
Serie.skriva(s.c_str()); // dataström från AA till PC
int i = s.index för(‘,’);
om (i > 0)
{
// Analysera sträng till flyter R & X
i++;
flyta R = s.delsträng(i).att flyta();
int ii = s.delsträng(i).index för(‘,’);
flyta X = s.delsträng(i + ii + 1).att flyta();
//
// Beräkna SWR från R & X
//
flyta XX = X * X;
flyta Rm = (R – 50) * (R – 50);
flyta Rp = (R + 50) * (R + 50);
flyta N = sqrt(Rm + XX);
flyta D = sqrt(Rp + XX);
flyta G = N / D;
flyta vswr = (1 + G) / (1 – G);
// Eftersom vi inte kan skriva ut float får vi int & bråk som INT:s
// 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;
om (v1 < 0)
{
v1 = 99;
v2 = 0;
}
röding z[50];
sprintf(z, “,%d.%02d”, v1, v2); // beräkna swr som sträng
Serie.skriva(z); // lägg till sträng
}
Serie.skriva(“\r\n“); // och avsluta som det var med CR LF
tmo = 250;
}
om (Serie.tillgängligt())
{
röding c1 = Serie.läsa();
om (c1 == ‘/’)
{
j = 0;
}
annan
{
NOLL.skriva(c1); // dataström från PC till AA
}
tmo = 250;
}
dröjsmål(1);
om (—tmo < 0)
{
om (HamBands[j][0] != 0)
{
för (int i = 0; HamBands[j][i] != 0; i++)
{
int kap = HamBands[j][i];
Serie.skriva(kap);
NOLL.skriva(kap);
om (kap == ‘\n‘)
{
för (int d = 0; d < 50; d++)
{
dröjsmål(1);
om (NOLL.tillgängligt())
{
Serie.skriva(NOLL.läsa()); // dataström från AA till PC
}
}
}
}
tmo = 250;
j++;
}
}
}
Fortsättning följer…
RigExpert AA-30.ZERO – Nedladdningar
Desktopprogramvara
- Vänligen ange AntScope-sida eller den AntScope2 sida.
Användarmanualer
- Vänligen se Sidan Komma igång för fullständiga instruktioner om hur du använder analysatorn.
Schema & ritningar
- Schema och BOM.
- PCB ritningar (TOPP och BOTTEN).
Recensioner
Det finns inga recensioner än.