home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1987-07-28 | 4.0 KB | 100 lines |
- 0 COLOR ,1:CLS
- 10 COLOR 15,1,4:LOCATE 2,30:PRINT"VHF YAGI BEAM DESIGN"
- 20 LOCATE 4,1:PRINT STRING$(79,"=")
- 30 LOCATE 6,10:PRINT"THIS PROGRAM IS TO DESIGN BEAMS IN THE ";:COLOR 14:PRINT" 144 - 220 - 440 Mhz BANDS":COLOR 15
- 40 LOCATE 8,25:PRINT"WHICH HAVE MORE THAN ";:COLOR 14:PRINT" 3 ELEMENTS":COLOR 15
- 45 LOCATE 10,10:COLOR 2:PRINT"IT WAS ADAPTED TO COLOR FROM A PROGRAM ON THE PDS DISK AR 1.0"
- 50 LOCATE 23,35:COLOR 31:PRINT"[ENTER]"
- 60 COLOR 15,0
- 70 LOCATE 24,38:ZZ$=INKEY$:IF ZZ$= "" THEN 70
- 80 COLOR 15,0,0:CLS
- 100 'This program calculates the dimensions of a VHF Yagi antenna.
- 110 '
- 120 'Design assumptions are:
- 130 ' 1. Driven element length in inches is 5600/frequency in MHZ.
- 140 ' 2. The reflector is 5% longer than the driven element.
- 150 ' 3. Reflector and first director spacing is 0.2 wavelengths from driven.
- 160 ' 4. The first director is 5% shorter than the driven element.
- 170 ' Subsequent director lengths are calculated by adding 1% to
- 180 ' the shortening factor of the previous director. For example,
- 190 ' the 2nd director is 6% shorter than the driven element,
- 200 ' the 3rd is 7% shorter, the 4th, 8% shorter, etc.
- 210 ' 5. Director spacing is 110% of previous spacing. Spacing starts
- 220 ' at 0.2 wavelengths.
- 230 '
- 240 ' The program is well documented via remarks, so any of the above
- 250 ' assumptions may be easily changed.
- 255 '
- 260 ' Program COLOR mods by R. Thwing K4EDE P.O. Box 40 Columbus, NC 28722
- 265 '
- 270 '-------------------- PROGRAM BEGINS --------------------------------------
- 280 CLS:COLOR 15,0
- 290 PRINT" VHF YAGI BEAM DESIGN":PRINT:PRINT:PRINT:PRINT"
- 300 DEFINT I
- 302 LOCATE 6,10:PRINT "THE OUTPUT OF THIS PROGRAM IS TO THE MONITOR SCREEN"
- 303 LOCATE 8,10:COLOR 14:PRINT"PRESS [SHIFT]+[PRINT] FOR HARD COPY WHEN WANTED"
- 304 PRINT
- 305 LOCATE 10,10:COLOR 4:PRINT"DO YOU WANT TO USE PRINTER? Y/N "
- 306 LOCATE 10,42:ZZ$=INKEY$:IF ZZ$="" THEN 306
- 307 IF ZZ$= "Y" OR ZZ$= "y" THEN GOSUB 10000 ELSE 308
- 308 LOCATE 22,30:COLOR 25:INPUT"HIT [ENTER] TO CONTINUE";ZZ:COLOR 15
- 309 PRINT:CLS
- 310 COLOR 0,15:INPUT"WHAT FREQUENCY (MHZ) ";FREQ
- 311 IF FREQ <144 OR FREQ >450 THEN COLOR 4:PRINT"FREQ OUT OF VHF BAND..REENTER FREQ":COLOR 0:GOTO 310
- 320 INPUT"HOW MANY ELEMENTS (3 MINIMUM) ";ELNO:PRINT
- 321 IF ELNO <3 THEN COLOR 4:PRINT"TOO FEW ELEMENTS...TRY AGAIN":COLOR 0:GOTO 320
- 330 WL = 11808/FREQ 'wavelength in free space (inches)
- 340 DR = 5600/FREQ 'driven element length (inches)
- 350 RF = DR * 1.05 'reflector length
- 360 SPR = WL * 0.2 'reflector spacing
- 370 PL(1) = DR * 0.95'first director length
- 380 SPP(1) = WL * 0.2 'first director spacing
- 390 FOR I = 2 TO (ELNO -2)
- 396 PRINT
- 400 SPP(I) = SPP(I-1) * 1.1 'each director spacing 10% greater than previous
- 410 PL(I) = DR * (100 - (4 + I))*0.01 'director length
- 420 LN1 = LN1 + SPP(I) 'keep track of overall length
- 430 NEXT
- 440 DEF FNX(X) = INT(X*100+0.5)*0.01 'function to round off printing to 2 dec.
- 450 LNT = SPR + SPP(1) + LN1 'total beam length
- 460 COLOR 2,0:PRINT"DESIGN DATA FOR VHF YAGI BEAM ANTENNA: "
- 470 PRINT
- 480 PRINT"---- DESIGN FREQUENCY IS";FREQ;" MHZ"
- 490 PRINT"---- TOTAL NUMBER OF ELEMENTS IS";ELNO
- 500 PRINT
- 510 PRINT
- 520 PRINT TAB(35);"LENGTH IN INCHES"
- 530 PRINT"REFLECTOR";TAB(40);FNX(RF)
- 540 PRINT"REFLECTOR TO DRIVEN";TAB(41);FNX(SPR)
- 550 PRINT"DRIVEN";TAB(40);FNX(DR)
- 560 PRINT"DRIVEN TO 1st DIRECTOR";TAB(41);FNX(SPP(1))
- 570 PRINT"1st DIRECTOR LENGTH";TAB(40);FNX(PL(1))
- 580 PRINT
- 590 FOR I = 2 TO (ELNO -2)
- 600 PRINT"DIRECTOR No.";I;" LENGTH IS";FNX(PL(I));" INCHES"
- 610 PRINT"SPACED";FNX(SPP(I));" INCHES FROM DIRECTOR No.";I-1
- 620 PRINT
- 630 NEXT
- 640 PRINT"------ OVERALL BEAM LENGTH IS";FNX(LNT);" INCHES ------"
- 650 LOCATE 24,35:COLOR 20:PRINT"[SPACE BAR]"
- 655 AA$=INKEY$:IF AA$="" THEN 655
- 660 COLOR 15:CLS
- 670 LOCATE 12,20:COLOR 14:PRINT"WHAT NOW?"
- 680 LOCATE 14,20:PRINT"DO ANOTHER DESIGN?...........................A"
- 690 LOCATE 15,20:PRINT"RETURN TO BASIC..............................B"
- 700 LOCATE 16,20:PRINT"RETURN TO MAIN MENU..........................M"
- 710 COLOR 4:LOCATE 17,20:PRINT"RETURN TO MS-DOS.............................D"
- 720 COLOR 15:LOCATE 20,20
- 725 ZZ$=INKEY$:IF ZZ$="" THEN 725
- 730 IF ZZ$= "A" THEN CLS:RUN 310
- 740 IF ZZ$= "B" THEN CLS:NEW
- 750 IF ZZ$= "M" THEN RUN"MAINMENU"
- 760 IF ZZ$= "D" THEN 800
- 770 CLS:GOTO 660
- 800 COLOR ,4:CLS:COLOR 15:LOCATE 12,25:PRINT"ARE YOU SURE (Y)es/(N)o ?":LOCATE 15,20:COLOR 31:PRINT"<<<<< A YES WILL CLEAR BASIC!! >>>>>"
- 810 AA$=INKEY$:IF AA$= "" THEN 810
- 820 IF AA$= "Y" THEN COLOR 15,0:SYSTEM
- 830 COLOR 15,0:GOTO 670
- 10000 A=INP(&H379):IF A<>217 THEN LOCATE 16,32:COLOR 20:PRINT"PRINTER NOT READY ":GOTO 10000
- 10010 COLOR 0:LOCATE 16,32:PRINT" ":RETURN
-