The objective of this laboratory is to measure a juggler's dwell time
and vacant time for both hands. Then graph these times and find the
flight time and height of each toss. You may be interested in how your
ratio, k, of dwell time to hand cycle (dwell plus vacant) time looks
in light of P. J. Beek's findings.
As suggested by C. Shannon, juggling bags are wraped in aluminum foil
and solder tape (flat woven wire) is stitched to the palm of the gloves.
The foil wrapped bags short the wires on the glove when the ball is held,
that is, during dwell time.
The following figure shows how to wire the glove wires (solder tape) to
the game port DB-15 D-Shell connector.
So for a few dollars of telephone four wire cable, some other supplies
and a little sewing and soldering time, one can have a little fun
collecting data.
The following MS-DOS QBASIC program was fast enough to get game port
button switch values in the .001 to .003 second range for my old 386 computer.
100 REM PROGRAM JUGAMEP1.BAS ---- TURN PRINTER ON LINE AND START BEFORE 4000 104 REM GAME PORT JUGGLING PROGRAM FROM PAUL BERGSMAN'S BOOK CONTROLLING THE WORLD WITH YOUR PC 106 DEFINT A-R 108 REM Read, and display, statis of gameport joysticks and buttons 110 REM BUTTON A1 IS STIG(1) AND BUTTON A2 IS STRIG(5) DWELL IS -1 VACANT 0 112 DIM R&(9000), L&(9000) 116 DIM RO&(9000), LO&(9000) 120 CLS : FOR K = 1 TO 4000: LOCATE 5, 3: PRINT K: NEXT K: K = 0: CLS 122 N& = 1: MRO& = 1: MLO& = 1: MR& = 1: ML& = 1: MALM& = 8999 128 O# = TIMER * 100 130 REM 140 IF STRIG(1) = -1 THEN R&(MR&) = N&: MR& = MR& + 1 145 IF STRIG(5) = -1 THEN L&(ML&) = N&: ML& = ML& + 1 150 IF STRIG(1) = 0 THEN RO&(MRO&) = N&: MRO& = MRO& + 1 155 IF STRIG(5) = 0 THEN LO&(MLO&) = N&: MLO& = MLO& + 1 255 N& = N& + 1: IF ML& > MALM& OR MR& > MALM& OR MLO& > MALM& OR MRO& > MALM& THEN P# = TIMER * 100: GOTO 300 260 GOTO 130 300 Q# = P# - O#: X# = Q#: PRINT "TIME = "; X# / 100; " SECONDS FOR "; N&; " INTERVALS OF "; X# / (100 * N&): Y# = X# / (100 * N&) 390 KI& = 1: LPRINT " _____________________ RIGHT HAND DWELL TIMES_____________________" 400 FOR K& = 2 TO MR& 410 IF R&(K&) = R&(K& - 1) + 1 THEN 480 420 LPRINT "RDR: "; R&(KI&); " "; R&(KI& + 1); "..."; R&(K& - 2); " "; R&(K& - 1); " FOR "; (R&(K& - 1) - R&(KI&)) * Y#; " SEC." 470 KI& = K& 480 NEXT K& 490 INPUT "LOAD PAPER AND ENTER"; Z$ 500 KI& = 1: LPRINT " _____________________ RIGHT HAND VACANT TIMES_____________________" 510 FOR K& = 2 TO MRO& 520 IF RO&(K&) = RO&(K& - 1) + 1 THEN 550 530 LPRINT "RVR: "; RO&(KI&); " "; RO&(KI& + 1); "..."; RO&(K& - 2); " "; RO&(K& - 1); " FOR "; (RO&(K& - 1) - RO&(KI&)) * Y#; " SEC." 540 KI& = K& 550 NEXT K& 560 INPUT Z$ 590 KI& = 1: LPRINT " _____________________ LEFT HAND DWELL TIMES_____________________" 600 FOR K& = 2 TO ML& 610 IF L&(K&) = L&(K& - 1) + 1 THEN 680 620 LPRINT "LDR: "; L&(KI&); " "; L&(KI& + 1); "..."; L&(K& - 2); " "; L&(K& - 1); " FOR "; (L&(K& - 1) - L&(KI&)) * Y#; " SEC." 670 KI& = K& 680 NEXT K& 690 INPUT "LOAD PAPER AND ENTER"; Z$ 700 KI& = 1: LPRINT " _____________________ LEFT HAND VACANT TIMES_____________________" 710 FOR K& = 2 TO MLO& 720 IF LO&(K&) = LO&(K& - 1) + 1 THEN 750 730 LPRINT "LVR: "; LO&(KI&); " "; LO&(KI& + 1); "..."; LO&(K& - 2); " "; LO&(K& - 1); " FOR "; (LO&(K& - 1) - LO&(KI&)) * Y#; " SEC." 740 KI& = K& 750 NEXT K& 760 REM INPUT Z$ 995 Q# = P# - O#: X# = Q#: LPRINT "TIME = "; X# / 100; " SECONDS FOR "; N&; " INTERVALS OF "; X# / (100 * N&) 996 PRINT "MR& = "; MR&; " MRO& = "; MRO&; " ML& = "; ML&; " MLO& = "; MLO&; " N& = "; N& 998 LPRINT DATE$, TIME$: PRINT 999 PRINT "DONE": END
100 REM JUGGLING HEIGHTS PROGRAM JHEIGHT.BAS 105 CLS : PRINT : PRINT "___________________JUGGLING HEIGHT BASED ON FLIGHT TIME____________________": PRINT 110 INPUT "THE FLIGHT TIME F = "; F 120 S = (193 / 4) * F ^ 2: PRINT : PRINT "CALCULATION MADE USING S = 193 (F/2)^2": PRINT 130 PRINT "IF TOTAL FLIGHT TIME IS F = "; F; " THEN THE HEIGHT IS "; S; " INCHES" 140 PRINT : PRINT "ANOTHER CALCULATION?"; : INPUT " Yes/No "; QUEST$ 150 IF QUEST$ = "Y" OR QUEST$ = "YES" THEN PRINT : GOTO 110 160 IF QUEST$ = "y" OR QUEST$ = "yes" THEN PRINT : GOTO 110 200 END
Computer Laboratory with Vernier's LabPro and Logger Pro