Patent Publication Number: US-10315090-B2

Title: Basketball training system

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application is a continuation of U.S. application Ser. No. 14/643,889 filed Mar. 10, 2015 for “BASKETBALL TRAINING SYSTEM” by D. Campbell, J. Campbell and A. Pan. 
    
    
     BACKGROUND 
     The present invention relates to sports training, and in particular to a basketball training machine with a motorized ball delivery device. 
     Training in sports involves the development of skills as well as physical conditioning. The game of basketball requires physical strength and conditioning, and also requires special skills. Successful development of those skills requires repetition during practice. 
     Although it is a team sport, basketball presents opportunities for an individual player to practice and improve his or her game without the need for other players to be present. A player can develop ball handling skills and shooting skills through individual practice. 
     Basketball players develop their shooting skills by shooting the basketball from various locations on the court. If a second player is not present to rebound, the shooter must rebound his or her own shots. The rebounding process can waste time that could otherwise be used in taking more shots. Over the past several decades, a number of ball collecting devices have been developed to collect basketball shot at the basketball goal (i.e. the backboard and the attached hoop and net). The ball collecting devices generally include netting and a frame for supporting the netting around the basketball goal. The ball collecting devices are often used with a ball delivery device, which directs the ball back to the player. 
     Motorized ball delivery devices can return basketballs to a shooter at various locations on a basketball court. The ball delivery device can have programs that determine which direction to return balls to the player, how many times to return the ball, etc. 
     Some basketball training systems also calculate shooting percentage. The system monitors how many balls are delivered to the player (which represents a number of shots taken), and how many shots go through the basketball hoop (i.e. shots made). The system calculates a shooting percentage based on the number of shots taken and the number of shots made. 
     SUMMARY 
     A basketball training system includes a ball delivery system in which a basketball is delivered to a ball ready holder located in front of a ball launch mechanism. A launch arm is grabbed and pulled backward against a spring force, and then is released to pivot forward and strike the ball from the ball ready holder. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a side view of a basketball training machine that includes a ball collection system and a ball delivery system. 
         FIG. 2  is a front perspective view of the ball delivery system of  FIG. 1 . 
         FIG. 3  is a rear perspective view of the ball delivery system of  FIG. 1 . 
         FIG. 4  is a perspective view of the ball launch mechanism of the ball delivery system. 
         FIGS. 5A and 5B  show the spring preload mechanism of the ball launch mechanism in two different positions. 
         FIGS. 6A-6F  illustrate one complete cycle of operation of the ball launch mechanism. 
         FIG. 7  is a perspective view of a toggle arm actuator mechanism of the ball delivery system. 
         FIG. 8  is a partial perspective view showing the rotation drive of the ball delivery system. 
         FIG. 9  is a block diagram of the control system of the ball delivery system. 
         FIG. 10  shows the keyboard and display of the console of the ball delivery system. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a side view of basketball training machine  10 . Basketball training machine  10  includes two main systems, ball collection system  12  and ball delivery system  14 . 
     Ball collection system  12  includes net  16 , net frame  18 , base  20 , shots made counter  22  (which includes made shots funnel  24 , shots made sensor  26 , and counter support frame  28 ), and upper ball feeder  30 . When machine  10  is used for shooting practice, net  16  is positioned in front of a basketball backboard (not shown) so that the basketball hoop and net (not shown) are immediately above shots made counter  22 . The size of net  16  is large enough so that missed shots (which do not go through the basketball hoop and net and through shots made counter  22 ) will still be collected by net  16  and funneled down to upper ball feeder  30 . 
     Ball delivery system  14  includes ball launching machine  32 , main ball feeder  34 , and ball ready holder  36 . Ball launching machine  32  is pivotally mounted on base  20 . The inlet of main ball feeder  34  is positioned immediately below the outlet of upper ball feeder  30 . Ball launching machine  32  is pivotable about an axis that is aligned with the inlet of main ball feeder  34  and the outlet of upper ball feeder  30 . Balls drop out of upper ball feeder  30  into main ball feeder  34 . Balls are delivered one at a time from main ball feeder  34  into ball ready holder  36  at the front of ball launching machine  32 . Launch arm  38  (shown in  FIG. 2 ) launches the basketball out of holder  36  to a location on the floor where the player catches the ball and shoots. The location on the floor where the ball is delivered can be changed by pivoting machine  32  with respect to base  20 . 
       FIG. 2  is a perspective view of ball delivery system  14  from the front and left of ball launching machine  32 . In this view, ball collection system  12  is not shown. Ball delivery system  14  includes ball launching machine  32 , to which main ball feeder  34  and ball ready holder  36  are mounted. Ball launching machine  32  includes launch arm  38 , bottom platform  40  (which is pivotably mounted to base  20  of ball collection system  12 ), and outer shell  42  (which encloses the ball launching mechanism and controls that operate machine  32 . Front face  44  of outer shell  42  includes electronic front display  46 , pre-launch warning light  48  and front opening  50 . Also shown in  FIG. 2  are ball ready lever  52  and toggle arm  54 . 
     Balls that are collected by ball collection system  12  enter the upper end of main ball feeder  34  and directed downward and forward to toggle arm  54 , which stops further ball movement. When toggle arm  54  is actuated, it pivots to release a single ball to travel further downward and forward into ball ready holder  36 . As shown in  FIG. 2 , ball ready holder  36  slopes downward and rearward through opening  50  into ball launching machine  32 . As the ball rolls down ball ready holder  36  toward launch arm  38 , it contacts ball ready lever  52 . When ball ready lever  52  is depressed by a ball in ball ready holder  36 , it provides a ball ready input signal to the control system of machine  32 . This causes a motor driven cycle to be initiated in which launch arm is engaged and pulled backward while a tension spring is extended. As the cycle continues, launch arm  38  is released and the spring force drives launch arm  38  forward to hit the ball and launch it forward out of machine  32  and ball ready holder  36 . 
       FIG. 3  is a perspective view of ball delivery system  14  from the rear and right of machine  32 . At the top of shell  42  are USB port  56  and console  58 , which allow a user to input information and select operating modes of machine  32 , and to receive outputs including data collected by machine as well as menus, instructions, and prompts. 
     At the rear of machine  32  are ball distance adjustment knob  60  and ball distance pre-select plate  62 . Knob  60  and plate  62  are used to change the spring tension or preload on the spring that drives launch arm  38 . The greater the preload, the further the distance the ball will be driven by launch arm  38  when it is released. In the embodiment shown in  FIG. 3 , plate  62  contains diagonal notched track  64 , which includes five notches at which the tension rod connected to adjustment knob  60  can be positioned. The lower the position of knob  60 , the greater the preload and the farther the ball will be launched. 
       FIG. 4  is a perspective view of ball launch mechanism  70  built on base frame  40 , which is rotatably mounted to base  20  of ball collection system  12 . Ball launch mechanism  70  launches balls using launch arm  38 , which is pivotally mounted by pivot pin  72  to arm support uprights  74 . At its upper end, launch arm  38  carries grab pin  76 . At its lower end, launch arm  38  carries cross bar  78 . Mounted to cross bar  78  are bumpers or cushions  80 , which engage arm support uprights  74  to stop rearward movement of the lower end of launch arm  38  (and limit the forward movement of the upper end of strike are  38 ). Bracket  82  is mounted to the lower end of launch arm  38  and connects the forward end of throw spring  84  to the lower end of launch arm  38 . The rear end of throw spring  84  is connected to the upper end of throw spring tensioner  86 . As shown in  FIG. 4 , the lower end of throw spring tensioner  86  is pivotally connected to platform  40 . The position of throw spring tensioner  86 , and thus the tension or preload of throw spring  84  is controlled by a linkage between ball distance adjustment knob  60  and tensioner  86 . This will be shown in  FIGS. 5A and 5B . 
     Ball ready lever  52  is positioned above the upper end of launch arm  38  in  FIG. 4 . Ball ready lever  52  is mounted at the top of support framework  88 , which extends upward from platform  40  and includes a number of vertical and horizontal tubular members. Ball ready sensor  90  is mounted adjacent ball ready lever  52 , so that when a ball rolls backward and downward in ball ready holder  36  and presses lever  52 , ball ready sensor  90  changes state to indicate that a ball is in place and is ready to be launched. 
     The retracting and then release of launch arm  38  is performed by a motorized drive system that includes drive motor  92 , crank arm  94 , grab arm  96  with hook  98 , guide arm  100 , movable guide wheel  102 , stationary guide wheel  104 , guide arm spring  106 , and drive motor sensor  108 . Crank arm  94  is fixedly connected at its inner end to shaft  110  of motor  92 , and is pivotally connected at its outer end to the lower end of grab arm  96 . As crank arm  94  is rotated through a 360 degree cycle by motor  92 , grab arm  96  is guided between movable guide wheel  102  and stationary guide wheel  104 . Guide arm spring  106  applies a spring bias to movable guide when  102  to keep guide wheel  102  in engagement with grab arm  96  so that grab arm  96  is contained between movable guide arm  102  and stationary guide wheel  104 . 
     During a cycle, grab arm  96  will be moved so that hook  98  engages grab pin  76  and pulls the upper end of launch arm  38  rearward against the string force of throw spring  84 . As the cycle continues, grab pin  76  will be pulled rearward to a maximum distance. Further rotation of crank arm  94  causes hook  98  to disengage from grab pin  76 , which releases launch arm  38  to move forward and launch the ball sitting on ball ready holder  36 . The distance that the ball will travel depends on the amount of preload applied to throw spring  84  through throw spring tensioner  86 . 
     The cycle is limited to one rotation of motor shaft  110 . Drive motor sensor  108  is engaged by crank arm  94  as the cycle is being completed, and causes the cycle to be ended. 
       FIG. 4  also shows rotation calibration sensors  112  that are mounted on platform  40 . These sensors are used to determine the center position of platform  40 , which allows machine  32  to calibrate the rotation potentiometer that keeps track of the positon on the floor where the ball is being delivered. 
       FIGS. 5A and 5B  show ball launch mechanism  70  with the mechanism for preloading throw spring  84  in place. Both  FIGS. 5A and 5B  show launch mechanism  70  after grab arm  96  has released grab pin  76  and launch arm  38  has moved forward and launched the ball. Bumpers  80  are positioned against arm support uprights  74 . As seen, grab arm  96  is oriented vertically and hook  98  is rearward of grab pin  76 . Shown in  FIGS. 5A and 5B  are ball distance adjustment knob  60 , ball distance pre-select plate  62 , track  64 , clamp  114 , tension rod  116 , and spring assist  118 . Tension rod  116  is connected at its outer end to knob  60  by clamp  114 , and is connected at its inner end to throw spring tensioner  86 . Spring assist  118  has its lower end connected to tension rod  116  near throw spring tensioner  86 , and is connected at its upper end to support framework  88 . The angle of tensioner  86 , and thus the amount of tension preload on throw spring  84 , depends on which notch of track  64  is holding tension rod  116 .  FIGS. 5A and 5B  illustrate two of the possible positions of tension rod  116 . 
       FIGS. 6A-6F  illustrate a cycle of the drive system that retracts and then releases launch arm  38  to launch a ball. In  FIGS. 6A-6F , throw spring  84  is not shown for simplicity and clarity. The starting and ending point for each cycle is with grab arm  96  in a vertical orientation and hook  98  rearward of grab pin  76  and launch arm  38 . That position is shown as the start/end position in  FIG. 6A . 
       FIG. 6A  shows the outer end of crank arm  94  in contact with drive motor sensor  108 . Motor  92  is stopped, grab arm  94  is nearly vertical and is held between guide wheels  102  and  104 . The upper end of launch arm  38  and grab pin  76  are at their forward most position. In response to a signal from ball ready sensor  90  indicating a ball is in position on ball ready holder  36  (not shown), drive motor  92  is activated and begins to rotate motor shaft  110  and crank arm  94  in a clockwise direction. 
       FIG. 6B  shows the cycle at the point where crank arm  94  has rotated to a position where grab arm  96  is lifted away from stationary guide wheel  104 . The spring bias provided by guide arm spring  106  to movable guide wheel  102  has caused grab arm  96  to pivot so that hook  98  moves forward over grab pin  76 . 
       FIG. 6C  shows grab arm  96  pulling grab pin  76  and launch arm  38  rearward as crank arm continues its clockwise rotation. Movable guide wheel  102  and guide arm spring  106  keep hook  98  in engagement with grab pin  76 . 
       FIG. 6D  show grab pin  76  at its furthest rearward and downward position. Further clockwise rotation of crank arm  94  will begin to cause hook  98  to disengage for grab pin  76 , as illustrated in  FIG. 6E . 
     In  FIG. 6F , hook  98  has released grab pin  76  and the upper end of launch arm  38  has moved forward rapidly to strike and launch the ball. At the point shown in  FIG. 6F , the cycle is not yet complete. Crank arm will continue to rotate in the clockwise direction until the outer end of crank arm  94  engages drive motor sensor  108 . At that point, drive motor  92  stops with the mechanism in the position shown in  FIG. 6A . 
       FIG. 7  shows toggle arm actuator mechanism  120 , which operates toggle arm  54 . Mechanism  120  includes motor shaft  122 , cam  124 , cam follower guide wheel  126 , guide blocks  128  and  130 , spring  132 , toggle rod  134 , and sensor  136 . When a ball has been launched, ball ready sensor  90  indicates that there is no longer a ball waiting in ball ready holder  36  to be launched. That initiates cam drive motor  150  (shown in  FIG. 9 ) to rotate motor shaft  122  in a counterclockwise direction. As motor shaft  122  rotates, cam  124  rotates and guide wheel  126  follows the contour of cam  124 . Spring applies a downward spring bias to toggle rod  134  to ensure the guide wheel  126  and toggle rod  134  will follow cam  124 . When guide wheel  126  and toggle rod  134  move downward, the upper end of toggle rod  134  pulls the forward end of toggle arm  54  downward to release one ball downward and forward into ball ready holder  36 . As motor shaft  122  and cam  124  continue to rotate in a counterclockwise direction, guide wheel  126  and toggle rod  134  are driven upward to block any further ball from moving past toggle arm  54 . The rotation of motor shaft  122  continues until sensor  136  signals that one complete revolution has been completed. 
     The coordinated operation of ball launch mechanism  70  and toggle arm actuator mechanism  120  causes balls collected by ball collection system  12  and delivered to main ball feeder  34  to be supplied one at a time onto ball ready holder  36 . When a ball is in position on ball ready holder  36 , launch mechanism  70  initiates a cycle in which grab arm  96  retracts launch arm  38  and loads throw spring  84 , and then releases launch arm  38  so that the spring force causes launch arm  38  to strike the ball and launch the ball off ball ready holder  36  to the player. 
       FIG. 8  shows a view of ball launch mechanism  70  of ball launching machine  32  in which the mechanism for rotating ball launch machine  32  with respect to base  20  can be seen. In addition, many of the components of ball launch mechanism  70  that have previously discussed are also labeled and can be seen in  FIG. 8 . Among those components that have already been discussed are launch arm  38 , bottom platform  40  (which is pivotably mounted to base  20  of ball collection system  12 ), ball distance adjustment knob  60 , ball distance pre-select plate  62 , and diagonal notched track  64 , arm support uprights  74 , cross bar  78 , bumpers  80 , bracket  82 , throw spring  84 , drive motor  92 , grab arm  96 , guide arm  100 , movable guide wheel  102 , stationary guide wheel  104 , guide arm spring  106 , and drive motor sensor  108 . Components of toggle arm actuator mechanism  120  seen in  FIG. 8  include cam  124 , cam follower guide wheel  126 , guide blocks  128  and  130 , spring  132 , toggle rod  134 , and ball feeder sensor  136 . 
     The rotation drive mechanism shown in  FIG. 8  includes rotation gear motor  140 , rotatable spur gear  142 , stationary spur gear  144 , rotation potentiometer  146 , and potentiometer bracket  148 . Platform  40  is rotated with respect to base  20  by rotation of rotatable spur gear  142  with respect to stationary spur gear  144 . Spur gear  142  is driven by rotation gear motor  140 . Stationary spur gear  144  is mounted on a shaft that is connected to base  20  (shown in  FIG. 1 ). As rotatable spur gear  142  rotates, base  40  and all of the components mounted to base  40  rotate about the axis of the shaft on which stationary spur gear  144  is mounted. Rotation gear motor  140  can drive rotatable spur gear  142  in either a clockwise or a counterclockwise direction. Potentiometer  146  is connected to the shaft on which stationary spur gear  144  is mounted, and produces a variable resistance that is a function of the rotational position of platform  40 . 
       FIG. 9  is a block diagram of the control system of ball delivery system  14 . Shown in  FIG. 9  shot made sensor  26 , are front display  46 , pre-launch warning light  48 , USB port  56 , console  58 , ball ready sensor  90 , launch drive motor sensor  108 , rotation calibration sensor  112 , ball feeder sensor  136 , rotation motor  140 , rotation potentiometer  146 , ball feeder toggle motor  150 , power supply  152 , AC cable  154 , controller  156 , fan  158 , and remote control  160 . 
     Controller  156  is a microprocessor based controller that coordinates the operation of display board  46 , safety light  48 , console  58 , motors  92 ,  140 , and  150 , and fan  158 . Controller  156  receives input data and commands from console  58  and remote control  160 . It also can supply data that is stored to a storage device (such as a flash drive or a computer) through USB port  56 . Sensors  26 ,  90 ,  108 ,  136 , and potentiometer  146  are used by controller  156  in coordinating and controlling the operations of motors  92 ,  140 , and  150 . Calibration sensors  112  are used by controller  156  during set up to provide calibration of the signal from potentiometer  146 , which is used to determine the rotational position of ball launching machine  32 . 
       FIG. 10  is an illustration of a screen of console  58 . In one embodiment, console  58  includes a liquid crystal display (LCD) touchscreen with display area  200  for displaying information and data such as the particular drill performed, the tempo at which the drill was performed, the number of shots made, the number of shots taken, and the elapsed time. Console  58  also includes basic control keyboard area  202  and advanced keyboard area  204 . Basic control keyboard  202  includes Power key  210 , Start Stop key  212 , increase key  214 , decrease key  216 , Enter key  218 , Locations key  220 , Balls Per Location key  222 , Tempo key  224 , and Reset key  226 . One other basic control key, Drills key  228  is located within advanced controls keyboard area  204 . 
     The advanced control keys found in advance controls keyboard area  204  include Workouts key  230 , Shooting Percentage key  232 , Player ID key  234 , Mid-Range Shot key  236 , and Upload key  238 . 
     The functions of the basic controls are as follows: Power key  202  powers on ball delivery system  14 . Start/Stop key  212  starts and stops a workout or drill. Keys  214  and  216  increase and decrease a setting, respectively. Enter key  218  accepts settings. Locations key  220  allows the user to select or edit throwing locations. Balls Per Location key  222  allows the user to edit the number of balls that will be passed to each selected location. Tempo key  224  allows the user to edit the time elapsed between each ball being passed. Reset key  226  resets the current settings. Drills key  228  selects a pre-programmed drill or workout. 
     The functions of the advanced controls are as follows: Workouts key  230  selects a workout program. Shooting Percentage key  232  allows user to view shooting percentage by location after a workout. Player ID key  234  allows the user to enter a player&#39;s initials or code. This is used for shooting statistics uploading. Mid-Range Shot key  236  selects a mid-range jump shot versus a 3 point shot. This is also used when uploading shooting statistics. Upload key  238  allows data from a workout to be uploaded through USB port  56  to a storage device, such as a flash drive or a computer. 
     In one basic workout, the user simply wishes to shoot from a single location. The user aims ball launching machine  32  in the direction that the user wants to pass the ball. The aiming of ball launching machine  32  is achieved by pressing Enter key  218  while pressing the appropriate increase or decrease key  214  or  216 . When ball launching machine  32  is aimed at the desired location, the user presses Start/Stop key  212 . To adjust the tempo during this workout, the user presses Tempo key  224 . 
     A workout can also involve shooting from multiple locations. In that case, the user presses Locations key  220 . A display then appears on screen  200  showing an arc with a series of numbered locations. A flashing location indicates the current position of a cursor. The user makes use of keys  214  and  216  to move the cursor from one position to another. To select a particular location, the cursor is moved to that location, and the user presses Enter key  218 . To deselect a location, the user also presses Enter key  218 . 
     User presses Balls Per Location key  222  to choose the number of balls to be passed to the selected locations. Tempo key  224  is pressed to choose the desired time between each ball passed. Once the workout has been defined in terms of locations, balls per location, and tempo, the user presses Start/Stop key  212 . The workout can be paused and resumed by using Start/Stop key  212  or remote control  160 . 
     Controller  156  can store pre-programmed drills. The pre-programmed drills may be preloaded into controller  156  so they are available when basketball training machine  10  is delivered to a customer, or may be developed and loaded into the machine at a later time. 
     To choose a pre-programmed drill, the user presses Drills key  228 . Each pre-programmed drill will be called up in sequence as the user continues to press Drills key  228 . When the desired drill is reached, the user presses Start/Stop key  212 . The user can then edit any drill by simply changing the setting using Locations key  220 , Balls Per Location key  222 , Tempo key  224 , or Workouts key  230 . 
     To save a new drill, the user presses Drills key  228  and then chooses the drill number that he or she wishes to save. The user then makes use of Locations key  220 , Balls Per Location key  222 , Tempo key  224 , and optionally Workouts key  230  to choose drill settings. Once the drill settings are chosen, the user presses Drills key  228  again. Enter key  218  is then pressed and held until screen  200  displays “Drill Saved”. 
     Remote control  160  communicates wirelessly with controller  156 . Remote control  160  can be used to pause and resume any workout. It can also be used in remote mode to pass a ball. A remote mode is activated at console  58  by pressing Tempo key  224  and then using keys  214  and  216  to select the remote mode. The user then presses Start/Stop key  212 . The user can then press one of the buttons on remote control  160  to pause ball launching machine  32  to pass a ball. To exit the remote mode, the user changes tempo using Tempo key  224  and keys  214  and  216 , or presses Reset key  226 . 
     A user can select a workout program before or after entering settings with Locations key  220 , Balls Per Location key  222 , and Tempo key  224 . When selecting a workout program, the user presses Workouts key  230 . There are several types of workouts that can be selected by the user. 
     A time workout allows the user to set the amount of time the user wants to train. Controller  156  will stop ball launching machine  32  once the selected time has expired. 
     A shots taken workout allows the user to set out a total of shots to be taken. Controller  156  will automatically stop once the total number of shots goal has been met. This is determined by counting the number of ball launching cycles have occurred since the start of the workout. 
     A shots made workout allows the user to set an amount of total shots that have to be made during the workout. Controller  156  will count shots made using inputs from shots made sensor  26 , and will automatically stop machine  32  when the shots made goal has been met. 
     A compete workout allows the user to set the amount of shots made required before controller  156  will cause machine  32  to throw to the next location. This can be used in conjunction with other workouts. The number of shots made is determined by controller  156  based upon inputs from shots made sensor  26 . For the compete mode, more than one location must have been selected as part of the workout. 
     A two player compete mode allows selection of a location for each player. Front display  46  shows the amount of shots made by each player. After the workout, the users can press Shooting Percentage key  232  to view individual stats. 
     The user can view real-time shooting statistics with ball launching machine  32 . Statistics can be viewed after a workout has elapsed or by pressing start stop key  212  to pause a current workout. If shots made sensor  26  is connected (i.e., is being used), the average shooting percentage is calculated by controller  156  and displayed on screen  200 . The shooting percentages obtained by pressing Shooting Percentage key  232 . Shots made, shots taken, time, and shooting percentage show statistics per location. The user can arrow through each selected location using keys  214  and  216  to view the individual statistics for each position on the court. 
     Tracking a 2-point versus 3-point shot can also be provided. Before pressing Start/Stop key  212  on any workout, the user first presses Mid-Range Shot key  236 . As a result of that key press, controller  156  now assumes all shots taken are from inside the 3-point line. To exit mid-range mode, the user again presses Mid-Range Shot key  236 . To track free throw shooting, the user presses Locations key  220  and uses keys  214  and  216  to go to the center most location. The user then presses and holds Enter key  218  for two seconds. To exit free throw shooting tracking, the user deselects the center location by pressing Enter key  218  or pressing Reset key  226 . 
     Statistics can be uploaded to a flash drive that is attached to USB port  56 . To upload shooting statistics, a player ID must first be entered prior to starting a workout. A date and time must be entered using settings mode. Settings mode can be entered by powering on machine  32  or by pressing Reset key  226 . Keys  214  and  216  are then pressed simultaneously and held for two seconds. Then keys  214  and  216  can be used to move between various selections such as selecting time and date. Enter key  218  is used to navigate in the settings mode. 
     To enter a player ID into controller  156 , Player ID key  234  is pressed. A user&#39;s three character ID is then entered. Once the player ID has been entered, the user can choose a drill, or set up a workout and press Start/Stop key  212 . 
     When the workout has ended, a USB flash drive is inserted into USB port  56 . The user then presses Upload key  238 . This causes the shooting statistics to be saved by controller  156  to USB flash drive in USB port  56 . The statistics are saved as a single file. This process can be repeated many times as long as there is sufficient space on the flash drive. 
     Statistics can also be uploaded to the internet after an account has been setup at a designated website, such as www.airborneathletics.com. The USB flash drive that was used to receive uploaded statistics from controller  156  can be connected to a computer which is then logged into the website. Statistics can then be uploaded through the internet to that website. 
     Coaches can create an account at the website, create a group, and send an email invite to all the players that will be using basketball training machine  10 . Each player can click the link at the website and create his or her own profile. By joining the group, the coach can see all of the player&#39;s statistics that have been uploaded by each player from controller  156  to a USB flash drive, and from the flash drive to a computer, and then to the website. 
     While the invention has been described with reference to an exemplary embodiment(s), it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment(s) disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.