Departments of ECE and CS - Home



Senior Design I DocumentEEL 4914Christian BraunRashon HoganJelani JacksonDonald ThomsonTable of Contents1.0 Executive Summary12.0 Project Description22.1 Motivation22.2 Beer Pong History42.3 Beer Pong Game Description42.4 Objectives72.4.1 ARM Central Controller72.4.2 MSP430 MCU Objectives72.4.3 Sensors82.4.3.1 Cup Sensor Objectives82.4.3.2 Infrared Barrier Objectives82.4.4 Ball Washer Objectives82.5 Requirements and Specifications93.0 Research Related to Project Definition113.1 Existing Similar Projects113.1.1 Research113.1.2 Influence and Implementations133.2 Relevant Technologies143.2.1 Central Controller Options143.2.2 MCU Options243.2.3 User Interface Options293.2.4 Aesthetic LED Array343.2.5 Capacitive Touch373.2.6 Cup Sensor LEDs403.2.7 Infrared Barrier423.2.8 Ball Washer 463.3 System Architecture Options 514.0 Project Hardware and Software Design534.1 Design Summary 534.2 System Architecture 564.3 Subsystems 574.3.1 Central Controller574.3.2 User Interface624.3.3 Aesthetic LED Array714.3.4 Cup Sensors844.3.5 Infrared Barrier914.3.6 Ball Washer984.3.7 Power1015.0 Prototype Testing1035.1 Test Environment1035.2 Test Specifications1045.2.1 Central Controller1045.2.2 User Interface1055.2.3 Aesthetic LED Array1095.2.4 Cup Sensors1125.2.5 Infrared Barrier1135.2.6 Ball Washer1145.2.7 Power System1156.0 Administrative Content1156.1 Division of Labor1156.2 Milestones1166.2.1 Senior Design 11166.2.2 Senior Design 21166.3 Budget117List of FiguresFigure 1: Simplified Table LayoutFigure 2: Example of Commercial TableFigure 3: Stellaris UART Module Block DiagramFigure 4: ATMEL AT91SAM UART Functional Block DiagramFigure 5: OKI ML674000 UART Functional Block DiagramFigure 6: ATMEL AT91SAM SPI Block DiagramFigure 7: Stellaris SSI Module Block DiagramFigure 8: Stellaris I2C Block DiagramFigure 9: MSP430 USART Block DiagramFigure 10: Atmel AT32UC3A0128 SSC Block DiagramFigure 11: Microchip PIC SI Block DiagramFigure 12: MSP430 I2C Block DiagramFigure 13: Region Segregation IllustrationFigure 14: Animation IllustrationFigure 15: LED Placement IllustrationFigure 16: Illustration of a PCB capacitive touch unitFigure 17: Illustration of how the capacitive touch unit measures capacitanceFigure 18: Layout and dimensions of TI capacitive touch unitFigure 19: TLC5940 Block DiagramFigure 20: Simplified emitterFigure 21: Simplified detectorFigure 22: Example of Sharp GP2D functionalityFigure 23: Pulsed infrared signal filteringFigure 24: Peltier Device Pasteurization IllustrationFigure 25: Heater/Radiator Pasteurization IllustrationFigure 26: Distributed Computing ArchitectureFigure 27: Event Driven ArchitectureFigure 28: DCPPTSS block diagramFigure 29: DCPPTSS Overall Activity DiagramFigure 30: I2C Master-Slave CommunicationFigure 31: Menu Activity DiagramFigure 32: Menu Navigation IllustrationFigure 33: Miss Activity DiagramFigure 34: Skip Activity DiagramFigure 35: Forfeit Activity DiagramFigure 36: Re-rack Activity DiagramFigure 37: CNUTD Activity DiagramFigure 38: 16x2 LCD Placement IllustrationFigure 39: 16x2 Button LayoutFigure 40: LED Array Decoder Wiring DiagramFigure 41: Charlieplexing IllustrationFigure 42: Aesthetic LED Control SchematicFigure 43: Main Animation Board IllustrationFigure 44: Aesthetic LED Control IllustrationFigure 45: Aesthetic LED Placement DiagramFigure 46: Aesthetic LED Wiring DiagramFigure 47: LED Perimeter ConfigurationFigure 48: Rock LEDSFigure e49: Bounce LEDSFigure 50: Roll LEDsFigure 51: Scatter LEDsFigure 52: Circle LEDsFigure 53 Halt Flash LEDsFigure 54: Cup sensor block diagramFigure 55: Beginning of game/team selection sequence diagramFigure 56: Cup sensor subsystem game behavior sequence diagramFigure 57: Cup sensor unit layoutFigure 58: Direct control of cup sensors with MSP430 wiring diagram for one side of tableFigure 59: Cup sensor subsystem wiring diagram for one side of tableFigure 60: Layout of emitters and detectors in single sided designFigure 61: Custom object detection circuit for single sided designFigure 62: Emitter/detector rail pair design illustrationFigure 63: Discretized table design illustrationFigure 64: Object detection interrupt sequence diagramFigure 65: Ball Washer ReservoirFigure 66: Ball Washer Layout IllustrationFigure 67: Ball Washer IllustrationFigure 68: Power Supply WiresFigure 69: Power Switch IllustrationFigure 70: Power Rail IllustrationFigure 71: The explanation of the ratings that the testers will use to describe their experience with the menu navigation systemList of TablesTable 1: This is a basic example of the current game information as it would be displayed on a 16x2 LCD.Table 2: Decoder Truth TableTable 3: Decoder Voltage and Rise/Fall TimeTable 4: Animation Truth TableTable 5: Table to be used to record measured capacitance changesTable 6: Table to be used to record emitter output parametersTable 7: Table to be used to record detector output parametersTable 8: Table to be used to record detector detection parametersTable 9: Budge1.0 Executive SummaryThis document covers the project that Group 6 (from now on referred to as "the group") is creating for Senior Design. The group chose to call the device it is designing the Digital Competitive Precision Projectile Table Support Structure, or DCPPTSS for short. The group chose this project idea to provide a simple, intuitive, and entertaining manner to facilitate a team-based ball-throwing skill game. As a result of this project, the group hopes to allow enthusiasts of this skill-based game to have a more enjoyable interactive experience with the DCPPTSS than otherwise would be possible with normal, [plainer] equipment. The game consists of two teams of two standing at opposite ends of a long table, trying to throw ping pong balls in cups at their opponents' end of the table arranged in the shape of a triangle. The cups are [somewhat] filled with a liquid to prevent them from falling over when a ball is thrown. Each time a ball lands in a cup, the team at that end removes the cup, and drinks what is in it, making the game more difficult for the scoring team. Once two ping pong balls are thrown by one team, play passes to the other team, and they must try to get the balls in their opponents' cups. The winner is declared when the opposing team is out of cups on the table.The purpose of the DCPPTSS itself is to follow the relatively simple rules of the skill game, to allow for easier team-tracking and score-keeping, instead of distracting the user from playing the game. Since the game is widely popular, there are many house rules created depending on where it is played. The DCPPTSS will be programmed with the basic set of rules that are nearly universal to every match. This will also allow the players of the game to use any and all house rules they wish (for example, what to do in the case of a bounce, lost ball, etc).The DCPPTSS will, as its basic function, be able to track either when a team either makes a ball in a cup or misses. Play will then stop as the DCPPTSS waits for the removal of a hit cup, once two balls have been thrown. In addition, the DCPPTSS will include a method of allowing for multiple teams to sign up to play games as keeping track can be a chore for the players. When the winner of a game is determined, the next team(s) will be automatically chosen. Since the game is usually played at parties or outdoors while tailgating, the DCPPTSS will include a ball washing mechanism that will rinse off dirt and other particles as well as disinfect the ball using ultraviolet (UV) light.The table will be of regulation size (8’x2’34”), and allow for a triangular target area measuring [14”] in length on each side. This will allow for each target area contain 6 plastic party cups, measuring [2.5”] in diameter for the base and [3.75”] in diameter for the rim, and [3.75”] high. To detect the presence of each cup, the group is using six touch sensors on each end. Each cup will be lit from the bottom with LEDs. When a cup is removed, a different color will be displayed to show an inactive location. This also allows for uniform setup on each end of the table when beginning a new game. The table and play area will be lined with LEDs. While mostly for aesthetics, the LEDs will also signify the currently active team and the target area on each end. When two balls have been thrown, the LEDs will signify the other team as the active team and the other target area.In order to detect when a ball has landed in the target area (i.e. in a cup) or not, the group has decided to create an infrared (IR) light barrier around the cups. Ball detection proved to be a unique issue because seemingly no similar table support structure has achieved ball-in-cup detection. Since the DCPPTSS is to be as robust as possible, the group decided against modifying the cups, and instead decided to use the IR barrier. IR LEDs will outline the outer edge of the cups as well as each individual cup. The outermost outline of the IR LEDs will be used as the IR barrier. When a cup is removed from the play area, the IR barrier will be "redrawn" around the outermost edges of the cup. If a ball breaks the IR barrier once, but does not break it again, the ball is considered to have hit the target. However, if the ball passes through the IR barrier twice, the ball is considered to have missed.With their design, the group is using three microcontroller units (MCU). The first, and main MCU is the TI Stellaris ARM Core Processor. This MCU will control two slave MCUs as well as control and track some of the higher-level systems. It will control the LEDs in the middle of the DCPPTSS as well as keep the master team signup list. It will also control what mode each of the other MCUs are in (player mode or target mode). The two slave MCUs are TI MSP430s. These MCUs control the LEDs on their respective end of the table, but more importantly also control and track the touch sensors and IR barrier on each end.2.0 Project Description2.1 MotivationThe members of the group have attended the occasional college party or tailgate as responsible, legal-aged adults. Each of these gatherings is characterized by the enjoyment of the company of others and, occasionally, the consumption of libations. Loud music and dancing are also prevalent at such events. At most of these events, additional forms of entertainment are provided, many of which come in the form of a game. As such, the main "competition" of the party-throwers becomes a game of "who has the best entertainment." The pursuit of throwing the best party facilitates the use of party games as entertainment.One such game is Beer Pong. The members of the group have attended parties at which Beer Pong is played. Each game of Beer Pong that the group has witnessed had its own set of specific rules in addition to the normal rules depending on where it was played. These "house rules" are diverse, and one cannot hope to master them all, while still remembering the rules of the base game itself—especially if mildly inebriated—and concentrating on playing the game.Quite often it was experienced that the tables selected for use were not long enough, tall enough, or made of differing materials for the ideal game of Beer Pong. This resulted in a less-uniform Beer Pong experience.Since parties tend to be crowded, with a lot of movement in limited space, many games of Beer Pong are interrupted for one reason or another. The most frequent of these interruptions affects the play area by disturbing the target cups and the play area. Another area that causes issue is the ball itself. When one misses a throw, the ball often winds up on the floor, behind furniture, and so forth, causing the ball to accumulate foreign particles and bacteria. Most often, a cup of clean water is used to rinse off the ball, but the group has determined that this is inadequate.Beer pong is quite popular among the parties the group attended. While not only is Beer Pong played at a lot of these parties, but also many people play Beer Pong at these parties. Since it is a team game (where only four people play at a time), and the games can last for quite some time, the group has noticed that many of queues to have a chance to play are ultimately unorganized. This has caused many a confused party-goer and, at best, a less efficient manner of allowing waiting teams to play the popular game.The group's main goal is to address all of these issues with its Digital Competitive Projectile Table Support Structure (DCPTSS).First and foremost, the DCPTSS will provide a simple, portable method to bring the game of Beer Pong anywhere to enhance the party experience, using predetermined "regulation" dimensions and surface materials, allowing for a consistent experience with a similar, manufactured table.The DCPTSS will also track the basic rules of the game of Beer Pong. This will allow players to concentrate on the house rules and on the game itself. The water-resistant (tight? proof?) table will also gracefully hold the game in the case of interruptions. For example, play will "pause" when a cup is knocked over or off the location it belongs, until it is returned. This means that each team will have the exact same cup placement when competing against one another, allowing for a more fair and competitive game.The group also is going to address the sanitary/hygienic issue by including an automatic ball washing system in its DCPTSS. The ball washer will remove all of the particulate gathered by the ball like a normal rinse system does, but will additionally kill the bacteria accumulated by the ball through the use of an ultraviolet (UV) light.Finally, the group will include a method to track the queue of teams between games of Beer Pong with its DCPTSS. This will allow players to fairly be picked for upcoming games, and eventually allow for the tracking of stats for each team through the use of an additional system outside of the table itself.2.2 Beer Pong HistoryThe game Beer Pong began in the 1950s as a game played by early fraternities. Although documented at many universities, it is unclear which University is responsible for the invention. The first documented records of the game were played by the Delta Upsilon fraternity as today’s variant is played. During this time period, the game was originally played with paddles, in the same fashion as ping pong. The difference was in beer pong, the objective was to use your paddle to direct the ping pong ball into the infamous “red cup” located on the opponent’s portion of the ping pong table. This form of the game has since been dropped since the 1970’s. The new name for the paddled form of the game beer pong is Beirut. The game had transitioned to a paddle less game variant in which the player used their hand to throw the ping pong ball towards the opponent’s side of the table in attempt to land the ping pong ball into the cup. This variant of the game was called throw pong. Recently, beer pong tables have existed in the past that have attempted to integrate the technologies of the future. A design done by West Virginia University included a lighted circulating ball washer. The design also included lighting animation that was responsive to audio input. Another unnamed design from Colorado University featured capacitive touch sensors to determine cup location and validity. The Table also featured an audio controlled light animation that responded in multiple arrays based on frequency and magnitude. An unnamed project was done and featured on the world’s largest social video sharing site with charge time measuring units to select the color of the cup placement zones.2.3 Beer Pong Game DescriptionBeer Pong is a party game played by legal-aged adults. In this game, two teams compete to remove their opponent’s cups from the table. This is achieved by throwing a ping pong ball and landing it in a cup. When all cups are removed from one end of the table, the team that scored the shot is declared the winner. Play is then reset and continues with the next team(s) in the queue.Game Setup - Two teams are needed to play Beer Pong. Each team consists of two players, arbitrarily chosen by the players. Teams that are chosen to play are also chosen arbitrarily, however, most games are played in a first-in-first-out queueing fashion.In order to set up for the game, 24oz. (2-12oz. cans) of beer or water is given to each team. The teams then fill six (6) cups evening with their allotted liquid. Each cup should contain approximately 4oz. of liquid. Generally, a seventh cup is filled with water for each team. This extra cup acts is considered the ball washer cup. The ball washer cup (or otherwise) is not considered in play and will not count if a ball lands in this cup. Each team then sets up the six (6) cups with 40z. of liquid on their respective sides. The cups are to be arranged in the form of a triangle with one of the points facing at the opposing team. These cups must be in the center of each teams’ end of the table and the back row of cups must be parallel to the short end of the table. Each cup rim must be touching and no cup may be leaned in any way. The wash cup may be placed anywhere on the table that is not near or touching a target cup. See the below diagram for an example of setup.Figure 1: Example set up of a regular beer pong table. Each red circle shows the placement of the target cups, while the blue circles show the placement of the wash cups. Not to scale.Each team stands on the short end of their respective side of the table behind their cups. Each team is given one (1) ball at the start; there are two total ping pong balls that will be used. Each team cleans their respective balls in their wash cup.Beginning the Game - The game begins by determining which team goes first. This can be determined any number of ways. One common way to determine the first playing team has one player on each team throw their balls simultaneously at the opponent’s cups. If they both miss, they try again and the other team member must make the following shot. If neither misses, they throw again, with the other team member taking the next shot as well. If only one team makes a ball in an opponent’s cup, that team gets to decide who shoots first. No cups are removed from the table at this time.Playing the Game - The team that goes first collects both of the ping pong balls. Each player on that team gets a chance to throw his or her ball at the opponent’s cups in the hopes of landing a ball in a cup. If a ball does not land in any cups, it is collected by the opposing team. If a ball lands in one of the cups, it is also collected by the opposing team, but they must also remove the cup it landed in and drink its contents. Once both balls are thrown, play passes to the other team. However, if both balls land in a cup, one (1) is returned to the shooting team, and they have another chance to land a ball in the target cups. Play continues until one team is left without any cups.Ending the Game - When a ball is made in the last cup, the cup and ball are removed as normal. The team that is left with zero cups in play now has a chance at “Redemption”. Redemption brings the game into overtime, allowing the team with no cups left a chance at winning the game. If the opponent has two or more cups remaining, the team has one chance to make a ball in a cup. In the event that the ball lands in a cup, the cup is removed as normal, and the ball is returned to the shooting team. This continues until the team misses. The players must alternate taking shots. If the opponent only has one cup remaining, the team has as many chances to make a ball in the last cup as there are balls on their side of the table (one (1) or two (2) depending if the opponent made the last cup with their first shot or second, respectively). If the shooting team makes a ball in the last cup, play continues in overtime. Otherwise, the team with cups remaining is declared the winner.Overtime - In overtime, three (3) cups are filled the same way as in setup, however they are arranged in a smaller triangle in the center of each team’s side of the table, pointing at the opponent. Play continues as normal, and all normal play, redemption, and overtime rules apply.Special Circumstances: Reracks - Reracks may be called by a shooting team at any time. When a rerack is called, the team that called for it may request the rearrangement of their opponent’s cups. The team that called the rerack can choose any configuration of the opponent’s cups that they wish. Each team gets a total of two (2) reracks throughout the game. Reracks can be performed in the middle of a turn.Rules and Regulations - The group has decided to use the World Series of Beer Pong Full Rules and Regulations as its basis for the rule set for the DCPPTSS. The group has modified some of the rules for ease of use and programming in the project. See Appendix A for the full rules.Officially, Beer Pong is played on a tables that are 8’x2’x27.5”, however the group has decided to increase the dimensions of their table to 8’x2’x34” after determining the given height of 27.5” was too short. The WSOBP does not specify the material that the surface is made of, however the surface should allow players to bounce the ping pong ball if they so choose (this may have a bearing on certain house rules as noted below). The official cups specified are 16oz. with a top width of 3-5/8”, height of 4-5/8”, and base width of 2-1/4”. However, the group will be using 16oz. Solo cups with a top width of 3.75”, height of 3.75”, and base width of 2.5”. This is because Solo cups are readily available to players everywhere. The official WSOBP specify racks as part of the rules, however they will not be used because the table will have a built in system (LEDS arranged in a circle around each location) for determining the exact position of each cup. The balls used will be 3-star 40mm ping pong balls.2.4 Objectives2.4.1 ARM Central Controller ObjectivesCommunicating with sub-systemsMSP430 MCUCommunicate data to and from MSP430 MCU for given sub-systemsReceive interrupt from infrared ball detection systemReceive change in capacitance of cap touch systemLEDsSend bit pattern to change pattern of LEDs for a given situationPregame light patternPlayer turnScoreWinnerDisplay monitorDisplay game information to the display monitorCups remainingTeam numberReracks leftMiss/skip turn/forfeit/rerackScoreHandling menu interaction2.4.2 MSP430 MCU ObjectivesIR Ball DetectionDetect the passing of the ball through the planeBall entering infrared fieldDistinguish hits from missesIf ball enters detection plane and leaves throw is recorded as a miss.If ball enters detection plane and does not leave throw is recorded as a hitRelatively inexpensiveCapacitive TouchDistinguish full from empty/missing cupsReference capacitance will be taken before game starts with cups fullWhen reference capacitance changes capacitive touch system knows an event has occurred.Function as team color selector at beginning of gameLED changes color depending on color selection of user.Respond to game state changesIf ball was detected send central control results of change in capacitanceProvide aesthetic appeal2.4.3 Sensors2.4.3.1 Cup Sensor ObjectivesThe purpose of the cup sensor peripherals of the table will be to detect the presence of a full cup. Each side of the table will have 6 cup sensors, one for each cup. Each cup sensor will contain a capacitive touch unit, as well as five RGB LEDs, in combination with the LED driver circuit required to control the LEDs. By measuring the capacitance of the area above the sensor, the system will be able to detect the presence of any liquid in each cup. The goal will be to have threshold values to determine if a cup is full (active in the game) or empty/not present. The LEDs will serve as team color indicators during a game. Players will choose their team color at the beginning of each match.Objectives:Distinguish full from empty/missing cupsFunction as team color selector at beginning of gameRespond to game state changesProvide aesthetic appeal2.4.3.2 Infrared Barrier ObjectivesThe infrared barrier is an integral part of the DCPPTSS. It will allow the system to distinguish a missed shot from a throw which resulted in the ping pong ball landing in a cup. To do this, two barriers on each side of the table will work in conjunction to detect the passing of the ball through two separate detection planes. When the ball passes through the front most detection plane on the side opposing the thrower, the system will expect to detect the passing of the ping pong ball through the rear detection plane within a second of the initial detection. Objectives:Detect the passing of the ball through the planeDistinguish hits from missesBe as unobtrusive as possibleRelatively inexpensive2.4.4 Ball Washer ObjectivesSubmersibleWater tightNonreactiveAble to run indefinitelyMaintain structural integrity over temperature changeUV resistant2.5 Requirements and SpecificationsThe group needed an agreed upon set of requirements and specifications on which to base the Digital Competitive Precision Projectile Table Support Structure (DCPPTSS). This will allow the group to easily build and test the DCPPTSS. The following is a list of the requirements and specifications for the DCPPTSS.DCPPTSS RequirementsEntire System/TableAble to play ten (10) consecutive games of Beer PongAble to withstand 8oz. of spilled liquidSubsystemsCentral Control UnitAble to handle ten (10) consecutive games of Beer PongAble to drive at least four (4) MSP430sAble to control at least two (2) user interface modulesUser InterfaceAble to handle up to one hundred (100) playing teamsProvide players the ability to select up to four (4) functionsAble to handle ten (10) consecutive games of Beer PongAesthetic LED ArrayAble to display up to four (4) different light patternsAll components meet 1kHz flicker fusion threshold frequencyAble to display win/loss patterns for ten (10) consecutive games of Beer PongAble to display for light patterns for up to six (6) consecutive hoursCapacitive Touch SensorsAble to detect at least 2oz of liquidAble to distinguish cup with more than 2oz from empty cup (less than 2oz)Able to distinguish cup positions for up to twelve (12) cupsAble to display six (6) different colorsAllow teams to select from six (6) team colorsInfrared BarriersAble to detect 44mm diameter ballAble to detect ball traveling between 1m/s to 5m/sAble distinguish hit from miss with 75% accuracyAble to cover an area 2 feet wide by 4 feet tallBall WasherAble to wash up to 2 balls at onceAble to accept 120VACReservoir cannot be filled to over 1 gallon of waterInclude UV light of 230-300nm wavelengthPump can run for 24 hours straightPowerAble to supply the DCPPTSS with 350W of powerAble to provide three (3) 3.3v, 5v, and 12v railsAble to run continually for up to 6 hoursDCPPTSS SpecificationsSubsystemsCentral Control UnitShut down after fifteen (15) minutes of idle timeUses one I2C bus to communicate other devicesStuffs?User InterfaceUses two (2) 16x2 LCDs for game displayUses six (6) 30mm arcade-style buttons for menu navigationUses one (1) four-digit seven-segment display for current and next-up team displays16x2 LCDs and arcade buttons built into two separate 6”x4” modulesAesthetic LED arrayLED voltage range: 1.5-6vLEDs are 5mm in diameterLED viewable angle of 60 degreesCapacitive Touch SensorsTotal diameter of 3-7/8”Capacitive touch device dimensions are 2-1/16”x1-5/16”Infrared BarriersInfrared emitters are 5mm in diameterInfrared detectors are 5mm in diameterFour (4) infrared barriers that are 2 feet longBarriers constructed in IR emitter/detector pairs 11mm apart112 total IR emitter/detector pairs (23 pairs per barrier)Ball WasherReservoir able to hold up to one (1) gallon of waterWater flow rate at least five (5) times total volume of wash systemPump weight of less than five (5) poundsWater ripe to retain integrity through one (1) degree per second Fahrenheit temperature changePower SupplyAble to take in 120VDeliver power at 3.3v, 5v, and 12v3.0 Research Related to Project Definition3.1 Existing Similar ProjectsBeer Pong uses various pieces of equipment in order to play the game. Through the game’s widespread popularity, the group has discovered many projects similar to their own. A great many of these projects has had direct influence on the group’s decisions in creating the DCPPTSS. These already existing projects all involve modifying the table in some way; most providing a more aesthetically pleasing support structure to enhance the game-playing experience. The following projects have influenced the group in some way. Some have given the group new ways to approach problems, while others have given the group ideas to implement in their own design to make their table unique.3.1.1 ResearchCommercially Available Products - The group has pulled significant influence from commercially available tables. These products are generally constructed of wood or aluminum, and fold in either two (2) or four (4) sections, respectively. They measure 8’x2’x27.5” when set up, however when they fold, they become portable and easy to store. See below for an example of an aluminum table (not to scale).Figure 2: This is an example of a commercially available aluminum table. This type of table can be folded in four sections along the black vertical lines. The table legs fold up as well. Not to scale; exact shape may vary depending on manufacturer and material used.“Homebrew” Projects - So-called “homebrew” projects form the majority of influential designs for the group. The different designs of the existing projects include table enhancements in many different areas. Designs range from simple (home-built tables simply painted with designs) to intricate (lights placed around the table and moving parts). Aesthetic Lights - One project that features aesthetic lighting comes from West Virginia University. In that project, the table was constructed with two rows of LEDs around the outer edge of the table, LEDs around the triangle where the cups reside, a ring of LEDs around the ball washing areas, and LEDs in the middle of the table in the shape of the school logo. The LEDs around the table react to ambient noise (e.g. music), while the LEDs around the triangles and ball washers chase to create a more interactive and entertaining experience. It can be viewed in action by following this link: and Liquid Detection - When researching ideas for the project, the group stumbled upon two videos which demonstrate the ability to detect the presence of cups. The first (which can be viewed here: ) shows LEDs reacting to the placement of cups by changing colors. The clear circles for the cups and LEDs are arranged in a 10-cup triangular pattern. When all cups are removed, each circle displays a different color. When the first cup is placed, the color it is placed on is selected and all subsequent cups placed will have that same color displayed underneath. The objects that appear in the bottom of the cup are used for detection using a modulated infrared reflectivity sensor (which is referenced by the description of the second video). It can be inferred that this method of sensing does not detect the presence of liquid in the cups. In the second video (viewable here: ), the same designer used a different method for detecting the cup: capacitive sensing. With this method, by detecting the change in capacitance using a circuit underneath the cup area, liquid can be detected. The video demonstrates this ability. Ball Washer - Many of the existing projects that the group found included methods to wash the ping pong balls used to play Beer Pong. Most, if not all, of the ball washers the group found actively cleaned the balls using water pumps in some form or another. A popular method of cleaning the balls was by the use of a sunken cup where water was pumped in to create a whirlpool effect such that the balls would be washed over the whole of their surfaces. This method can be viewed in the following video: . The other method commonly used physically moves the ball from one side of the table to the other, washing it in a jet of water along the way. At the exit, the ball hovers in a small hole, ready to be grabbed. An example of this method of ball washing can be viewed here: . There are three major parts of this system. The first is the length of pipe with two 90-degree bends, next is an air blower to propel the ball down the pipe, and finally is a water pump to create the jet of water that cleans the ball. More detailed pictures of the design can be viewed here: Interface - The group has also come across some tables that have a user interface as well, though rare these tables are. In the following video, there are points at which the players can directly interact with the table: (University of Colorado Boulder). This table keeps track of score by counting the cups remaining on each side, and displays each number on seven-segment LCDs. It also has buttons on each end of the table that perform different functions: re-racks, random re-racks, and buttons that play sounds. This table also has an electronic keyboard list and transmits to the PC and posts to a Twitter account to track the next-up player list online.3.1.2 Influence and ImplementationCommercial Available Products - The main influence that the commercially available products had on the group’s project is fairly significant, and may prove to be the greatest challenge the group has to face. The commercial products seem to be quite mobile and easy to store. Parties can happen anywhere, anytime, so the group has decided that the ability to easily transport the DCPPTSS is a highly desired goal. The group will use a similar folding technique, while keeping the weight of the DCPPTSS as low as possible to achieve this goal. This will help the DCPPTSS to compete in maximizing play time with other lightweight and portable alternatives in a party setting.Aesthetic Lights - The group has decided to create aesthetic lighting in the form of LEDs around the table in a similar way as the table from West Virginia University was lit. While the group liked the idea of the LEDs around the table reacting to ambient noise (e.g. music), it has been deemed unnecessary for this project and will not be used. Aesthetic LEDs will be used to light the table where the cups reside in the same fashion as shown in the cup sensing videos.Cup and Liquid Detection - After reviewing the two options for detecting the presence of cups, the group has decided to use capacitive touch as the method the DCPPTSS will use. The group has decided it necessary that the cups not be modified in any way. This will allow the DCPPTSS to handle nearly any type of cup to be detected (and whether or not it contains any liquid). The ability of the DCPPTSS to be used in any sort of party setting is a high priority of the group, and as such, capacitive touch appears to be the best way to accomplish the task of detecting the cup and the presence of liquid.Ball Washer - For washing the balls, the group has decided to use the well and whirlpool method. This method will save on both power and cost, as it will only require a single water pump (even for two wells). Also, the group has noticed that the ball-washing efforts of every table have only entailed rinsing the ball off. The group, being concerned about sanitation--especially because the balls will come in contact with liquids that will be consumed as well as other surfaces that may not be clean--has decided to disinfect the water used to wash the balls. They will do this by including a specific ultraviolet light to kill bacteria in the wash water.User Interface - The group has decided to include a user interface similar to that in the University of Colorado video, but with a different take. It was deemed by the group early on to be outside the scope of the project to include wireless integration for score and team tracking. The project will, however, have individual displays to track scores as well as include an interface for requesting re-racks and marking other specific situations that the table will not be able to detect (spills, wildly missed shots, etc). The displays will be personalized to each team, meaning they will track re-racks left, team number, and perform other functions such as skipping a turn and forfeiting a game in conjunction with the buttons provided. The table will also feature a seven-segment LCD like the University of Colorado table. However, it will not be used to keep score, but to keep track of the team that plays next.Ball/Target Hit Detection - Something conspicuously absent from every existing project is the ability to detect that a ball has landed in a target cup. Since this has not been done before, the group has decided it important to detect a successful throw. Most ideas for detecting the presence of a ball in a cup have been considered implausible to use as they nearly all require modification of the balls or cups, which the group wishes to avoid in the project to allow the DCPPTSS to be used by anyone with any type of balls and/or cups. After discussing a few different methods, the group has settled on lines consisting of alternating infrared LEDs and infrared detectors. This will create a barrier of infrared light around the cups, and when a ball passes through one side of the barrier, but does not pass through any other, the DCPPTSS will know that the ball landed in a cup.3.2 Relevant Technologies Research3.2.1 Central Controller OptionsThe Digital Competitive Precision Projectile Table Support Structure will be comprised of many different systems working together to provide the users with an interactive table that allows them to play a fun game of beer pong. The role of the central controller in the Digital Competitive Precision Projectile Table Support Structure is to be the integrator of majority of the sub-systems. The different processors considered to be the central controller are the Stellaris EKS-LM3S8962, OKI ML674000, and the ATMEL AT91SAM. The central controller chosen must be able to handle a number of functions. The functions of the central controller will be to:Communicate with infrared ball detection sub-systemCommunicate with capacitive touch sub-systemControl movement of table LEDsKeep track of the scoreKeep track of the number of cups remaining for each playerKeep track of the number of throws remaining per round per personDisplay information to display monitorScoreCurrent player turn indicatorThrows remaining for current playerCup arrangement for each playerWinner/LoserStellaris EKS-LM3S8962 - The Stellaris EKS-LM3S8962 ARM processor is considered as the central controller for the Digital Competitive Precision Projectile Table Support Structure for a number of reasons. The Stellaris EKS-LM3S8962 ARM processor’s 32-bit computing will help with the data being transferred to and from the sub-systems it would have to communicate with if it were chosen as the central controller. Another feature of the Stellaris EKS-LM3S8962 that will aid the Digital Competitive Precision Projectile Table Support Structure is its battery-packed Hibernation module that will efficiently power down the Stellaris EKS-LM3S8962 to a low-power state during extended periods of inactivity. This is useful because if for any reason the users stop playing beer pong without turning off the Digital Competitive Precision Projectile Table Support Structure the Stellaris EKS-LM3S8962 will limit its power consumption. In addition the Stellaris EKS-LM3S8962 has non-volatile memory so all data will remain intact once it returns form Hibernation. The Stellaris EKS-LM3S8962 ARM processor also has 256 KB single-cycle flash internal memory. This is important to the Digital Competitive Precision Projectile Table Support Structure because it is able to track different events that will occur during the game of beer pong and coordinate with the various sub-systems. The Stellaris EKS-LM3S8962 ARM processor also has various communication options. The communication options the Stellaris EKS-LM3S8962 is capable of are Universal Asynchronous Receivers/Transmitters (UART), Synchronous Serial Interface (SSI), and Inter-Integrated Circuit (I2C). Having various communications allows the Stellaris EKS-LM3S8962 ARM processor to be a viable option as the central controller.OKI ML674000 - The OKI ML674000 ARM processor is considered as the central controller for the Digital Competitive Precision Projectile Table Support Structure for a number of reasons. The OKI ML674000 ARM processor’s 32-bit data processing will be used when it comes to processing data received which is important when it comes to communicating with the infrared ball detection sub-system and the capacitive touch sub-system. The OKI ML674000 ARM processor has an internal memory of 8 KB which would be needed if it were selected as the central controller for the Digital Competitive Precision Projectile Table Support Structure. This because of the data that will need to be stored that will be transferred to and from the sub-systems as well as information that needs to be displayed onto the display monitor. The OKI ML674000 ARM processor has only one communication method which is the Universal Asynchronous Receivers/Transmitters (UART). The OKI ML674000 would only work as the central controller for the Digital Competitive Precision Projectile Table Support Structure if the communication selected for the project is Universal Asynchronous Receivers/Transmitters (UART). If UART isn’t the communication method used for the Digital Competitive Precision Projectile Table Support Structure then the OKI ML674000 ARM processor would be of no use.ATMEL AT91SAM - The ATMEL AT91SAM ARM processor is considered as the central controller for the Digital Competitive Precision Projectile Table Support Structure for a number of reasons. The ATMEL AT91SAM ARM processor has a 32-bit data processor will be used when it comes to processing the data received which is important when it comes to communicating with the infrared ball detection sub-system and the capacitive touch sub-system of the Digital Competitive Precision Projectile Table Support Structure. The ATMEL AT91SAM ARM processor also has 256 KB flash internal memory which is also needed as the central controller for the Digital Competitive Precision Projectile Table Support Structure. It is important as the central controller due to the fact that data will need to be stored onto the ATMEL AT91SAM ARM processor. Data will be transferred to and from the ATMEL AT91SAM ARM processor when it communicates with the infrared ball detection sub-system and the capacitive touch sub-system. The ATMEL AT91SAM ARM processor also has a variety of communication options. This makes the ATMEL AT91SAM a viable option for the Digital Competitive Precision Projectile Table Support Structure because it will be able to communicate with a variety of devices for this project. The communication options available with the ATMEL AT91SAM ARM processor are Universal Asynchronous Receivers/Transmitters (UART), Serial Synchronous Controller (SSC), and Serial Peripheral Interface (SPI).Communication Options - The communication options that the considered central control processors possess are the Universal Asynchronous Receivers/Transmitters (UART), Serial Synchronous Controller (SSC), Serial Peripheral Interface (SPI), Synchronous Serial Interface (SSI), and Inter-Integrated Circuit (I2C). Using communication options gives the central control processor options of how data should be transferred and when it should be transferred. There are also benefits of using a communication system. Communication systems can help with limiting pin usage. This is because with communication options multiple devices can transfer data to and from by using a single bus. Due to this most communication systems uses a bus arbitration to make sure that multiple devices do not try to send data at the same time Universal Asynchronous Receiver/Transmitter is a communication system that is hardware that translates data between serial and parallel forms. It is asynchronous hence it allows data transmission to occur without the sender having to send a clock signal to a receiver. The transmitter and receiver must agree on timing parameters in advance and specials bits must also be added to each word to synchronize the sending and receiving units. The Stellaris EKS-LM3S8962 ARM processor uses Universal Asynchronous Receiver/Transmitter as one of its communication methods. The Universal Asynchronous Receiver/Transmitter of the Stellaris EKS-LM3S8962 features:Two fully programmable UARTsSeparate transmit (TX) and receive (RX) FIFOs to reduce CPU interrupt service loadingProgrammable baud-rate generator allowing speeds up to 3.125 MbpsFully programmable serial interface characteristicsThese features are important when it comes to the functions of the sub-systems of the Digital Competitive Precision Projectile Table Support Structure. The two fully programmable UARTs allow the Stellaris EKS-LM3S8962 ARM processor to communicate with multiple systems without having to worry about congestion of data on a single bus. The separate transmit and receive FIFOs (first in first out) reduces the CPU interrupt service loading because it does not have to worry about switching a single line back and forth from transmitting and receiving. The programmable baud-rate generator is important with the communication of data due to the fact the baud-rate is simply the number of symbols per second. Therefore the baud-rate generator determines how much data is transferred every second. The fully programmable serial interface characteristics are important to the Digital Competitive Precision Projectile Table Support sub-systems because you can determine how many data bits to use 5, 6, 7, or 8. Figure 3 is the module block diagram the Universal Asynchronous Receiver/Transmitter for the Stellaris EKS-LM3S8962 ARM processor. It shows where the connections to the sub-systems are made.The ATMEL AT91SAM ARM processor also utilizes the Universal Asynchronous Receiver/Transmitter (UART) as one of its communication methods. The Universal Asynchronous Receiver/Transmitter of the ATMEL AT91SAM ARM processor that will communicate with the sub-systems of the Digital Competitive Precision Projectile Table Support Structure features:A two-pin UARTIndependent receiver (URXD) and transmitter (UTXD)Common programmable baud rate generatorThe feature of a two-pin UART is important when it comes to communicating with the Digital Competitive Precision Projectile Table Support Structure’s sub-systems. It’s important because the two-pin UART has an independent receiver and transmitter. This is important because it reduces the CPU interrupt service loading from having to switch back and forth from transmitting and receiving. Figure 4 shows where the external devices will connect with the ATMEL AT91SAM to transfer data to and from it.Figure 3: Stellaris UART Module Block DiagramFigure 4: ATMEL AT91SAM UART Functional Block DiagramThe OKI ML674000 ARM processor utilizes the Universal Asynchronous Receiver/Transmitter (UART) as its only main method of communication. The Universal Asynchronous Receiver/Transmitter communication system of the OKI ML674000 ARM processor would be used to communicate with the Digital Competitive Precision Projectile Table Support Structure’s sub-systems. Features of the OKI ML674000 ARM processor’s UART are:16-byte queues for both transmitting (TSR) and receiving (RSR)Programmable serial interfaceChoice of 5, 6, 7, or 8 bits per characterThese features of OKI ML674000 ARM processor’s UART are important for the Digital Competitive Precision Projectile Table Support Structure for a few reasons. The 16-byte queues for both transmitting and receiving reduces the CPU interrupt service loading from having to switch back and forth from transmitting and receiving. The programmable serial interface is important because it allows whatever system communicating with the OKI ML674000 ARM processor to transmit data of a variable length. The following diagram shows a block diagram of the transmit and receive pins for the OKI ML674000 ARM processor in which another device would connect to communicate data.Figure 5: OKI ML674000 UART Functional Block DiagramSerial Peripheral Interface is another communication option used by processors to communicate serially with other devices using a master slave mode where the master processor will initiate the data frame. This communication option would be useful in working with the sub-systems of the Digital Competitive Precision Projectile Table Support Structure due to the master slave mode. During a data transfer, one SPI system acts as the “master” which controls the data flow, while the other devices act as “slaves” which have data shifted into and out by the master. The central control is required to interact with the sub-systems in such a fashion thus making the considered central control that uses this communication system a viable option. The only central controller option that utilizes the Serial Peripheral Interface is the ATMEL AT91SAM ARM processor. Some of the features for the ATMEL AT91SAM ARM processor that are related to the Digital Competitive Precision Projectile Table Support Structure are:Supports Communication with Serial External DeviceFour Chip Selects with External Decoder Support Allow Communication with Up to 15 peripheralsMaster or Slave Peripheral Bus InterfaceThese features of the ATMEL AT91SAM ARM processor’s SPI are important when it comes to the Digital Competitive Precision Projectile Table Support Structure. Its support communication with serial external devices allows not only the Digital Competitive Precision Projectile Table Support Structure’s sub-systems, infrared ball detection and capacitive touch sub-systems, but it also allows the communication of any other system that may be added. The master or slave serial peripheral bus interface is also important because it allows an order of importance. Being the central control option the master mode would be primarily used. The following diagram is the ATMEL AT91SAM SPI block diagram which shows where an external device would connect for communication. The serial clock (SPCK) is the control line driven by the master and regulates the flow of data bits. The Master In Slave Out (MISO) is the data line that supplies the output data from a slave to the input of the master. The Master Out Slave In (MOSI) is the data line that supplies the output data from the master into the input(s) of the slave(s). The Slave Select (NSS) is the control line that allows slaves to be turned on and off by hardware.Synchronous Serial Interface (SSI) is a master or slave interface for synchronous serial communication with peripheral devices. It is another communication option used due to its master or slave modes. This is helpful to the Device Competitive Precision Projectile Table Support Structure due to the fact that the central control will need to be able to communicate with different sub-systems and process that data that it receives as well send out data to the slaves. The Stellaris EKS-LM3S8962 ARM processor is the only central control option that uses the synchronous serial interface as a communication option. There are features of the Stellaris EKS-LM3S8962 that are useful for the Digital Competitive Precision Projectile Table Support Structure. If selected as the central control, the Stellaris EKS-LM3S8962 will be given the tasks of communicating with sub-systems, such as the infrared ball detection sub-system and the capacitive touch sub-system. It is also in control of the LED location and outputting information to the display monitor. Features of the Stellaris EKS-LM3S8962 ARM processor that will help it with fulfilling the tasks as the central control are:Master or slave operationProgrammable clock bit rateSeparate transmit and receive FIFOs16 bits wide8 locations deepProgrammable data frame sizeInternal loopback test modeFigure 6: ATMEL AT91SAM SPI Block DiagramThese features of the Stellaris EKS-LM3S8962 ARM processor are important to the Digital Competitive Precision Projectile Table Support Structure for a few reasons. The master or slave operation gives it the ability to choose whether the processor has any control over other devices. With the purpose of being the central control, the Stellaris EKS-LM3S8962 ARM processor would be used in the master operation which allows it control of the Digital Competitive Precision Projectile Table Support Structure’s sub-systems. The programmable clock bit rate, baud rate, allows the Stellaris EKS-LM3S8962 ARM processor the ability to set how many bits will be sent each second. This is of great importance because it allows the communication between the Stellaris EKS-LM3S8962 ARM processor and other devices to maximize the amount of data sent between them. The separate transmit and receive FIFOs (First In First Out) is important because it allows 8 locations of 16 bits for each the transmitter and receiver to be stored before the Stellaris EKS-LM3S8962 services the interrupt. Programmable data frame size is important for the Stellaris EKS-LM3S8962 ARM processor because the frame size of the data can be programmed to range from 4-bits to 16-bits. Probably one of the most important features of the Stellaris EKS-LM3S8962 ARM processor SSI communication option is the internal loopback test mode feature. The internal loopback test mode is an important feature of the Stellaris EKS-LM3S8962 SSI for the Device Competitive Precision Projectile Table Support Structure because it allows for diagnostic/debug testing. This will come in handy when it comes to testing the communication of data between the Stellaris EKS-LM3S8962 and other devices such as the infrared ball detection sub-system, the capacitive touch sub-system, the LED sub-system, and also when it comes to outputting data to the display monitor. The following diagram displays the SSI transmitter (SSITx), SSI receiver (SSIRX), SSI clock (SSICLK), and the SSI fully source synchronous (SSIFss). These are connected with an external device and are used for transmitting and receiving data synchronously.Figure 7: Stellaris SSI Module Block DiagramInter-Integrate Circuit (I2C) is a serial protocol that is capable of connecting multiple devices in a master-slave relationship. The Inter-Integrated Circuit bus uses only two signals, being signal data (SDA) and signal clock (SCL), which are named as I2CSDA and I2CSCL, respectively. The only processor considered to handle the tasks of the Digital Competitive Precision Projectile Table Support Structure is the Stellaris EKS-LM3S8962 ARM processor. The features of the Stellaris EKS-LM3S8962 ARM I2C communication method that will be essential to the Digital Competitive Precision Projectile Table Support Structure are:Devices on the I2C bus can be designated as either a master or a slaveSupports both sending and receiving data as either a master or a slaveSupports simultaneous master and slave operationFour I2C modesMaster transmitMaster receiveSlave transmitSlave receiveMaster and slave interrupt generationMaster generates interrupts when a transmit or receive operation completes (or aborts due to an error)Slave generates interrupts when data has been sent or requested by a masterMaster with arbitration and clock synchronization and 7-bit addressing modeThese four features of I2C for the Stellaris EKS-LM3S8962 ARM processor are very important when it comes to being the central controller for the Digital Competitive Precision Projectile Table Support Structure. Due to a single wire for data transfer each device on the I2C bus can be designated as either a master or a slave. This is important because data from multiple devices will be transmitted and each transmission would be designated as a data transmission to or from and master or a data transmission to or from a slave. The different I2C modes are also important to the Digital Competitive Precision Projectile Table Support Structure do to the fact that the Stellaris EKS-LM3S8962 ARM processor will be used as the central controller. This means that it would only need to use the master transmit and the master receive modes. The master and slave interrupt generation is one of the essential features that will be used for the Digital Competitive Precision Projectile Table Support Structure because the central controller will communicate data to and from other devices based on an event occurring causing an interrupt. The master arbitration and clock synchronization will allow the master to control all data all data being received and transmitted by it with a certain priority and synchronizing data to be transmitted at the same time. The 7-bit addressing mode allows the Stellaris EKS-LM3S8962 ARM processor to store each device as a 7-bit address within its memory.Figure 8: Stellaris I2C Block DiagramChoice of central control - Each processor that was considered as the central controller for the Digital Competitive Precision Projectile Table Support Structure each had something to offer. The OKI ML674000 ARM processor had its 16-byte queues for its transmitting and receiving which reduces CPU interrupt service loading. The ATMEL AT91SAM ARM processor had multiple communication methods it could use which made it flexible to choose devices that also work with those communication methods. The Stellaris EKS-LM3S8962 ARM processor also has multiple communication methods. The processor that was selected to handle these tasks is the Stellaris EKS-LM3S8962 ARM processor. The Stellaris EKS-LM3S8962 ARM processor was chosen for a few reasons. The type of communication methods of the Stellaris EKS-LM3S8962 ARM processor caused it to become the central controller choice for the Digital Competitive Precision Projectile Table Support Structure. Those being that it was obtained at no cost, there is previous experience in working with the microcontroller, its low power consumption, as well as its low interrupt latency which will play a huge role in this project.3.2.2 MCU OptionsThe Digital Competitive Precision Projectile Table Support Structure or DCPPTSS will need several microcontrollers to handle the various systems which will be used to distribute different aspects of the game and finally integrated these systems using another microcontroller. The systems the Digital Competitive Precision Projectile Table Support Structure will use are a ball detection system using infrared as well as a capacitive touch system which determines ball location. These systems will each use a single microcontroller. Therefore there will be two microcontrollers on each side of the table making a total of four microcontrollers. These systems will be integrated into a single microcontroller that will have to handle data being communicated to and from it and the other microcontrollers. This central processor will also be responsible for displaying to the users on a monitor the score and the location of the cups remaining on the table. The central processor will control the bit pattern of the LEDs, which are around the entire table before and after a game, then around the cups of the opponent when it is a player’s turn.Three microcontrollers were considered in terms of dealing with the 4 sub-systems, two infrared systems for ball detection and two capacitive touch systems for ball location. There were also three ARM processors considered for the responsibility of interfacing with the four sub-systems as well as handling the LED bit pattern and scoring, amount of cups left, and cup locations for the monitor. The three microcontrollers considered for handling the sub-systems were the MSP EXP-430G2, the Atmel AT32UC3A0128, and the Microchip PIC24F04KA201. The three ARM processors that were considered for the interfacing of the four sub-systems as well as a few other functions were the Stellaris EKS-LM3S8962, the Lapis ML674000, and the Atmel SAM3S1A.The Microchip PIC24F04KA201, the MSP EXP-430G2, and the Atmel AT32UC3A0128 were all considered due to their low power consumption, their various power modes, their ability for the use of capacitive touch sensing and the different options they provide to communicate with another system for input and output purposes. It is imperative that the microcontroller used has the ability of capacitive touch sensing because that is a major feature in the Digital Competitive Precision Projectile Table Support Structure. When a ball enters a cup during gameplay the capacitance detected does not change enough for it to be detected, but when a player goes to remove the ball from the cup a spike occurs in the capacitance which will trigger the touch capacitance system. Another important aspect in which all of these microcontrollers have is the various power modes. The various power modes is important because of the turn-based style of Beer Pong, therefore during the entire course of the game each side will be in use for only half the duration of the time. To combat the obvious waste of power that would occur by leaving the microcontrollers the SLEEP or DEEP SLEEP mode will be used to limit the consumption of power. Another major component of the consideration of these microcontrollers is the different ways they would be able to communicate data for the purpose of input and output with another microcontroller. The various ways of communication can be direct connection with the input/output port of the microcontroller, Universal Asynchronous Receiver Transmitter (UART), Synchronous Serial Controller (SSC), Serial Peripheral Interface (SPI), or Inter-Integrated Circuit (I2C).Communication Options - The most basic way to communicate data between two or more systems is to directly connect the port of one microcontroller to another microcontroller. This design makes it easy to know where each peripheral is connected to a given microcontroller. The connection process is easy, but the question of efficiency comes to mind. Using more pins may lead to more errors when it comes to synchronizing data. For that reason direct connection for data transfer will not be used for the microcontroller that is selected.Universal Asynchronous Receiver/Transmitter is a communication system that is hardware that translates data between serial and parallel forms. It is asynchronous hence it allows data transmission to occur without the sender having to send a clock signal to a receiver. The transmitter and receiver must agree on timing parameters in advance and specials bits must also be added to each word to synchronize the sending and receiving units.Microchip PIC24F04KA201 uses the Universal Asynchronous Receiver/Transmitter to transmit data. The features of the Universal Asynchronous Receiver/Transmitter communication method that are useful for the Digital Competitive Precision Projectile Table Support Structure are:Independent transmit and receive buffer registersIndependent interrupt capability for receive and transmitSeparate transmit and receive buffer registersThese features are important for the functions of the Digital Competitive Precision Projectile Table Support Structure. The independent transmit and receive buffer registers which reduces the CPU service interrupt due to the fact that it does not have to switch back and forth to and from transmitting and receiving. The independent interrupt capability for the receive and transmit is important because the receive register will always wait for incoming data while the transmit register is always waiting to transmit. The following the diagram is showing the connection pins for a MSP430 Universal Asynchronous Receiver/Transmitter communication system.Synchronous Serial Communication- is the process of sending data one bit at a time, in order, where several bits are sent as a whole. The Atmel AT32UC3A0128 microcontroller unit is the only microcontroller that uses the Synchronous Serial Communication method. The features of the synchronous serial communication that will be useful for the Digital Competitive Precision Projectile Table Support Structure are:Receiver and transmitter can be programmed to start automatically or on detection of different events on the frame sync signalReceiver and transmitter include a data signal, a clock signal and a frame synchronization signalThese two features of the Synchronous Serial Controller communication method are important to the functions of the Digital Competitive Precision Projectile Table Support Structure. The receiver and transmitter being programmed to start Figure 9: MSP430 USART Block Diagramautomatically on detection of different events is of great importance because when the infrared ball detection system detects and object enter its field that’s when the transmitting to the central control unit should begin. The receiver and transmitter including a data signal, a clock signal and a frame synchronization signal are important to the Digital Competitive Precision Projectile Table Support Structure due to the fact that all data being transferred can all be sent at the same time using the synchronization signal. The following diagram displays the frame synchronization signal, clock, and data for each the transmitter and receiver in which other devices will connect.Serial Peripheral Interface (SPI) is another communication option used by microcontroller unit to communicate serially with other devices using a master-slave mode where the master processor will initiate the data frame. This communication option would be useful in working with the sub-systems of the Digital Competitive Precision Projectile Table Support Structure due to the master-slave mode. During a data transfer, one SPI system acts as the “master” which controls the data flow, while the other devices act as “slaves” which have data shifted into and out by the master. The microcontroller unit is required to interact with the central control in such a fashion thus making the considered microcontroller unit that uses this communication system a viable option. Features of using Serial Peripheral Interface as a communication option for theFigure 10: Atmel AT32UC3A0128 SSC Block DiagramDigital Competitive Precision Projectile Table Support Structure are:Master or slave serial peripheral bus interfaceProgrammable transfer delays between consecutive transfers and between clock and dataSelectable mode fault detectionSupports communication with serial external devicesSerial memories, such as DataFlash and 3-wire EEPROMsFour chip selects with external decoder support allow communication with up to 15 peripheralsThe features of the Serial Peripheral Interface (SPI) are important to the Digital Competitive Precision Projectile Table Support Structure. The master or slave serial peripheral bus interface is important due to the microcontroller used must be in a slave mode to transfer and receive data from the central control unit. The Serial Peripheral Interface (SPI) also supports communication with serial external devices. This feature allows the microcontroller to communicate with up to 15 external devices due to its four chip selects with its external decoder. The following diagram shows the master clock and the connection pins for the external devices used for the Digital Competitive Precision Projectile Table Support Structure.Inter-Integrated Circuit (I2C) is a serial protocol that is capable of connecting multiple devices in a master-slave relationship. The Inter-Integrated Circuit bus uses only two signals, being signal data (SDA) and signal clock (SCL). Features Figure 11: Microchip PIC SI Block Diagramof the Inter-Integrated Circuit (I2C) that are useful for the Digital Competitive Precision Projectile Table Support Structure are:Independent master and slave logic7-bit and 10-bit device addressesThe features of Inter-Integrated Circuit (I2C) are important for the functions of the Digital Competitive Precision Projectile Table Support Structure. The independent master and slave logic is important due to the fact that the central controller will be used in slave mode communicating with the central control unit. The 7-bit and 10-bit device addresses allows an addressing system for the external devices if the microcontroller is connected to multiple devices. The following diagram displayed shows the components in which the microcontroller will connect to an external device using the Inter-Integrated Circuit (I2C) communication method. Inter-Integrated Circuit (I2C) uses a single data line and clock to send and receive data to and from the microcontroller.Choice of MCU - Each microcontroller considered all provided features that would help in designing the sub-systems of the Digital Competitive Precision Projectile Table Support Structure. The microcontroller that was selected would need to be capacitive touch capacitive and use a communication system that supports Inter-Integrated Circuit (I2C). The microcontroller selected for the Digital Figure 12: MSP430 I2C Block DiagramCompetitive Precision Projectile Table Support Structure is the MSP430 microcontroller. It was chosen because it uses I2C, it’s inexpensive to purchase, and the group has previous experience working with the MSP430 microcontroller.3.2.3 User Interface OptionsThe user interface is an important part of the DCPPTSS. All users (i.e. players) will interact with the DCPPTSS through the user interface in one way or another. In fact, the main way in which the players will interact with the table and game is through the balls and cups. The group found that it was important to explore different options for the balls and cups that would work properly with the game as well as the other systems that will become part of the table. The rest of the user interface options are in the form of digital systems that control different functions that the table will perform. It was important for the group to explore different options for controlling these functions because the table will be unable to track every single condition that may occur through the course of a game of Beer Pong. Balls - The two main interaction points the players have with the DCPPTSS are the balls and the cups. While the balls and cups may not be immediately included with the user interface, it was important to consider the options for each of these, as they each may have a bearing on the way the game is played and how the underlying digital systems will be affected. While seemingly simple, the group determined that the choice of balls and cups was an important one that could have far-reaching consequences in the system.In order to choose the proper ping pong ball to use in conjunction with the DCPPTSS, the group had to research into the types of balls used for table tennis as a sport. Through this, they found many different types of balls. Each ping pong ball used for tournament play in table tennis (determined by the International Table Tennis Federation) is either white or orange in color. Ping pong ball sizes also have a significant impact on the table tennis game. Prior to 2000, 38mm balls were officially used for table tennis, however the ITTF replaced them with 40mm balls because the balls move slower and do not spin as much. More recently, 44mm balls have come into favor by some players because they slow the game down further. Ping pong balls also vary in quality. There are three ratings which are applied to each ball: 1-, 2-, and 3-star ratings. Each of these ratings corresponds to the relative quality of the ball, and are printed on each ball. 3-star rated balls are the only approved balls by the ITTF () as they are the best constructed and provide the most consistent experience (namely bounce namely bounce and spin). All balls must be exactly 2.7 grams according to the ITTF.Since they are the most common size, the group has chosen 44mm 3-star balls to use with the DCPPTSS. While the star rating is not as important as the size for the purposes of the project, it will allow for consistent testing down the line. The size is the most important quality that the group needed to choose in a ball. The choice in size affects the maximum gap between infrared emitter/detector pairs. If the gap between IR emitter/detector pairs is larger than the diameter of the ping pong ball, then there is a chance the ball will not be detected when it passes through the IR barrier. The choice of a 44mm ball allows the group to space the IR emitter/detector pairs further apart than would be possible with a 38mm or 40mm ball. This will also allow the group to save money on IR emitter/detector pairs, as there will be less pairs required to cover the entire barrier length.Cups - Many different sizes and shapes of cups were considered by the group for use with the DCPPTSS. However, since most games of beer pong are played with cheap, plastic party cups (usually Solo brand), the group looked at a small subset of cups. The group has found through firsthand experience that the cheapest cups are the most prolific as party throwers try to keep costs down. The biggest factors that the group looked for in cups for use with the DCPPTSS were the base diameter and the rim diameter. Color was also somewhat of a factor considered by the group, although it was not necessary to choose a specific color. The size and shape of the cups to be used were quickly narrowed down to two types of cups: the official cup used in accordance with the World Series of Beer Pong rules, and standard Solo part cups found at many local stores and parties. The WSOBP cups have the following measurements: top diameter of 3-5/8”, height of 4-5/8”, and base diameter of 2-1/4”. The Solo cups have the following measurements: top diameter of 3.75”, height of 3.75”, and base diameter of 2.5”. Both types of cup will hold 16oz. of fluid.The group has decided to use Solo party cups to base the design on. Interestingly, the base of a Solo cup is the exact size needed to circumscribe the capacitive touch sensor. This will allow for consistent readings for detecting the level of liquid in the cup while on the sensor since there is no chance that the position of the cup on the sensor would affect the capacitance. Solo cups are also much easier to come by because they can be purchased at nearly any store, while the official WSOBP must be purchased online at a premium.Display - The group has decided that they would like to include more digital elements as part of the user interface for the DCPPTSS than those of a typical electronic beer pong table. This meant they would have to display information for the players throughout the game, as well as provide the players with the means to control certain aspects of the game such reracks and forfeiting. The low-tech, no-display option was the first method considered by the group. In using this method, the group would save money, effort, and time spent constructing and testing a display system. It offers advantages in power because it will use much less, as well as require less resources from either the Stellaris ARM processor or any of the MSP430s. However, without an electronic display, the burden is on the players to remember certain information that the table can easily track.The group also considered using LEDs to display pertinent information to each team. This option compromises with the low-tech option and allows the table to track things such as reracks and cups left, while still maintaining a relatively low price and power consumption. LEDs would be used to track the currently active team, cups left, and reracks left. It would also be able to display a graphical representation of the shape of the cups left on the opposing team’s side. Buttons would be required to cover each individual special case (Miss, Forfeit, Rerack, Skip turn, etc) for each side.The third and final option considered by the group was the use of two simple LCD displays for each team. With each display, the group could independently update each team’s information, as well as display different menus for different stages of the game. This would potentially allow a team to specify exactly what shape the cups will be arranged in during a rerack, as well as offer confirmations for other functions such as forfeits and turn skips. Buttons required for this method would be limited to just three: two for navigation and one for selection. An interactive menu would need to be programmed to use all the functions; however, an internal team queue could also be maintained. This option would require the most programming, power, and testing, however the benefits far outweigh those of the other methods, and the group has decided to use this method to display information to each team.Since the group has decided to use the digital LCD display method, they needed to choose two important parts to use for the DCPPTSS display subsystem: the type of LCD display and the type of navigation buttons to use. Also, a method for determining next up and other team tracking features would need to be implemented. Buttons are covered below.For the display itself, the group needed to choose something that is large enough for the players to see easily, yet small enough that it does not interfere with the playing surface of the DCPPTSS. Also, a back-lit display was preferred because the game may be played in dark or near-dark lighting conditions. The group considered three different types of LCD displays: 8 character by 2 line, 16 character by 2 line, and 20 character by 4 line. The 8x2 display was determined to be too small for the amount of information that needed to be displayed to the teams, without scrolling. Scrolling could be used, however, the group decided it was better to make sure the teams never had to wait to see information they could require. The 20x4 display was determined to be too big to use for each individual display. In some cases, space would be too little utilized on the screen. However, in some cases it would become too cluttered by displayed menus. Also, 20x4 LCD displays with a backlight are significantly more expensive than 8x2 and 16x2 displays.The 16x2 display seemed to be the happy medium that the group was looking for. With a 16x2 display, they could display for each team any pertinent number they may find necessary without the need for scrolling as well as display a separate menu that will help communicate with the table in the case of a Miss, Rerack, or when a team wishes to Forfeit or Skip their turn. 16x2 LCDs are also relatively cheap, making them the perfect choice.Once the type of display was decided, the group needed to choose between serial and parallel interfaces for the 16x2 LCDs. Most 16x2 LCDs are configured for parallel use and are therefore inexpensive. However, a parallel 16x2 LCD would require approximately 11 I/O pins each on a given microcontroller. This was determined to be unrealistic to use because the Stellaris ARM core only has 7 I/O pins available. The group found that serially interfaced 16x2 LCDs would only require a fraction of the I/O pins per display to use. The group will use the I2C communication protocol. This allows the group to interface more subsystems to the Stellaris ARM and/or the MSP430s because the same two buses that are used for I2C can be used by multiple devices. Further testing will be required to determine if interfacing the displays with the Stellaris ARM or with an MSP430 will be used. The group would prefer to interface the 16x2 LCDs with the MSP430 that drives the respective end of the table.For determining the next-up players/teams, a simple solution was needed due to the size and ambition of other parts of the DCPPTSS. The group needed a way to display the next up teams while not interfering with the players currently playing. Since the 16x2 LCDs will be used for each individual team, the group did not want to use those to display the next up team (at least exclusively). A third 16x2 LCD would be both too expensive and require extra programming overhead, just for a simple display. In order to choose the next-up team, the group decided against having any kind of input because they wanted to make sure the game could be played without interference. Any sort of movement on the side of the table could be distracting, and in the extreme case, the table could be shaken and cause a cup to spill or a player to miss. Having no input would also mean the system for tracking the team list would be less complex.With all of these limitations in mind, the group has decided to use an I2C implementation of a seven-segment display. They decided to use one multi-digit display rather than multiple single-digit displays in order to lower the number of pins necessary to interface and power the display. They chose a 4-digit 7-segment display that will be mounted centrally on the DCPPTSS. The two most significant digits will be used to display the team number of the currently playing team on that side of the table, and the two least significant digits will be used to display the team number of the currently playing team on the other side of the table. In order to show the team number for the team that is next in the queue, the seven-segment LCD will slowly flash between the currently playing teams and the next up team.Digital Input (Buttons) - In order to control the user interface, the players will need some form of digital input. The group determined that this form of input should be intuitive so the players will have an easy time operating the menu(s) while not having to think too hard or guess at the particular functions of each button. The group decided that using buttons for digital inputs would make menu navigation easy. Only three buttons would be necessary: next item, previous item, and select/menu. The other method the group considered which controlled each function of the table by a specific button for each function was determined to be too problematic: there would be no confirmation and thus buttons pressed accidentally could have an adverse effect on the game. If there was a validation for an input method included, it would end up being too unintuitive by a player (for example, pressing a button twice to confirm a selection), and would not completely solve the problem of an accidental button press.The group has discussed a few different options for the navigational buttons. Throw switches were considered briefly, but would not serve the function of navigating a simple menu well. Momentary switches were determined to be the best type of input. There were many different types of momentary switches that could be used, however it was decided that they needed to be fairly large to make it easy for a player to use and allow the possibility for the button’s function to be displayed on the button itself.Arcade game buttons seemed to be the most accessible and best suited to this purpose. There are many different types of arcade buttons to choose from, but each needed to be the same size and type. The group perused the chart given at to determine the proper button to use. It has decided to use six Sanwa OBSF-30 buttons for navigation.3.2.4 Aesthetic LED ArrayThe game table will be referred to in 3 regions. The area in which the IR and capacitive sensors are located will be regions 1 and 2. The area in between the two regions will be known as region 0. Region 1 and Region 2 will both have LED diodes running around the perimeter of the regions. The four animations that will be able to be selected will be, random, Team 1 encircle, Team 2 encircle, and Halt flash. The random sequence will run a number of smaller sequences in random order. The random animation sequence will run in both Region 1 and Region 2. During the random sequence, both Region 1 and Region 2 will run the same animation pattern. The Team 1 encircle sequence will run only inside of Region 1. Team 1 encircle sequence will have diodes actively powering on an off consecutively continuously until the input of the animation control lines is changed. The diodes’ presumed animation will rotate clockwise. The Team 2 encircle sequence will run only inside of Region 2. The Team 2 encircle sequence will have actively powering on an off consecutively continuously until the input of the animation control lines is changed. The diodes’ presumed animation will rotate clockwise. Both the Team 1 encircle sequence and the Team 2 encircle sequence will never operate at the same time. These sequences will be a visual effect to distinguish which teams is currently up for the offensive phase of their turn. The table will be designed for the LED pattern to exist around the perimeter of Region 1 and Region 2. Each LED will spaced evenly throughout the perimeter. The LEDs will built into a separate housing that will exist under the table but still visible through the acrylic top surface. The housing will be designed so the housings can be replaced in sections from underneath the table. Each housing section will contain all the LED diodes for that side of the perimeter of the region. There will be a total of 8 diode housing sections. Figure 13: Region Segregation IllustrationFigure 14: Animation IllustrationFigure 15: LED Placement IllustrationThe options for designing the system are logic, and programmable. A logic based design only requires a power and input signal to run. All of the switching and animation is created through mealy-state-machine out puts. This system would consist of a clock and state logic. The entire lighting and animation system will be designed with the convention that follows:1=true=on=+5v0=false=oEach animation sequence will be used for different times during the game. The Team 1 encircle and Team 2 encircle animation sequences will be used to indicate what team is currently on the offensive. Team 1 encircle animation sequence will designate that Team 1 in Region 1 will be on the offensive (attempting to score points). Team 2 encircle animation sequence will be used to designate that Team 2 in Region 2 is on the offensive. The Halt Flash animation sequence will be used whenever normal game operation isn’t taking place during a match. If a user challenges a call, pauses the game, is correcting score, or requesting a change in cup orientation, the Halt Flash animation sequence will run. The Random animation sequence will run in between actively running matches and whenever a confirmed field goal is made. The table will also feature a set of switches to disable the light animation sequences for the entire table. One switch of the two will be provided to each team. Both teams will have to be in agreement in order for the light animation sequences to be enabled on the table. The switches will be rocker switches embedded with the rest of the user controls. The switches will operate with AND gate logic. To implement the design, the switches will be wired in series to a power source and to an enable line capable of disabling the light animation sequences without restarting the over animation control unit.The systems protection will be done through the main power supply unit. Ratings from testing will be provided to set limits for system fuses. The wires will be bundled connected to the tables frame by plastic zip ties. All boards featured in the design will have a container to prevent water damage. The easiest way to implement this system is with a timer and decade counters. A 555 timer is a simple part that can be used to provide a clock and decade counter is a part that takes in a clock signal and switches sequentially between its outputs. Using a mealy-state-machine design eliminates the issue user error in programming or for reprogramming if replacement parts are needed. The 4017 is a common decade counter with 10 outputs, a clock input and a reset. However, this design limits the patterns that can be made without substantially increasing the quantity of hardware per animation pattern. A programmable system is built using microcontroller and decoding system to output the LED control. The microcontroller takes in a 2 line input and decides what animation sequence to execute. The outputs of microcontroller will go into a matrix of decoders built to drive various outputs for the animation. The main benefit of using a microcontroller versus a decade counters is the ability to reduce the number of parts to create more complex animation and light sequences. Although both designs are capable of choosing to exclusively power only one selected LED at a time, the decade counter design would require extensive wiring and extra parts to simulate all of the lights being powered at once. Although both designs lack the ability to choose to power more than one light at a time, a microcontroller takes considerably less hardware and wiring to create the effect of multiple lights on at a time. The flicker fusion threshold is described as the frequency of at which periodic light pulses appear to be a complete and continuous light source to the observer. This phenomenon is caused by the stimulus effect of the photo lasting longer than the period of time in between light pulses. Generally humans can’t detect flicker above about 50Hz. For the light intensity of LEDs, it’s more effective to run in the range of kHz. To wire a system for to mildly entertain the average human user at even the flicker fusion threshold would require impractical quantities of hardware. The microcontroller can be programmed to toggle LEDs on and off of the programmer’s choice in any sequence to simulate a constant light source from multiple LEDs. If we were to take an example of a 5MHz operating microcontroller, the microcontroller would be responsible for supplying each LED with 1kHz operation. If the microcontroller took a conservative average of 20 cycles per instruction, it would take .4 nano seconds to turn a light on and off. In a program loop, it would be possible to execute 2.5 million LED toggles in 1 second, assuming no other instructions and interrupts were also contained in the code. If each light were to be toggled on and off directly after the other, it would be possible to display up to 2500 light sources to appear constant. It could effectively operate in the kHz range without any risk of undesired results at all. The current design specification requires a minimum of 20 LEDs to have exclusive control. 3.2.5 Capacitive TouchOne of the key aspects of an electronic beer pong table is the capability to recognize the presence of a liquid in the cups. If a liquid is detected, the cup is in play; otherwise, there is no cup in the vicinity of the sensor. Differentiating a full cup from an empty cup is essential to keeping an accurate score. While brainstorming about the table design in the beginning of the semester, the group decided to make the table as universal as possible. This meant not creating any proprietary equipment aside from the table itself (i.e. special cups or balls). To achieve this, it was decided to make use of capacitive touch technology to sense the presence of liquid in the cups. The capacitive touch phenomenon has become very commonplace in commercial applications requiring user interface. From iPods to cell phones to touch screen kiosks, one would be hard pressed to go anywhere in modern society without the opportunity to interact with something through a touch interface. Because of its increased popularity in applications, capacitive touch units have become relatively easy to manufacture. In order to create a capacitive touch unit, a capacitor that can be affected by outside influences must be created. In order to achieve this, one can imagine unraveling a capacitor into a sheet, allowing the electric field within it to leech into the space surrounding the capacitor. To achieve this effect in a PCB format, a capacitor must be formed between two separate portions of the PCB. In figure 16, this is done by separating the center sensor pad from the rest of the material with a gap in the solder mask and signal trace. The dotted lines in the figureFigure 16: Illustration of a PCB capacitive touch unit[Courtesy of Texas Instruments, PCB-Based Capacitive Touch Sensing with MSP430]represent the electric field created between the sensor pad and the surrounding grounded PCB material.Capacitive touch is possible due to the dielectric properties of humans. As the composition of humans is largely water, our skin and muscle can act as a dielectric. If humans did not contain so much water, human computer interface devices all over the world would probably function much differently from what we see today.Capacitive touch sensing works on a principle called mutual capacitance. In a capacitive touch unit, there are multiple areas which function as capacitors. When an object, such as a human finger, moves into the proximity of the unit, the object displaces air above the unit, changing the free space capacitance. In figure 17, the presence of the finger raises the values of C3 and C4 to some value, increasing the overall capacitance C1+C2+C3||C4. Also, when there is nothing but air above the unit, the capacitance is effectively constant. Since the capacitance of different dielectrics differ, capacitor C2 in the image above changes when the proximity of the finger changes. As with all technology, the cheaper it becomes to manufacture, the more pervasive it becomes in commercial applications, and vice versa. As such, the Texas Instruments capacitive touch booster pack is a good option for this application. The capacitive touch booster pack from TI is a rather basic unit, intended for use with their MSP430 Launchpad unit as a learning tool and development kit. The unit itself has six separate areas each counting as a sensor Figure 17: Illustration of how the capacitive touch unit measures capacitance[Courtesy of Texas Instruments, Getting Started with the MSP430 LauchPad]by itself. For this application, only the unit's proximity sensor will be used. Thanks to its efficient design, the proximity sensor area makes use of only one pin. This will allow one MSP430 on each side of the table to control all six capacitive touch sensors. The MSP430 is capable of doing capacitive touch sensing in two ways, the Relaxed Oscillator method, and the Resistor Capacitor method. Each has its own advantages and disadvantages. Using the Relaxed Oscillator method of sensing, the MSP430 measures the frequency of charge/ discharge cycles of the capacitor C1+C2+C3||C4 in a fixed period of time. When the capacitance increases, the time constant τ=R*C increases, leading to an increase in charge/discharge time. This results in a decrease in the frequency of charge/discharge cycles measured by the MSP430. Using the RO method of touch detection has some advantages according to Texas Instruments.Most robust against interference99% of measurements performed in low power modeLow CPU usageRelaxed Oscillator integration is 100% hardwareThis method's robustness against signal noise is something the team regards highly, as it will make detection in an inconsistent environment more robust. Also, most of the process is done outside the CPU, allowing for much more memory space for code, as well as more CPU cycles which can be dedicated to communication and aesthetics.The other method of capacitive touch sensing, available in the MSP430, is called the RC (resistor capacitor) method. Using this method, the charge/discharge time as described earlier is measured directly. The specific window of interest is the amount of time it takes for the capacitor to charge from 33.3% of its capacity to 66.6%. When the capacitance C1+C2+C3||C4 increases, as it does in the Figure 18: Layout and dimensions of TI capacitive touch unit[Courtesy of Texas Instruments, Getting Started with the MSP430 LauchPad]presence of a dielectric other than air, the time constant τ=R*C increases, resulting in an increase in the time taken to charge from 33% to 66%. This method has the advantage of being available on all MSP430 models, as it does not make use of any special hardware such as comparators (unlike the RO method).3.2.6 Cup Sensor LEDsIn order to add aesthetic appeal to the cup sensor units, each unit will have five RGB (red, green, blue) LEDs incorporated into them. These LEDs will be used to add aesthetic appeal to the units when a full cup is present as well as when a cup is not present. In addition to sensing the presence of a full cup in the vicinity of the sensor, the six cup sensors on each side of the table will be used in conjunction at the beginning of each match to select team color.RGB LEDs are essentially three LEDs integrated into one unit. By controlling each color individually, the LED can display a full spectrum of colors from red to violet. This seems like a simple task to achieve, but some issues do come into play.In an RGB LED, different colors can require different current values in order to properly display the color. This is due to the different materials required to create a diode which outputs different wavelengths of light. If these current requirements are not adhered to, separate colors intensities will not match, or the LED could burn out all together. Color intensities could also vary due to manufacturing inconsistencies; a batch of one thousand LEDs will never be perfectly identical.Due to all these inconsistencies, creating a circuit with only discrete parts which will function well given the situation will be very difficult. One technology which has been developed specifically to counter these intensity variation issues is called "dot correction". Dot correction enables the control of the current supplied to each LED in an array in order to create uniform brightness. (Dot Correction PDF page 2 paragraph 1) If it is decided to apply dot correction to the RGB LEDs of the cup sensor units, a Texas Instruments TLC5940 LED Driver will be used.The TLC5940 is a sixteen output, programmable, constant current sink. The LED driver contains integrated EEPROM memory for dot correction storage. This allows each unit to be programmed with the specific dot correction values for the LEDs connected to it only once, instead of continuously transmitting and updating the values using the serial communication interface. Dot correction is set using the following equation:IOUTn=IMAX*DCn63where IMAX is the maximum current required by any color of the LEDs. The value of IMAX is gleaned from the specifications of the LEDS. This value is written to the chip using a resistor external to the IC, connected between the IREF pin and the GND pin. The value of this external resistor is determined by the equation:RIREF=1.24VIMAX*31.5Figure 19: TLC5940 Block Diagram[Courtesy of Texas Instruments, TLC5940 Datasheet]Dot correction values for each color of each LED are stored within the TLC5940 EEPROM as a six bit word. This word adjusts the current of each output pin in 64 steps from 0% (0000000) to 100% (111111). The actual current value of each pin can be found using the equation:IOUTN=IMAX*DCn63In addition to being able to perform dot correction, the TLC5940 also has grayscale PWM (Pulse Width Modulation) capability for each output pin, which is controlled by a twelve bit word for each output pin. This allows for brightness adjustment to the tune of four thousand and ninety six steps, ranging from 0 being off to 4095 being 100% brightness. The twelve bit words controlling the brightness for each pin are programmed using the serial communication input SIN, which shifts the bits on the pin into a 192bit shift register. This serial communication is controlled via the GSCLK or Grayscale Clock pin. The frequency for this communication is determined by the equation:fGSCLK=4096grayscale values*fupdateThis grayscale PWM allows for further control of LED luminosity, as well as creating colors which are combinations of red, green, and blue light, as colors such as purple require the combination of red and blue light. The chip also has functionality which will not be used in this application, such as LED open and over temperature detection. This combination of capabilities is perfect for application in the cup sensor apparatus3.2.7 Infrared BarrierThanks to science, we know today that light exists in a spectrum. One can easily obtain a prism, hold it up to a beam of light, and see this spectrum for themselves. What many people don't realize however is that visible light is simply a small portion of the spectrum known as the electromagnetic spectrum. This spectrum contains all physically possible frequencies/wavelengths of electromagnetic fields, ranging from Extremely-Low Frequencies (ELF), also known as radio waves, all the way to high frequency, high energy waves known as Gamma Rays. Thanks to modern technology, humans have gained the ability to harness the powers of these wavelengths which are outside of the range visible to us. From using X-Ray radiation to view bone structure, to using low frequencies for data and voice communication, it seems as if no part of the electromagnetic spectrum is outside of human control anymore. One very common range of wavelengths which humans have harnessed is known as infrared radiation.Infrared radiation is the electromagnetic waves ranging from seven hundred eighty nanometers to three micrometers. These waves exist at wavelengths just below that which humans can see (four hundred to seven hundred nanometers). This means that not only are they invisible to humans, they are low enough power to be nearly harmless, not only to biological organisms, but also to integrated circuitry. On the other hand, the infrared range of electromagnetic waves exist at a high enough frequency to not be able to pass through solid objects, unlike their higher wavelength counterparts, radio waves.Because infrared waves cannot pass through solid object such as walls, they have been adopted into technological applications which require short range remote communication. Probably the most common application of these waves is the television remote control. This form of remote control uses pulses of infrared light emitted by the remote control, and detected by a photo receiver embedded in the television, in order to communicate over the short distance from the couch to the television.Another common application of infrared light is its use as a barrier sensor. Anyone with an automatic garage door has probably noticed the door becomes inoperable if an object is in the threshold of the door. This is because automatic garage doors make use of an infrared emitter/detector pair in order to sense if an object is in the way of the door, were it to close. Instead of using pulses of light however, this application continuously emits infrared light on one side of the doorway, which is detected on the other side of the doorway by a photo detector. If the beam of light is interrupted, say by a child walking through the doorway, the system disables downward motion of the door.Yet another common application of infrared radiation is called passive infrared sensing. Passive infrared sensors are most commonly used for motion detection. In this form, the sensor determines a “normal” state. The normal state can be described as the amount of infrared radiation detected the majority of the time; for instance, the amount of light detected when a room is empty. When a mobile object enters the view space of the sensor, the amount of infrared detected by the sensor increases. This is because everything that exists above absolute zero temperature emits radiation. An emitter/detector pair is relatively simple to implement thanks to today's technology. The following schematic shows a configuration which operates in a way which combines the applications described earlier.Figure 20: Simplified emitterFigure 21: Simplified detectorIn the schematic above, an infrared LED continuously emits light. When there is nothing within the working range of the emitter, the detector, in this case another infrared LED, will have a constant voltage drop. This voltage drop depends on the operating specifications of the LED. When an object moves within the range of the sensor, infrared light will be reflected off of the object and be detected by the receiver LED. This will increase the voltage drop across the LED, which is detected using the comparator.Infrared emitters are available in the form of common LEDs, as well as infrared laser diodes. In general, infrared light generated by a LED diffuses more quickly, as LEDs have a much larger viewing angle than lasers do. Also, LEDs can emit multiple wavelengths of light. In the case of infrared LEDs, these wavelengths could range from Near Infrared (NIR), which are the wavelengths closer to visible light, all the way to Far Infrared (FIR), which are wavelengths on the radio wave side of the infrared range. Infrared lasers and all lasers in general, emit a very specific wavelength of light. Due to the increase in interest in and research of robotics, many manufacturers have developed novel sensor arrays to facilitate creation of intricate robots. Making use of infrared light is a common element of some of these sensor arrays. One design of these infrared sensors makes use of an infrared emitter, paired with a Charge-Coupled Device (CCD) detector. Using this configuration, these sensors are capable of measuring the angle of incidence of the infrared light reflected off an object and detected by the detector. This measurement then gives the distance of the object from the sensor, because the distance between the emitter and detector is known by the device. A device of this nature has been developed by Sharp. Each of the sensors in the GP2D family of sensors is a unit embodying the emitter and the CCD detector into one unit; and is capable of doing this measurement of the angle of incidence. The figure below may be used as a visual aid to better understand this functionality. In the figure, the measured angles are θ1 and θ2. One will notice that the detected angle for an object which is closer (θ2) is much smaller than the angle detected when the object is further away (θ1).Figure 22: Example of Sharp GP2D functionalityThe DCPPTSS will make use of infrared light in order to create a barrier plane, in an attempt to detect the passing of a ping pong ball through the barrier. The purpose of this is to differentiate between missed shots, and a thrown ping pong ball which lands in a cup. This is a rather challenging design problem for multiple reasons.First, infrared light is very close to visible light. As such, most sources of visible light also emit infrared waves. This is why on very bright days; automatic garage doors will become inoperable for seemingly no reason. Also, ping pong balls are spherically shaped. This will cause much of the infrared light which hits a ping pong ball to be reflected at an angle different from its angle of incidence. Another issue is that regulation ping pong balls have a diameter ranging from thirty six millimeters to forty four millimeters. This means whatever design is used for the barrier in the final table design; the barrier must have a relatively high resolution. Finally, the ping pong ball will be traveling through the air at a relatively high speed. Because of this, the final barrier design will require a relatively high refresh rate.One way to compensate for the effect of ambient light on the infrared detectors, a modulated output signal from the emitter may be used. If the emitter is constantly emitting by using a DC source, the signal generated by the detector will also be a DC signal, with magnitude proportional to the distance between the emitter and detector. This is also the state the output signal would be if only ambient light is detected, with the output signal magnitude proportional to the amount of ambient light. If a modulated input signal to the emitter is used, such as a square wave, the output signal of the detector will be a combination of AC and DC signals when the emitter is being detected.In this configuration, the detector signal then needs to be filtered using a Band-Pass Filter with a critical frequency ω0 equal to that of the frequency of the modulated signal supplied to the emitter. This filtered signal is then passed through a rectifier, converting the signal to a DC voltage proportional to the distance between the emitter and detector. Figure 23: Pulsed infrared signal filteringThere exist integrated circuits with all these modules integrated into them, such as the Vishay TSOP17 family of photo modules. Another advantage of using this method of pulsing the emitters is that it allows the system to send much higher currents through the emitters, without much added danger of damaging them. This is because the current will only be at that peak level for a miniscule amount of time, inversely proportional to the frequency of the square wave. The benefit of driving higher current through the emitter is it creates a much stronger burst of infrared light, allowing the light to travel further. This is exactly how remote control emitters are capable of sending their infrared light across a large room.3.2.8 Ball WasherThe system will consist of low maintenance cleaning system to keep acceptable levels of hygiene throughout the players experience.The water circulating system will consist of a water reservoir containing the majority of the water supply a system, two cleaning basins for user and ball access, a cleaning unit to disinfect the water system, a pump supplying recirculation of collected fluids, and interconnecting piping to move the water between systems. To decrease weight of and cost of the overall system, it’s more feasible to implement a system with one cleaning unit, one reservoir, and one pump all centrally located between both “ends” of the system. The design layout is based on a single pump located inside the reservoir that will also contain the cleaning unit as well as the recirculation pump all in one inclusive but singly accessible unit. The choices for pumps vary depending on pump design, power consumption and operation. The pump specifications are as follows:Weight under 5 lbsAble to accept 120VAC –OR- 12VDCAble to run indefinitelySubmersibleFlow rate equal to or greater than 5 times total volume of systemAble to operate between 40-120FWithstand the lifetime of 7 yearsWater tightThe Piping design had to be done with a system of components that were highly customizable but modular. The piping system also must withstand all variations and options of cleaning systems applied to the water circulation system. The system must be able to maintain it’s structural, physical, chemical, aesthetic properties during the planned lifetime of the entire digital competitive precision projectile table support structure. The piping specifications are as follows:Nonreactive with alcohols or phenolsCan withstand temperatures ranging between 40F-120F*Temp range variant 40F-180F if pasteurization usedWater TightRetain structural integrity over extreme temperature change through conduction 1degree/second OR sudden contact temperature change over 30 degrees Fahrenheit*Able to maintain operational integrity with extended exposure to UV radiation if UV treatment is used*Nonreactive with chemical used for sanitation i.e. Ammonia, Sodium hypochlorite, etc…Choices for piping material and design were copper pipe, iron pipe, Polyvinylchloride (PVC) pipe, hand casted composite (fiberglass). The three forms of pipe all have the advantage of being premade prebuilt sizes, shapes, fittings, and previously tested properties for comparison against parameters. Hand casting a fiberglass system allows for customization to allow the water circulation system to be formed to be easily integrated in with the other components of the table. Fiberglass is nonreactive with alcohols and phenols, if properly formed and completely cured. It can withstand the temperatures rated above according to the PVC MSDS. Fiberglass is able to withstand extreme temperature changes. Fiberglass has the ability to withstand UV radiation and is non reactive with most common cleaning solutions. Copper pipe was a primary choice due to its current application in potable water systems currently used throughout construction in the United States. Copper can withstand the specified temperature range. Copper is unaffected by UV radiation. Unlike iron, copper only corrodes at the exposed surface.The most ideal choice is PVC pipe. PVC pipe is readily available in different sizes, thickness, temperatures ranges, and pressures. PVC, like copper piping, has preformed fittings and shapes to allow for flexibility in design. While not as thin as fiberglass, the PVC is rigid enough to be executed while being able to incorporate the space needed to integrate the other systems involved. PVC also is nonconductive. Because the water circulation system will be closely integrated underneath the table, it was ideal to choice a material for the system that would be an insulator versus copper which is one of the world’s greatest conductors. The piping system will be indirect contact with users and a circulation pump so all measures to prevent electric shock must be taken into account. PVC is damaged by UV radiation and is known to become brittle, but keep structural integrity and will have an expected safe operation period much longer than the predicted life of the table. PVC is nonreactive with most alcohols and ethers. Ether is common used to clean PVC before installations and PVC is also common throughout households and irrigation systems indoors and outdoors. PVC has the ability to withstand drastic temperature change without jeopardizing its structural integrity. Overall, the choice for water circulation system conduit, PVC seemed to be the ideal candidate because of it’s low cost, high flexibility for design, chemical resistance, and insulating property.When considering choices of different forms of sanitation for the water cleaning circulation system, the main aspects considered were price and complexity. The three main forms of sanitation for keeping water sterile currently used today are chemical treatment, pasteurization, and UV light. The chemical treatment is a guaranteed effective way of treating contaminated water. For a chemical system to be implemented on our design requires a chemical dosing module consisting of PLCs to control the flow to our water reservoir as well as measuring apparatus to keep track of current concentration inside of the system and a surplus supply of chemical dosing reserved on the entire table to provide dosing for the water circulation system. The overall additions to the circulating water cleaning system would be an extra pump, a reservoir tank separately per chemical, flow meters, and control system as well as additional piping to route chemicals to the water reservoir. An additional pump would increase the weight of the overall project as well as supports to keep the pump safely secured to the structure. The pump would also increase power consumption and create a more complex overall layout to maintain safety and simplicity. Pasteurization is the process of heating mixtures and other suspect things to high temperatures, 165 F for an extended period of time to kill bacteria. The benefits to this form of water treatment are the fewer number of items needed to maintain the sanitation system. There is little to no maintenance required for the system to continue safe operation. It requires no chemical dosing units or extra pumps. However, the issue of temperature becomes a safety factor. In order for pasteurization to be effective, the temperature of the water must remain above 165 F for a minimum of 45 seconds. 165 F isn’t considered to be a temperature that humans find pleasant. The increased temperature also will affect the temperature of the ball being washed, which in turn heats the target liquid, creating undesirable game play. In order to maintain an effective pasteurization system, the water circulation system would have to heat the questioned water to 165 F and maintain that temperature for the minimum period and then return the water back down to room temperature. This could be achieved with a peltier junction or a heating element, cooling fan& heat sink set up. Both designs both have benefits and flaws. The Peltier junction design uses one device for both heating and cooling. A peltier junction intakes electric power and create a difference in temperature on the two different sides of the junction. If you Figure 24: Peltier Device Pasteurization IllustrationFigure 25: Heater/Radiator Pasteurization Illustrationremove heat from the hot side while power is being supplied to the junction, the faster and lower the opposing side, the cold side, will drop in temperature and vice versa. A peltier junction has no moving parts and virtually requires no maintenance. The peltier junction also features the benefit of being completely silent during operation. The question is about the process of raising the dropping the temperature. The main two factors are exposure time and magnitude of the forced temperature change. Exposure time can be increased by decreasing flow rate (slower water circulation overall), or increasing pipe diameter. Increasing the pipe diameter allows for water to flow slower where the exposure to the junction is and then increase when the pipe diameter is narrow near the washing pool. In this case, we achieve both methods mentioned above for decreasing the flow rate for increased exposure time. Another option is increasing the power to the peltier junction. The temperature increase would decrease the length needed to heat the water to the required temperature making the over all design smaller. The drawback to this design is that in the event of no current flow (i.e. table shut down) there is the possibility of extreme super heating of the water in the exposure area possibly rising above the piping’s temperature rating or boiling inside of the pipe. In the design of a heater and radiator, its biggest benefit is the ability for the reservoir of water to act as the cooling radiator as well. Both designs add the issue of heat. Each design has a risk of the user being exposed to heated water. The heater and radiator design also requires a fan for forced draft over the cooling fins of the heat sink.The last option for the sanitation system is UV radiation. UV radiation is the process of using electromagnetic radiation 230nm-300nm to kill bacteria. The allows for minimal moving parts and extra added weight to achieve sanitation. The UV sanitation system only requires for a visibly exposed surface to the water. The UV sanitation system also decreases the amount of extra hardware to the original design of the water circulation system. The UV light source can be placed inside the water circulation system reservoir. Placing the light source there allows for the water to have maximum exposure time since the water flow will be at minimum inside of the tank. The tank specification is as follows:3 times larger than the total volume of both ball wash containers. A maximum of 1 gallon.3.3 System Architecture OptionsBefore determining the correct system architecture an evaluation of the Digital Competitive Precision Projectile Table Support Structure must be made. The functions of the DCPPTSS must be analyzed. The DCPPTSS will detect if a ball enters or misses a cup. If a ball enters a cup, the corresponding LED will be shut off and a point would be awarded to the thrower(s). Once the number of throws is complete the state of the game changes and the opposition now becomes the thrower(s). These actions continue until a player area has removed all of its cups.When the functions of the DCPPTSS are generally defined for the purpose of the game there are only appear to be two system architectures that could potentially handle those tasks. The two system architectures considered for this project are the distributed computing architecture and the event-driven architecture. Distributed computing allows for the computing of different processes concurrently. This would be great because there would be no need for a central processor to delegate functions. Each processor can be programmed for its specific function. There is an issue with this method. The issue is a lack of control for systems that aren’t needed at a specific time which leads to unnecessary power consumption and errors that would occur in terms of ball detection occurring at both infrared systems on opposite ends of the table. The following diagram shows that a ball being thrown will pass both infrared systems. This would not be a problem if the systems of the thrower(s) were controlled by a central unit which would make them inactive.The alternative architecture for the DCPPTSS is the event-driven model. This model was considered because the game of beer pong itself is a turn-based game. Due to this realization it would only make sense to have an architecture that would utilize a method that would coincide with the mechanics of the game. Event-driven architecture of course is triggered by an event. In the case of the Figure 26: Distributed Computing ArchitectureDCPPTSS the event is the ball being detected by the infrared system. If the infrared system detects that the ball thrown is a miss it will communicate to that to the central processor and will again wait for another event to occur. If the infrared system detects that the ball thrown was made into a cup the infrared system will communicate with the central processor which will then receive input from the capacitive touch system. Once the amount of throws for the player(s) is up the opposition will have their turn. Due to the turn based system of the game and a central processor whenever it is a player’s turn the system on their side of the table can be put into a sleep mode which will reduce power consumption since it is not needed. The following diagram shows the connections between the central processor and the different systems that will be used on each side of the table. These connections create a control mechanism in which the central processor will decide which side will be operational and which side will be in sleep mode.When comparing these two architectures, distributed computing and event-driven, it is clear that the event-driven architecture is the one best suited for the Digital Competitive Precision Projectile Table Support Structure. Distributed computing allows for each individual system to operate itself, hence the functions of the DCPPTSS can be equally distributed amongst the different processes. Its lack of control for the integration of the sub-systems is the issue with the using the distributed computing architecture. The event-driven architecture better suits Figure 27: Event Driven Architecturethe DCPPTSS because of the turn-based gameplay. With the event-driven architecture it allows for a single control unit to keep a certain order with the different sub-systems when it comes to their processes.4.0 Project Hardware and Software Design4.1 Design SummaryDesign of the Digital Competitive Precision Projectile Table Support Structure turned out to be a rather challenging problem, making the project a perfect challenge for four relatively inexperienced engineering students. The group decided upon a very modular design, in order to circumvent many of the challenges a less modular design would involve, such as combining code written by multiple people into one coherent code. This modular design also allowed for an equal division of labor, with each member of the group being in full control of the design of their designated subsystem. The following block diagram illustrates the modularity of the entire system.In order to achieve this very modular design, most of the subsystems of the DCPPTSS run on their own microcontroller unit. The microcontroller of choice for most subsystems of the project is the Texas Instruments MSP430. This controller was chosen mainly because of the current state of University of Central Florida relations with the Texas Instruments corporation. If Texas Instruments was not currently pushing to supply the university with all their embedded system needs, another controller would likely have been chosen.To control all these modular subsystems, there is a single central controller unit. This unit, unlike the rest of the controllers in the system, is a Texas Instruments Stellaris EKS-LM3S8962. As with the MSP430s, this controller was chosen because it was given to the group for free by Texas Instruments; and the group attended a training class for the processor. The Stellaris is an ARM based Figure 28: DCPPTSS block diagramprocessor, and will function to keep track of the overall game state, as well as coordinating events of each subsystem. In order to communicate with the subsystem microcontrollers and coordinate all the possible separate events, a communication system using the I2C protocol was chosen. This communication protocol was chosen because it only requires two lines to achieve serial communication between all controllers.On the software side of the design, the architecture is a modular event driven architecture. This means all physical events that occur within the vicinity of the table are detected by their respective subsystem and trigger interrupts within their processing units. These interrupts then communicate game state changes between controllers using the I2C serial interface, mainly between the microcontroller of the subsystem detecting the event and the Stellaris central controller.In the design of the DCPPTSS, there are two main subsystems responsible for detecting events which are directly related to game play. One of these systems is the infrared object detection barrier. This subsystem itself is designed in a modular fashion. In order for the barrier to function correctly, there will be two detection planes on each side of the table. These planes are created by incorporating multiple infrared emitters and detectors into a single unit. When a ball is thrown, the barriers on the opposing side of the table detect the ball passing through the front barrier first, followed by detection by the rear barrier within a small time period. If the ball passes through the front barrier, but is not detected by the rear barrier within this time period, the ball is assumed to have landed in one of the cups. This is where the second of the two subsystems comes into play, the cup sensors subsystem. This subsystem is responsible for detecting the presence of cups with liquid in them. In order to achieve this, each cup sensor unit will have a Texas Instruments capacitive touch unit embedded into them. The capacitance of each cup sensor is measured using the relaxed oscillator method, and depending on the measured value, it is determined if there is a dielectric other than air present above the sensor. In addition to detecting presence of liquids, each cup sensor will also have five LEDs embedded into them which will display team color, as well as changing behavior depending on presence of a liquid. The LEDs for each cup sensor unit will be driven by a Texas Instruments TLC5940 LED Driver chip. The TLC5940s will each use a serial communication interface to communicate with the MSP430 controlling them.Detection of game state by these two subsystems has been designed with a certain degree of tolerance, meaning there is roughly a twenty percent chance the system will improperly detect, or not detect at all, the given events. In order to counter these inconsistencies, a user interface was also designed, to allow players to correct any detection errors. The user interface will consist of two two line, sixteen character LCD displays, one on each side of the table. Paired with each LCD will be three buttons, with the function of scrolling through and selecting from a menu. The menu itself will offer options to correct any errors; the option to label a shot interpreted as a made shot a miss, the option to skip a turn, the option to forfeit the game, and an option to activate the re-rack of a team’s cups. The LCDs will also display the current game state information: team number, number of cups left, and number of re-racks available; for each team. In addition to these two LCDs, a four character seven segment display positioned on the edge of one side of the table will function to display the currently playing teams numbers, and the number of the team which is next up in the game queue. All of these user interface elements will be directly wired to the Stellaris central controller.Another subsystem of the DCPPTSS is the aesthetic LED array. For this subsystem, a multitude of LEDs will be arranged around the perimeter of each team’s areas, as well as the overall perimeter of the table. These LEDs will all be driven by a single MSP430, and display different sequences of animations depending on the state of the game. These animations will function to emphasize the current state of the game.Finally, there is the sanitation subsystem. This subsystem consists of two “wash cups”, one on each side of the table. These “wash cups” will be PVC tubes embedded into the table connected together to a single, shared reservoir. A water pump with an ultraviolet light source will pump water from the reservoir into the two “wash cups”. From the “wash cups” the water will then travel back to the reservoir using only gravity. This subsystem was developed in order to counter one of the largest health hazards known to college students, playing beer pong with a dirty ball. Because of the nature of the game, ping pong balls often wind up on the floor, picking up a wide variety of dirt and germs. This system will function to clean any balls which have been on the floor, before they are brought back into the game to be used as projectiles.4.2 System ArchitectureThe system architecture that was chosen for the Digital Competitive Precision Projectile Table Support Structure was the event-driven architecture. Due to the game of beer pong’s turn-based game play, it goes hand in hand with the style of event-driven architecture. Now that the architecture has been chosen, the description of how this architecture will be used and how it affects the sub-systems will also be explained. With the event-driven architecture the Digital Competitive Precision Projectile Table Support Structure is essentially in a buffer mode until an event occurs. The DCPPTSS is comprised of many separate event-driven processes.Event-driven architecture focuses on the changing of states. The initial state that triggers the domino effect of event-driven sub-systems is the state of ball detection. The infrared ball detection system is set to no ball detected at default. When the infrared ball detection sub-system is in a state of no detection then nothing occurs. Ball detection for the Digital Competitive Precision Projectile Table Support Structure is defined as a ball entering the field of infrared LEDs without exiting that range. With ball detection being defined in such a manner it provides a standard for what is and what is not detected which affects the other sub-systems. The activity of the infrared ball detection sub-system being in a no detection state in an activity diagram simply loops back into itself. Once a ball is thrown into the infrared ball detection area the state changes. This change in state creates much activity for the rest of the sub-systems used in the Digital Competitive Precision Projectile Table Support Structure.The next stage in the event-driven chain is when a ball is detected is if the ball has entered a cup in the opposition’s player area or not. This will be detected by the capacitive touch sub-system. The default state of the capacitive touch sub-system will be determined at the beginning of the game. When the game begins and the systems are powered the capacitance will be taken at that time as a reference making the initial state of the capacitive touch sub-system set to no capacitive change. By doing this any change in capacitance from the initial reading will cause a detection by the capacitive touch system. The capacitive touch sub-system will not be able to detect if the ball is in a specific cup, but what it can detect is the opponent removing the ball from the corresponding cup. When the opponent’s hand is in the cup to retrieve the ball the capacitive touch sub-system will sense a change in capacitance which will change the capacitive changed state to a yes.Once the capacitive touch sub-system has detected a change in capacitance the next system to become activated is the central control system. The central control system is a key part to this entire project. The central control system is responsible for putting the unused systems into sleep mode, receiving the interrupt signal from the infrared ball detection sub-system, receiving specific information in terms of location of the ball from the capacitive touch sub-system, sending information of the corresponding cup to be removed to the display monitor while increasing the player’s point total, checking to see if all of the cups on the opponent’s side of the table are all removed or not, and also to see if the amount of throws remaining for the player has been reached. The game continues as long as there are cups remaining on both sides of the table in which the state is set to yes. Once the cups remaining state is set to no, the game is then over. Figure 29: DCPPTSS Overall Activity Diagram4.3 Sub Systems4.3.1 Central ControllerThe system that will control majority of the systems used in the Digital Competitive Precision Projectile Table Support Structure is the Stellaris EKS-LM3S8962 ARM processor. As the central control unit, the Stellaris EKS-LM3S8962 ARM processor is responsible handling data that is sent to and received by the surrounding sub-systems. The sub-systems the Stellaris EKS-LM3S8962 communicates with that have a direct connection to the functions of the gameplay are the infrared ball detection and the capacitive touch sub-systems. The Stellaris EKS-LM3S8962 is also be responsible for the reduction in power consumption, keeping score of the game, keeping track of the number of throws remaining per turn, changing LED location once player turn is over, as well as the number of cups remaining on the table for each player, and displaying this information on the monitor embedded within the center of the Digital Competitive Precision Projectile Table Support Structure.When it comes to handling data, both input and output, the Stellaris EKS-LM3S8962 needs a way to communicate that data. When communicating that data between a sub-system such as the infrared ball detection and the capacitive touch sub-systems it is best to have a communication method where there is an order in terms of priority. The priority being the Stellaris EKS-LM3S8962 has the highest priority while the sub-systems follow. This method of communication is necessary due to the fact that the Stellaris EKS-LM3S8962 is the central control unit. If a sub-system were to have higher priority over the Stellaris EKS-LM3S8962 then the Stellaris would in fact not be the center of control. The Stellaris EKS-LM3S8962 will need full control over the sub-systems. The central control will implement a master-slave communication system in which Inter-Integrated Circuit (I2C) provides. The figure below shows the master-slave arrangement between the Stellaris EKS-LM3S8962 and the infrared ball detection sub-system and the capacitive touch sub-system.Power Reduction - Due to the turn based style of beer pong, have of the sub-systems will be used only half of the time during the entire game. This means that if all of the sub-systems were to be during the duration of the game, then useless power would be consumed. Since the style of beer pong is turn based so should the usage of the sub-systems be in a sense. To combat the unnecessary power consumption issue the Stellaris EKS-LM3S8962 will communicate with the sub-systems, infrared ball detection system and capacitive touch system, of the thrower’s side to go into a standby type of mode. The MSP430 microcontrollers which will be operating the infrared ball detection sub-system as well as operating the capacitive touch sub-system are cable of entering different sleep modes. Therefore the Stellaris EKS-LM3S8962 will send a message to these Figure 30: I2C Master-Slave Communicationmicrocontrollers to have them enter the sleep mode. Once it is the opposition’s turn the infrared ball detection sub-system and the capacitive touch sub-system that are operational will then be requested to enter into a sleep mode, while the those that are in a sleep mode will be sent an interrupt request to wake them up.Stellaris communicating with IR ball detection - Another part of the Digital Competitive Precision Projectile Table Support Structure is the communication between the Stellaris EKS-LM3S8962 ARM processor and the infrared ball detection sub-system. The infrared ball detection system, when not in sleep mode, will buffer to wait for a projectile, the ball, to enter its infrared field. Once the projectile enters the field the Stellaris EKS-LM3S8962 ARM processor will be interrupted by the infrared ball detection sub-system. If a projectile enters the infrared ball detection field and leaves a miss is generated. This generated miss will be sent to the Stellaris EKS-LM3S8962 ARM processor which will in turn be sent to the monitor for display. If a projectile enters the infrared ball detection field and does not leave then a hit will be generated. This generated hit will be sent to the Stellaris EKS-LM3S8962 ARM processor which in turn will be sent to the monitor for display.Stellaris communicating with cap-touch - Communication between the Stellaris EKS-LM3S8962 ARM processor and the capacitive touch sub-system are another part of the Digital Competitive Precision Projectile Table Support Structure. The capacitive touch sub-system, when not in sleep mode, will buffer to wait for a change in capacitance. This change in capacitance will not occur from a projectile entering a cup, but from the hand of the opponent removing the projectile from the cup. The Stellaris EKS-LM3S8962 will then receive an interrupt from the capacitive touch sensor when there has been a change in capacitance from the reference which is taken at the beginning of the game. Once the Stellaris EKS-LM3S8962 receives the information from the capacitive touch system, the Stellaris EKS-LM3S8962 will send a request to the corresponding capacitive touch sensor to turn off for the duration of the game. The results of the remaining capacitive touch sensors will then be sent to the monitor as the cups remaining.Keeping score of game - When it comes to keeping score of the game the Stellaris EKS-LM3S8962 ARM processor will not use an external system for this task. The Stellaris ARM processor itself will keep track of the score. It is able to do this because of its 256 KB flash memory. The functions of the table will be programmed onto the Stellaris EKS-LM3S8962 in the programming language of C. The score for each player will be stored in the variables ScoreA and ScoreB for the player(s) of player side A and player side B, respectively. Both of these variables will be initialized to zero at the beginning of each game. A player’s score increases by one with each ball that is made. This increment in score occurs only when the capacitive touch system senses a change in capacitance for the corresponding cup. The score variables will be contained within a scoring function. The scoring function will be contained within an if statement and called only if the infrared ball detection system has detected a ball and the capacitive touch system has received the reading of the ball’s location.Keeping track of throws per turn - Keeping track of the number of throws per turn per player is also an important aspect of the Stellaris EKS-LM3S8962 ARM processor. This function also will not use an external system to handle its processes. The function of keep track of the number of throws each player(s) has during their turn will be programmed onto the Stellaris EKS-LM3S8962 ARM processor in the programming language C. The variables num_of_throwsA and num_of_throwsB will be used to store the number of throws remaining for player side A and player side B, respectively. Both of these variables will be placed in the game program that will be used to run the beer pong functions from the Stellaris EKS-LM3S8962 ARM processor. Each variable will be used within separate for loops. The for loop will initialize the number of throws to two and will decrement by 1 for each iteration, throw. As long as the number of throws is greater than zero the player(s) will continue to throw a ball. The for loop will buffer until the infrared ball detection system gets a reading on a ball that was thrown. In the event that a player completely misses the infrared detection area an option button will be available for a user to manually decrement the number of throws for a particular player.LED location - An added feature to the Digital Competitive Precision Projectile Table Support Structure is LEDs moving in a snake pattern. The snake motion begins as soon as the Digital Competitive Precision Projectile Table Support Structure is turned on. The initial route of the snake motion is around the entire table. This snake motion will continue until a user selects which player will start first. Once the user selects which player will start first, the snake motion of the LEDs will then move to the area of that player and continue to perform the snake motion in that area during the duration of their turn. When the number of throws for that particular player reaches zero, the LEDs will then move to the opposition’s side and perform the snake motion in that area during the duration of that player’s turn. The snake motion will continue back and forth until the number of cups for a given player area has reached zero. At that time the LEDs will continuously pulse on the player side of the victor.Keep track of cups for both players - The task of keeping track of the cups remaining on the table for both players will not be handed by a sub-system. ?The Stellaris EKS-LM3S8962 will be in charge of keeping track of the number of cups remaining on the table for both players. The number of cups remaining for each player will be stored in the variables cups_remainingA and cups_remainingB which are used for the player(s) on player side A and player side B, respectively. These variables will be initialized to six at the beginning of the game. The game of beer pong will continue as long as the cups remaining on both player side A and player side B are greater than zero. The variables cups_remainingA and cups_remainingB will be used within the remove cup function. The remove cup function will be called when the capacitive touch system senses a change in capacitance from one of the cups. Once the capacitance has been read from the corresponding cup the appropriate cups_remaining variable will be decreased by one.Display information onto monitor - The monitor embedded in the center of the Digital Competitive Precision Projectile Table Support Structure will be used as a notification system. This system will be used to display different information to the players. Such information that will be displayed to the monitor are the number of cups remaining for each player, the current score, whose turn it is currently, displaying if a player’s attempt was a hit or miss, and to display the winner of the game. These different aspects will be displayed with a certain format. The number of cups remaining for each player will be displayed to the monitor by the Stellaris EKS-LM3S8962 ARM processor. The information received by the monitor comes from the Stellaris EKS-LM3S8962 ARM processor which has the variables for the remaining cups of each player, cups_remainingA and cups_remainingB. Whenever these variables are updated the corresponding cups shown on the monitor will also be updated as well.The current score of each player will also be displayed onto the monitor. The scores will come from the variables scoreA and scoreB. Once the variables of scoreA and scoreB change, they will also be updated on the monitor for the players to view. When it comes to player turn an indicator will be on the monitor which shows exactly which players’ turn it is at that time. The indication of player turn will come from the throws_remainingA and throws_remainingB variables that will be stored onto the Stellaris EKS-LM3S8962 ARM processor. The initial indication will be caused by the user selection which player will start first. After this selection is made, the ball indication will resort to the throws remaining variables reaching zero. Once the throws remaining variable for a player’s side reaches zero then the system knows that it is the opposition’s turn to in the Digital Competitive Precision Projectile Table Support Structure.Another feature of the monitor for the Digital Competitive Precision Projectile Table Support Structure is the display of the words hit or miss which explicitly states the actions of the player whose turn it is at that moment. So once the projectile has been thrown the infrared ball detection sub-system will detect if the ball was a hit or a miss. The result of this action will be stored into a variable, hit_miss, and the information stored within will be sent to the monitor as a string. The final feature of the monitor for the Digital Competitive Precision Projectile Table Support Structure is displaying the winner of the game. This is achieved by checking the variables stored on the Stellaris EKS-LM3S8962, cups_remainingA and cups_remainingB, to see which one reaches zero. Once one of the cups remaining variables is decremented to zero, the result of which cup area will be stored within a loser variable. This loser variable will be used within an if statement. Therefore if loser is equal to cups_remainingA, then player B is the winner. Conversely if loser is equal to cups_remainingB, then player A is the winner. The output will be displayed on the screen. Each player will see if they won or if they lost.4.3.2 User InterfaceThe User Interface is an important part of the Digital Competitive Precision Projectile Table Support Structure. It provides an additional method for the users (players) to interact with the table beyond just using it for a place to put the cups. It provides the players with simple, easy to digest information about the current game, as well as tracks and manages the currently playing teams as well as the team that is in line to play next. It is also a critical system for making sure gameplay flows smoothly. One of the major subsystems in the DCPPTSS that the group foresees being prone to faults are the infrared barrier that will detect whether the ping pong balls land in a cup or not.This issue is caused by the nature of how the infrared barrier is constructed (see section 4.2.5 IR Barrier). In order to save on cost of parts, there are only two, parallel infrared barriers on each end of the table; a miss is detected when a ping pong ball passes through at least two barriers. This means that two sides of the table on a given end are completely unable to detect a ball leaving the table. In addition, it means that throws that wildly miss the table will not be detected at all. Also, there is a possibility that a ball will not land in a cup and yet still not pass through a second barrier triggering a miss as it may land among the bases of the cups, for example.The user interface seeks to remedy this issue. Without the ability to manually designate a throw as a miss, the game will mistakenly credit teams with hits that were not earned and the flow of the game will be broken, taking some fun out of the game.Therefore, in addition to providing the players with a method to view information about the game, the user interface controls a host of unique functions that will facilitate gameplay and game flow. In order to provide this functionality, a 16 character by 2 line LCD along with three navigation buttons will be used for each side of the table. In order to display the currently playing and the next-up teams, a four-digit seven-segment LCD will be used. For ease of implementation, both types of displays will use the I2C communication protocol. Note: While the group chooses to refer to the physical “game pieces” (i.e. ping pong balls and 16oz. party cups) as part of the user interface for testing (see section 5.2.2 Test Specifications - User Interface), that is where the distinction ends. For all intents and purposes, when talking about user interface design elsewhere, the group is only referring to those parts of the user interface that are digital electronics.Current Game Status Display - In order to provide the players with information regarding the current game, a 16x2 LCD will be used. This LCD will constantly display the current state of the game until a player changes the display (see Method of Interaction, below). For a given team, it will display that team’s team number, the number of cups left on their opponent’s side of the table, and the number of re-racks that team has left. An arbitrary example of this is shown in table 1.The most important number displayed on the 16x2 LCD is the number of re-racks since the number of distractions from the game is high, and it allows the DCPPTSS to take off some of the burdens of the players. Team:15ReracksCups:3Left:2Table 1: This is a basic example of the current game information as it would be displayed on a 16x2 LCD.Method of Interaction - In order to access and activate the functions of the DCPPTSS, there must be some point of interaction with the players. Rather than having a button for each function, the group decided to use the buttons as a means to navigate a menu of functions. This way, the system remained easily scalable in case the group feels the need to add or remove functions.The buttons that the group chose to use are Sanwa OBSF-30 arcade-style buttons. Three buttons will be used for each end of the table. The buttons are momentary switches made large enough to be pressed easily. However, with all mechanical switches, there is the chance that the state of the button/switch will be unknown during the transitions before and after pressing the button due. The high and low spikes of the voltage are undesirable by the group because they may cause unintended consequences. In order to be more reliable, the group has decided to debounce each of switches to avoid that problem. The debouncer will be implemented on the Stellaris ARM processor. When a button is pressed, the debounce code will count up to a value as long as the pulse (button press) is valid. If that value is ever reached, the press will be considered valid and the button press will be registered as it should. If that value is not reached, the press will not be considered valid and nothing will happen.In order to access the function menu on a given 16x2 LCD, the player must press the middle button labeled “menu/select” while the display is showing the current game status information. Once that is done, four menu items are displayed, each corresponding to a function that a player can perform, each function controlling the flow of the game in ?some way.To exit the menu, the player need only to wait a short period of time (approximately 5 seconds) without providing any input through the buttons. After this time expires, the 16x2 LCD will display the current game status once again. In order to stay on the menu for more than the allotted time, the player must press a button again to refresh the timer. If a player selects a function while the display is showing the menu, the DCPPTSS will carry out that function as long as the player confirms the action. The following diagram illustrates this process.Navigation - For the player to be able to select and activate the function they wish to use, they must use the provided buttons to navigate the menu. The buttons, from left to right, are move cursor left (labeled “<<), “menu/select”, and move cursor right (labeled “>>”). If the cursor reaches the left-most or right-most menu item, and the cursor will wrap around to the opposite side. The following image shows an example of what the menu will look like and how the buttons will affect the cursor (@) position.Functions - Each of these functions listed here (MISS, SKIP TURN, FORFEIT, and RERACK) have their own distinct effect on the game of Beer Pong, and by extension, have their own distinct effect on the DCPPTSS.MISS is the function that will most likely see the most use by the players. This function is to be used in the case that a ping pong ball passes through an infrared barrier on the opponent’s side but does not pass through a second Figure 31: This is the simplified activity diagram for accessing the menu and/or executing a function on the DCPPTSS. The activity diagrams for the individual functions are provided below in their respective sections.infrared barrier or land in a cup. This function will also be used in the case of a wildly missed shot.Figure 32: This is a visual representation of how the menu will be navigated by the players. Red arrows correspond to the << button being pressed, and Green arrows correspond to the >> button being pressed. The arrows will not actually appear on the 16x2 LCD; they are for demonstration purposes only.When the players experience a MISS that cannot be handled by the DCPPTSS, they must activate the menu and select the MISS function. Upon selecting MISS, they must choose whether or not to confirm that function (YES or NO, respectively). If the players choose to deny the function, the display returns to the game status display. If they choose to confirm the function, the DCPPTSS attempts to find the remaining throws left for that team. If the DCPPTSS says there are 2 remaining throws, the remaining throws count is decremented and the 16x2 LCD returns to the game status display. If the DCPPTSS says there is only one remaining thow (that is, the current team missed their last through), play immediately passes to the opposing team, and the game status display returns to the LCD. This interaction is summarized in the diagram below.SKIP TURN and FORFEIT are the functions that the group decided will see the least amount of use by the players. Coincidentally, they will require the least code and DCPPTSS interaction to complete their respective functions. Both functions, when first chosen, have a confirmation display shown in the same manner as above in the MISS function. When SKIP TURN is activated, the DCPPTSS responds by passing play directly to the opposing team. When FORFEIT is activated, the DCPPTSS declares the opposing team as the winner and then creates a new game for new teams to play. The below diagram describes these two functions.SKIP TURN and FORFEIT are the functions that the group decided will see the least amount of use by the players. Coincidentally, they will require the least code and DCPPTSS interaction to complete their respective functions. Both functions, when first chosen, have a confirmation display shown in the same manner as above in the MISS function. When SKIP TURN is activated, the DCPPTSS responds by passing play directly to the opposing team. When FORFEIT is activated, the DCPPTSS declares the opposing team as the winner and then creates a new game for new teams to play. The below diagram describes these two functions.RERACK is the fourth and final function that players can activate on the DCPPTSS. There is no support for at all for automatically requesting a rerack, as it is a part of the game that can be done at any time the players choose. Since the capacitive touch cup sensors are in static locations, the DCPPTSS is unable to detect all of the cups in certain formations. For example, the DCPPTSS is unable to detect all of the cups placed in a “Power I” (all remaining cups placed vertically rim-to-rim), squares, or horizontal lines with more than three cups. Therefore, it is unfortunate but necessary that reracks that the DCPPTSS cannot detect are illegal placements.When activated, the RERACK function will (after confirmation) first check to make sure that the team that activated the function still has at least one of their allotted reracks. Then, the DCPPTSS will pause the game. While paused, the DCPPTSS will not register throws hit or missed, and will not acknowledge any other input. It will wait for all cups to be removed from the capacitive touch sensors, and the game will stay paused until all of the cups are placed back on the sensors. This will assure that the rerack is valid, and that no cups are removed from play prematurely. Once all of the cups have been placed back on the sensors, play will resume, and the DCPPTSS will once again attempt to detect hits and misses and acknowledge button inputs. The below diagram illustrates this process.Figure 33: (left) The activity diagram for the MISS function. This is the most complicated of all the functions because of the three different paths that can be taken during execution.Figure 34: The SKIP TURN (center) and Figure 35: FORFEIT (right) activity diagrams. Both are fairly straightforward and it will be simple to implement the basic functionality on the MCU.Confirmation - In order to avoid a given function being activated by a player by mistake, a confirmation screen is used. This is especially important because the functions can have extreme consequences when it comes to the outcome of the game (FORFEIT has the biggest effect). The confirmation screen will display a simple message of “Confirm?” and have two options “YES” and “NO”. Selecting YES will execute the function, while selecting NO will revert the 16x2 LCD to the current game status display.Current/Next-up Team Display (CNUTD)- To display the currently playing teams and the next-up team, the group has chosen to use a four-digit seven segment LCD. This simple solution allows prospective players to easily see what teams are playing and what team is next, to figure out how long they may have to wait until they are able to play.Figure 36: The activity diagram for the RERACK function. This is the most complicated function due to the steps necessary for the DCPPTSS to take to make sure the rerack was completed properly. It will allow for no cup to be undetected when finished.Since there are four digits in the display unit, two digits will be used for each team for each corresponding side of the table. Since there are only two digits available for each team, the team numbers will range from 00 to 99, and when 99 is reached, the CNUTD will wrap back to 00. In order to display the next up team, the seven-segment display will change between the four digits of the currently displaying team and the two digits of the next-up team. When the DCPPTSS is first turned on, the CNUTD will display 00:01 for the first-up teams. The next-up team will be 02. The display will spend 5 seconds displaying current teams before switching to the next-up team, which will display for 5 seconds before switching back. This display/switching will continue throughout the course of a game. When the losing team for a game ?is determined, that team will be replaced by the next-up team number on the CNUTD, and the new next-up team will be determined. Since the team numbers will wrap back to 00, the next-up team number will skip any currently playing teams. The following diagram illustrates this munication Protocol - For the user interface parts to work, they must be able to communicate with the rest of the DCPPTSS. Therefore, it has been decided to use the Stellaris ARM central control unit as the device that drives the user interface parts. Since the Stellaris ARM is using the I2C protocol to communicate with the MSP430s, the user interface components will also use I2C. Both the four-digit seven-segment LCD and the 16x2 LCDs only require four lines: +5v, GND, and two lines that are attached to the I2C bus. ?Each user interface component with be given its own unique ID such that they can be driven independently.Physical Layout - The user interface components will be integrated with the surface of the DCPPTSS. However, the ways in which they are integrated will be different. The 16x2 LCDs and the corresponding buttons will be constructed in Figure 37: The activity diagram for the CNUTD. This process constantly executes in a never-ending loop to allow many games to be played without resetting the system.modules that later will be dropped into the table whereas the CNUTD will be integrated directly with the surface of the DCPPTSS.The 16x2 LCDs measure 3.15”x1.43” and the OBSF-30 buttons are 1.30” in diameter. As mentioned earlier, three buttons will be used. These components will be built into two custom modules that are 6”x4”. The modules will be constructed of three layers: the components layer (top), wood mask/mounting layer (middle), and the printed circuit board layer (bottom). Both modules will be constructed at the same time to ensure uniformity and symmetry. The layers of the modules are illustrated below.Figure 38: The side view of the 16x2 LCD and buttons module. This shows all the materials required to construct the modules. Button color may vary. Not to scale.The buttons and 16x2 LCD for a single module will be positioned such that the buttons are “below” the display (that is, closer to the team on that end), evenly spaced with one another. The LCD will be placed 2.5” from the “bottom” of the module. The buttons will be placed along the bottom edge of the module. The buttons will be labeled according to their function as well. This layout is illustrated below as well as in the full table layout image.Figure 39: The layout of the buttons and the 16x2 LCD for each module. In this image, the buttons are the green circles, however final button color may vary. All measurements are in inches.Each module will be located 10 inches from each of the short ends of the DCPPTSS, and 1.5 inches from one long side of the table. The modules will be located on the left side of the cups relative to the way the player looks and opposite of the ball washing system. The modules’ locations on the table are illustrated in the full table layout image document (digital).The CNUTD will be located in the middle of the table 1.5 inches from the long side of the table. This will allow non-players to see the currently playing and the next-up teams with ease and without interfering with normal gameplay. Each short side of the CNUTD will be located 47.02” from the short ends of the DCPPTSS. The CNUTD will be placed such that the display is flush with the surface of the table. The location of the CNUTD is illustrated in the full table layout image document (digital).4.3.3 Aesthetic LED ArrayFigure 40: LED Array Decoder Wiring DiagramThis design allows a microcontroller having minimum 7 free I/O pins to be able to provide full function to 32 LEDs. 5 pins are used in a 5 decoder matrix to create a 5 to 32 decoder module. There will be 4 3 to 8 decoders and 1 2 to 4 decoder. Each 3 to 8 decoder will have an enable line. This will allow the 4 decoders to share all 3 inputs and still be able to be exclusively selected to have a selected output. The enable lines are controlled by the 2 to 4 decoder, allowing the last two input bits to control the decoder enable. The 2 to 4 decoder will also feature a an enable pin for the option of disabling all animation during the table operation.The truth table for the superficial 5 to 32 decoder is as follows:For Each 3 to 8 DecoderMCU outputDecoder output. Each Decoder will have the same output. They will vary based on the MCUs last 2 pins (3&4) The truth table will be modified by n depending on which of the four decoders is enabled. If 3&4 pin out is 00, n=0; 01, n=1; 10, n=2; 11, n=3.Pins 0-2LED(1+8n)LED(2+8n)LED(3+8n)LED(4+8n)LED(5+8n)LED(6+8n)LED(7+8n)LED(8[1+n])000ONOffOffOffOffOffOffOff001OffONOffOffOffOffOffOff010OffOffONOffOffOffOffOff011OffOffOffONOffOffOffOff100OffOffOffOffONOffOffOff101OffOffOffOffOffONOffOff110OffOffOffOffOffOffONOff111OffOffOffOffOffOffOffONTable 2: Decoder Truth TableThe Decoders must be capable of the following specifications:Supplied Voltage:3.3-5VOutput current: 20maSwitching Speed (min): 1kHzThe decoders must also be active high and the four 3to8 decoders must have an enable input. The selected 3 to 8 decoder is the CD74HC238. It is an active high, high-speed 3 to 8 decoder with enable logic. The following subject specifications are as follows: DC supply voltage: 2V to 6VDC input current: 50maDC output current per output pin=25maOutput voltage: 2V to 6VRise and fall time:2V1000ns Max1MHz switching speed4.5V500ns Max2MHz Switching speed6V400ns Max2.5MHz switching speedTable 3: Decoder Voltage and Rise/Fall TimeEach output of the decoders will go to a circuit of multiple LEDs. This will allow for a larger array of LEDs for animation. The Specifications for the LEDs is as follows:Voltage Range:1.5-6VCurrent no greater than: 50ma5mm in diameter.Viewable angle greater than 60 degreesThe typical 5mm typical round plastic bulb light LED was chosen. It’s specifications are as follows: Forward voltage (min): 3vForward voltage (typical):3.2Forward Current (rated) : 20maMaximum Reverse Bias Voltage: 5VMaximum Reverse Bias Current: 40uABecause the LEDS have a voltage difference of 2 volts in between the forward bias and reverse bias voltages, it is possible to Charlieplex the diodes. Charlieplexing is connecting two diodes in parallel, but in opposite direction. This method allows for two diodes to be controlled exclusively with only one circuit.Figure 41: Charlieplexing IllustrationCharlieplexing effectively doubles the number of diodes in a circuit, however, the unit driving the two diodes must be capable of reversing the voltage between the two terminals of the circuit. The current design using the multiple decoders would require more hardware to accommodate the reverse bias feature than if to add extra decoders to expand the output of LEDs to the equivalent number. Each circuit of diodes will be connected in parallel with one resistor to govern a safe voltage and current for the diodes to operate and a transistor receiving it’s base voltage and current from the output of the decoder. To maintain the logic convention previously specified, NPN transistors have been selected to drive the diode circuits. The transistors must meet the following specifications:Current gain >50Maximum Collector Emitter Voltage (min): 15V (=12V+25%)MinimumCollector Current: 160ma (enough) to supply all diodes in circuit.Switching speed minimum:1kHzMinimum power dissipation: 720mWIt is important that the transistor is capable of meeting all the minimum specifications in order for the decoder design to be able to power all of the diodes in the circuit sufficiently as well as meet the flicker fusion threshold frequency needed to attain the allusion of constant illumination. The chosen transistor to meet the specifications is the 2N4401 NPN General purpose transistor. It’s specifications in question are as follows:Switching speed: 250MHzContinuous collector current maximum: 600mAMaximum collector emitter voltage: 40VMaximum Emitter Base Voltage: 6VMaximum Collector Base Voltage: 60VPower Dissipation: 1.8WThe following is a simulation of the described design.Figure 42: Aesthetic LED Control SchematicIn this simulation, J1 is the switch simulating the decoder output. The output voltage is capable of falling in between 2V and 6V, but the design will consist of a 5 Volts supplied to the decoder which results in a 5 volt output from the decoders. Q1 is the transistor that is driving the current for the diodes. R1 is the resistor. Depending the amount of current and voltage needed for the diode array. This will vary based on how many diodes are in parallel. The 2N4401 transistor is rated to drive up to 600mA continuously which means we could in theory drive 30 diodes in parallel. The resistance of the diodes is considerably small and can be neglected for calculating the resistance of R1 in the circuit. Resistance can be calculated from the following equation: R1(Ω)=5Volts# of diodes(20mA)The design will be laid out in 3 separate boards. The boards will be designed using Sunstone Circuits ? PCB123 Design software. The design software was chosen for its ease of integration, economical advantage, and short learning curve. PCB 123 design software is produced by the same company that offers manufactures printed circuit board designs. The design software is also free as well as the website allows for simple ordering for students. The design software also features software video tutorials. These factors made PCB123 printed circuit board design software the ideal selection. One board will contain the microcontroller and the decoders. This board will be referred to as the main board. The main board will have two wire channel locks to connect the animation sequence control signal inputs to the board.The channel locks will have their leads connected via PCB board to the microcontroller I/O pins designated for animation sequence control. The output of the microcontroller will be connected to the input of the decoders via leads on the printed circuit board. The connections in between the decoders will also be connected via leads on the printed circuit board. The microcontroller will be connected to the printed circuit board through a 14 pin socket so it can be removed and reprogrammed if necessary. The outputs from the decoder will go to wire channel locks that will be soldered onto the printed circuit board. The entire board will be smaller than 10 square inches.In the Diagram above, the preliminary main board layout is pictured. All chips shown are dual inline packaged chips. Each chip is a 16 pin package and measure approximately 1 inch long. There are no power or ground leads shown. Pictured are the leads on the printed circuit board for lines of logic. In this current diagram, no power supply lines, leads or grounds are shown. The through hole soldering leads for external wiring is also shown. These holes appear in the figure shown above as blue dots. The two lines in the upper left hand corner in red are the input lines from the lighting animation control signal. They lead into the microcontroller. The two red leads directly below P1.0 and P1.1 are two of the 5 pin output of the microcontroller going to the 2 to 4 decoder. The tan colored lead to the left of the 2 to 4 decoder is the enable line for the 2 to for decoder. This enable line is attached off of the printed circuit board to two switches in series for both teams to have the ability to disable the lighting animation sequences without restarting the microcontroller. However, in the event the microcontroller is no longer functioning properly or found unresponsive, reset will be available through push button wired to the printed circuit board. The red, green and blue leads crossing through the center of the printed circuit board Figure 43: Main Animation Board Illustrationrepresent P1.2 P1.3 and P1.4, the other three control lines on the MSP430G2231 microcontroller. The tan lines connected in between the 3 to 8 decoders and the 2 to 4 decoder represent the outputs of the 2 to 4 decoder going to the enable line of the 3 to 8 decoders allowing the 8 unique outputs to become 4. The blue dots located in close proximity of the 3 to 8 decoders are the through holes for wires to be soldered into. These will be the outputs of the decoder going to the boards for driving the diodes.The second board will contain the transistors responsible for driving the diode circuits. The board will also have wire buses that will connect multiple leads, 8 total, to the transistor’s collector. The board will have carbon film resistors. The resistance is calculated for 8 diodes to be powered with sufficient current. A total of 32 transistors and 32 transistors will be included between the diode driving boards. This board is responsible for relaying power to the diodes. It will exist as two boards. One board will be located with Region 1 and the other board will be located with Region 2. This will be an extremely small board only containing diode buses, resistors and transistors.Figure 44 is the preliminary design for the diode driving board. The white triangles represent the transistors. The brown corndogs represent the resistors, and the white rectangles with violet dots represent wire busses. The violet dots shown at the bottom of the printed circuit board in the diagram are the 5 volt input lines from the decoders. There are 16 on each board totaling 32 between the two boards for Region1 and Region 2. These violet dots are through-hole solder points for wires. They are connected by leads in the printed circuit board represented in blue lines to the base node of the transistor. The green line represents a parallel bus line for all of the transistors to use for their emitterFigure 44: Aesthetic LED Control Illustrationnodes. This will be the current sink for all of the circuits. They all share a common ground. This ground runs through a printed circuit board lead over to a through hole solder point for a ground wire to be connected. The collectors of transistors are singly connected to their own respective resistors by a printed circuit board lead shown in red. The other nodes of the resistors are connected to large contact pads through printed circuit board leads shown in red. These contact pads are the wire busses that will connect to multiple diodes. Each wire bus will connect each of its 8 outputs to 8 different diode housing boards. The third board will contain the housing for the diodes as well as the PCB responsible for their electrical connection. The housing for the diode will be 1cm tall by 1 cm wide and 1 foot long. There will be predrilled holes, 5mm in diameter. These predrilled holes will hold the diodes securely and below the level of it’s surface allowing it to be safely mounted to the acrylic. Underneath, mounted to diode housing is the printed circuit board. Attached to the printed circuit board will be a power rail to decrease the number of wires attached to the printed circuit board. This will minimize user error and clutter around the circuit board. The only leads from the diode board will be the connection from the diodes cathode to the resistor on the transistor diode driving printed circuit board. The positive bus will be connected to the main system power source and to the anode of the diodes. There will be a total of 16 of Board 3 type. The diode housing board will be the only board having its special encasing for printed circuit boards’ water protection.Above is the figure showing the preliminary design of the diode housing board. The diode housing board will be mounted beneath clear and colorless acrylic. The blue lobes and circles represent the Light Emitting Diodes in both diagrams. The diodes are measured with a diameter of 5mm and a height of roughly 8mm. The banana cream colored block represents the plastic housing that the diodes will be seated inside. Attached underneath the diodes will be the printed circuit board. The printed circuit board will contain 16 diodes total, diodes (0 through F). Figure 45: Aesthetic LED Placement DiagramThe far left purple dot in the bottom view diagram is the through-hole solder point that the wire connection for the 5 volt positive power supply will feed the diodes. The purple dots featured at the bottom of the printed circuit board represent the through-hole solder point for the wire to connect each diodes cathode electrically to individual wire bus connections. Each board is 1 foot long.These boards will be placed around the perimeter of the regions 1 and 2. The main board will be located in region 0 to one side in between region 1 and region 2. Below is a diagram containing examples of the diode driving boards and the diode housing boards’ connections. Adjacent to that figure is a figure featuring the other all layout of the light animation system.Half of the decoder outputs will be used for Region 1 and the other half of the decoder outputs will be used for Region 2. Region 1 will have outputs 0-15 and Region 2 will have outs 16-31. Each Decoder output will drive one 2N4401 NPN transistor connected to a circuit of 8 parallel LED diodes and one transistor. Each transistor is capable of delivering 600mA of current. Each circuit of LEDs will require 160mA. One transistor will be enough to suffice the needs for driving each diode circuit. The resistor value to deliver 20mA to each diode is 31.25. The closest produced resistor with equal or higher value, so we don’t burn out our resistors with too much voltage or current, is 31.6 Ohms. It is possible to create the optimal resistance but that would require making a matrix of resistors in parallel or in series, which increases our overall area for out printed circuit board. Each side of the perimeter of Region 1 and Region 2 will contain two identical outputs from that Regions total decoder output pins. Each Region is assigned 16 decoder outputs total. In total, each side will have a total of 32 diodes equally spaced throughout side of the perimeter. The sequence in which the outputs of the diodes are electrically connected are also kept in the same order throughout all 4 sides of the Region’s perimeter without using the same output again before all of the other diodes have been placed on the perimeter.Figure 46: Aesthetic LED Wiring DiagramFigure 47: LED Perimeter ConfigurationIn order to achieve equal spacing, each diode will be spaced .75 inches, or 20mm apart center to center from each other.The microcontroller will be responsible for taking in two signals from 2 input pins and creating the 5 pin signal output for the decoders. The MSP430G2231 will be selected microcontroller. The MSP430G2231 is part of Texas Instruments’ MSP430 Value Line microcontroller product line. This microcontroller has easy programmability because the 430G2 Value line series contains a launchpad development toolkit. This kit is capable of programming the microcontroller through a JTAG bootloader built in controlled through a computer based program via USB. The computer program allows the user to program in the language C or in assembly. The development kit also includes the MSP430G2231 microcontroller, making it an economically superior choice. The MSP430G2 Series operates under the following conditions:Supplied Operating Voltage: 1.8-3.6VDigital (I/O) pins: 9Memory: 2kB FlashClock frequency: 16MHzIn the design, 2 of the microcontrollers I/O pins will be used as inputs to determine what animation sequence to execute. The pins on the MSP430G2231 available for I/O usage in the DIP package are 2,3,4,5,6,7,8,9,12,13. Pins 8 and 9 which are P1.6 and P1.7 respectively will be used for input of the animation sequence control signal. P1.6 will be the LSB and P1.7 will be the MSB). The output pins for the decoders will be 2, 3, 4,5,6 which are P1.0, P1.1, P1.2, P1.3, and P1.4 respectively. P1.0 will be the least significant bit and P1.4 will be the most significant bit. This arrangement was chosen because the Dual Inline Package form of the MSP430G2231 microcontroller has both pins 8 and 9 on opposite side of the chip that pins 2-7 because it is a 14 pin package chip. In order to keep a simple design, all input signals were placed on one side of the microcontroller and all output signals were placed on the opposing side of the chip. This will help with the layout design on the printed circuit board with the microcontroller and decoders. Pin Value (MSB,LSB)01=5V0(0,0)Random(0,1)=Team 1 encircle1=5V(1,0)=Team 2 encircle(1,1)=Halt FlashTable 4: Animation Truth TableFor better understanding of the animations animation diagrams will be used to illustrate the patterns being executed. The horizontal axis will represent the diodes 0 through F on each side of the perimeter. The diagram will not contain both sets of diodes 0 through F that run per side, only one set. The time scale will be the vertical axis of the diagram. The time scale has no unit unless specified. In the microcontroller, the main loop will check to see the status of the two animation control input signals. If both are zero, then the microcontroller will begin to run the random animation sequence. The random sequence will use a modulo operation to select it’s subsequence and the number of cycles for the subsequence not to exceed 10 cycles. The Random Sequence is a group of smaller sequences that will be run contiuously without delay until the animation control signals change. . The microcontroller will enter the subsequence loop in the program which will consist of instructions in a while loop format. Before the subsequence loop runs, there will be a predetermined number of cycles that will be execute stored inside of a variable outside of the loop for termination of the subsequence loop once it’s ran to its duration. The sequence loop will be 1 cycle long. After every completion of the subsequence cycle, the variable containing the number of loops to be executed will be decremented. Once the loop counter variable has reached zero, a branch if zero instruction will be executed to exit the loop. The first subsequence of the random sequence is the Rock. The Rock will have lights alternate from one end of the array to the other end of the array continuously. The Rock will take will take 1 second to complete a full cycle. A full cycle is from the beginning diode 0 consectuively powering on and off every diode to F. Once at diode F the microcontroller will being powering on and off every diode consecutively down back to the orginal 0 diode. This completes one full cycle of the Rock.The microcontroller’s subsequence will start by activating the first diode for a period of time equal to 1/32 of a second. To power on the diode, the microcontroller will output the correct logic to the 5 pins neccesary for the decoder to provide the specified output. The program will run the instructions for outputting the diode pattern, the subsequence will then decrement the loop termination variable. The while loop will continue to run until the loop termination value is zero. The Rock animation diagram is illustrated in Figure 48.Figure 48: RockFigure 49: BounceFigure 50: RollThe second sequence embedded in the random sequence is Bounce. Bounce runs at the same frequency of 1 Hz. The Bounce sequence starts with the inside diodes (7&8) and powers on and off the adjacent diodes i.e. (6&9) then (5&A) and so on. Once the Diodes 0 & F are powered on and off, the sequence will begin to power on and off towards the original diodes completing the cycle at diode 7 & 8. The microcontroller program will run very similar to the rock animation subsequence, but with a different order to the diodes lighting sequence. An animation diagram is shown in Figure 49. The third sequence in the Random animation is the Roll sequence. The Roll sequence runs at a full cycle of 1 second. The roll sequence starts at the two ending diodes 0 and F. Diodes 0 and F powered on, but unlike the other two subsequences, the roll sequence does not power off the diode. The next adjacent diode is then powered on and continues until the diodes 7 and 8 are powered on. Once this point is reached, the diodes 7 and 8 will both be powered off. Directly after that, the adjacent diodes will then power off until the diodes 0 and F are reached. The microcontroller’s program will run differently than the first two subsequences. For this subsequence to work, the microcontroller will have to alternate it’s outputs to emulate constant lighting from all of the diodes since the decoder is only capable of only have on output supplied at a time. The program will start by powering on and off the diode 0 at a frequency of 1kHz. In order to simplify the constant diode lighting code, an embedded for loop will run for each portion of the subsequence. When the second diode powers on, an embedded for loop containing both the 0 diode, the 1 diode, the F diode, and E diode will continuously loop for a specified period of time at a frequency of 1kHz. Every time another light is added for the following portion of the subsequence a new embedded for loop will run containing the new diode with the embedded for loop executing in 1millisecond. Once the diodes 7 and 8 are reached, the program will then reverse through the embedded subsequence for loops until the original diodes 0 and F code is running. The program will then decrement the loop termination variable. The animation diagram of the Roll subsequence is shown in figure 50.The final subsequence of the random animation sequence is the skate subsequence. The skate subsequence will consist of a pattern of lights powering on and off out of order, but in groups of diodes that aren’t adjacent to each other. The pattern will run for one cycle. The full cycle in this subsequence will have duration of one code loop no longer than 1 second. The subsequence will start with diodes 2, 5, 8, B, D. The pattern will then power off those diodes and power on the next diodes, 1, 4, 9, A, E. The pattern will end at the end of the code loop to complete one cycle. The microcontroller will implement this in code by using embedded for loops similar to the roll subsequence. Depending on the requested decoder inputs of the user. The microcontroller will loop through the diode outputs at a frequency of 1kHz for a total duration of roughly 1/16 of a second. The microcontroller will then execute the next embedded for loop powering on and off a different specified group of diodes. After the program has executed all 16 embedded for loops inside the subsequence, a full cycle is completed. The animation diagram for the skate subsequence in the random animation sequence is shown in figure 51. That completes all of the subsequences in the animation sequence Random. Figure 51: Scatter Figure 52: Circle Figure 53: Halt FlashThe next sequence is the Team 1 encircle sequence. While the microcontroller is in operation, it will constantly check the status of the two animation control input signals. If the animation control signals are MSB=0, LSB=1. Then the microcontroller will jump into the Team 1 encircle sequence. The team 1 encircle sequence simulates a rotating ring of lights around the perimeter of region 1. There will be no animation in region 2 or region 0. The ring will have 8 diodes running simultaneously during the entire duration of the Team 1 encircle sequence. An entire revolution around perimeter of the region will take 4 seconds. Each diode cluster defined by the adjacent diodes 0 through F will run for a total of 0.5 seconds per cycle. This will give each side a total of 2 cycles equivalent to 1 second. All four sides of the region will total an operation time agreeing with the previous revolution time. The pattern will start with the diode 0 powering on and off and then the next adjacent diode in the cluster will power on and off. This pattern will continue until the diode F is reached. Once the diode F is reached the pattern will repeat itself. Each light will be powered on for 1/32 of a second. This loop will run until the microcontroll receives a different input on the animation control signal inputs. The microcontroller will implement this program with one while loop. The loop will contain the sequence pattern with delays to create the specified timing needed for the pattern. The animation diagram for the Team 1 encircle is shown in Figure 52. Another sequence programmed into the microcontroller is Team 2 encircle animation sequence. If the microcontroller is running and the animation control signal inputs are MSB=1, LSB=0, then the microcontroller will execute the animation sequence Team 2 encircle. The Team 2 encircle animation sequence is the same as the Team 1 encircle animation sequence. The only difference between the two animation sequences is the region they operate in. Team 2 encircle animation sequence only operates in region 2. The Team 2 encircle animation sequence also operates in the same clockwise direction around the perimeter of region 2. The animation diagram shown for Team 1 encircle animation sequence shown in Figure 52 can also be used for referenece for Team 2 encircle animation sequence. While the microcontroller is operating, if the animation control lines become MSB=1, LSB=1, then the microcontroller will execute the Halt flash animation sequence. The Halt Flash animation sequence will run inside both region 1 and region 2. During the Halt Flash animation sequence, all of the diodes will appear to be operating together to create one lighted perimeter around both region 1 and region 2 for a total of 1 second. The Halt Flash animation sequence will toggle in between all of the diodes active and all the diodes off with each having duration of 1 second. The microcontroller will execute the following with a coded while loop. The loop will power on and off every diode output by cycling through all 32 combinations of the 5 pin decoder input. The microcontroller will run this cycle at 1kHz. This program will continue operation until the animation control signal inputs are no longer MSB=1, LSB=1. The animation diagram for the Halt Flash animation sequence is shown in Figure 53. 4.3.4 Cup SensorsEach cup sensor unit will combine the capacitive touch unit, used to detect the presence of a full cup, with five RGB LEDs and the TI TLC5940 LED driver. Each unit will then be connected to a MSP430 which will control the functionality of each cup sensor. The MSP430 will interpret the capacitive touch data and relay it as game state data to the master Stellaris ARM core.Figure 54: Cup sensor block diagramAt the beginning of each game, each of the six cup sensors on each side of the table will be initialized to display a different color. Players on either side of the table will select their team color by placing a cup on one of the cup sensors, and filling said cup. Once the system detects a change in capacitance of the cup being filled, all cup sensors on that team's side of the table will be set to display the selected color. The MSP430 on that side of the table then signals the Stellaris with a ready to start game message. Once both sides of the table are ready, the game will begin. The activity diagram in figure 55 illustrates this process.Once the game has begun, the MSP430s on each side of the table will continuously monitor the capacitance values of their six respective capacitive touch sensors. When a ball is made into a cup, the player on the side of the table where the cup is will remove the cup. This will change the capacitance of the sensor at that position. Upon detecting this change, the MSP430 will notify the TLC5940 connected to that cup sensor to turn off its respective LEDs. Finally the MSP430 will notify the Stellaris central controller of the removal of the cup, updating the current game state data in the Stellaris. The MSP430 will then go back to reading the capacitive touch sensor values, waiting for another cup to be removed. When the last cup on either side of the table is removed, the LEDs for that cup sensor are turned off, and the MSP430 notifies the Stellaris that the game is over.Figure 55: Beginning of game/team selection sequence diagramTo make the entire table as universal as possible, standard size disposable plastic cups will be used to hold beer. Coincidentally, the Texas Instruments capacitive touch unit is the same size as the bottoms of said cups. This allows for LEDs to be placed around the capacitive touch unit in a circle with a circumference slightly larger than that of the cups. The layout of the unit is illustrated in figure 57.Figure 56: Cup sensor subsystem game behavior sequence diagramFor each capacitive touch unit, only a single port is required to read the charge/discharge cycle counts which determine the presence of a cup. As such, all six sensors on one side of the table will be connected to a single MSP430. The MSP430 will continuously measure the capacitance of each unit, in order to keep the Stellaris central controller updated with current game state data. Figure 57: Cup sensor unit layoutThe code to measure the capacitance of each unit is relatively simple. This application of the Texas Instruments capacitive touch unit will make use of the RO (relaxed oscillator) method of capacitance measurement. This allows the measurements to occur without using much CPU power, due to the high frequency of charge/discharge cycles compared to the frequency of the CPU. A interrupt timer will be used to activate the measurement of the capacitance of the capacitive touch unit. As it will take approximately a whole second to remove a cup from the cup sensor unit, the interrupt need only trigger once a second, or even less. Once the interrupt has been triggered, the interrupt service routine will measure the capacitance of each cup sensor for a fraction of a second, and compare that number of charge/discharge cycles with the previous count of cycles. If the change is above a certain threshold, approximately one thousand cycles (much higher than the change in cycles due to environmental noise), the system will interpret this as a change in the presence of the cup at the sensor being measured. If any changes in the presence of cups were measured, the routine will send a bit stream to the LED driver of that sensor to turn off the LEDs, as well as notify the Stellaris controller of the update to the game state.Designing the system without the use of some advanced or specialized integrated circuit proved to be extremely difficult. In order to fit six cup sensors in the relatively small space of the cup area (a triangle, one foot long on each side), and still have the rims of each adjacent cup touching when they are in the play area, each unit must have a diameter less than or equal to the maximum diameter of 3.875". This means all the circuitry for each unit must also fit into this small area, unless the controlling circuitry is made remote from the unit using ribbon cable or some other form of path bus, which will complicate the entire system design even more.On top of this limitation, there is also the issue of limited input/output pins available on each MSP430. Even if one of the largest DIP package of the MSP430 (20 pins) were to be used, the number of available pins is still too few to realize the schematic below. If this design were to be used, each cup sensor unit would require its own MSP430, as there are no MSP430 packages with the ninety six pins required to drive ninety LEDs and read values of six capacitive touch units. Adding to the complexity of this design, a large amount of tuning/calculation would be required to bias each photo diode effectively in order to mitigate intensity variation and generate consistent and vibrant colors.Figure 58: Direct control of cup sensors with MSP430 wiring diagram for one side of tableDue to these limitations, it was decided that Dot Correction will be necessary. Therefore the five RGB LEDs on each cup sensor unit will be driven by a single Texas Instruments TLC5940. Because the TLC5940 is a current sink, all the LEDs will be of common anode configuration. The anode of each LED will be connected to a common voltage supply for all the LEDs. Each cathode of each LED will be connected to a separate pin of the TLC5940. As there are five LEDs per cup sensor unit, fifteen output pins of the TLC5940 will be used, with one remaining.A RGB LED was acquired to prototype the above design. For this test LED, the current requirements are 30mA for green and blue, and 50mA for red. In order to supply the required current for each color, without blowing out another color, dot correction will be used on each pin. If LEDs of this type are used in the final design of the sensor unit, the external resistor required to set the maximum current IMAX to 50mA will need a resistance of 780Ω.RIREF=1.24V.05A*31.5=781.2ΩOne great benefit of using the TLC5940 current sink to drive the LEDs, instead of some less intricate method, is the TLC5940 has EEPROM memory for dot correction. This will allow each unit to be programmed once, and require no reprogramming. The dot correction values will need to be determined once the LEDs which will be used have been acquired, as they will vary from LED to LED.Another benefit of using the TLC5940 is its grayscale PWM capability. In order to actually turn the LEDs on and off, grayscale values for each pin will be transmitted to the chip from the MSP430 controlling it. Pulse width modulation on the TLC5940 is controlled by a twelve bit word for each output pin, allowing for 4096 brightness steps, ranging from 0% to 100% brightness. For this application, the LEDs will only be turned on and off, and not pulsed or set to some dim brightness. As such, the only values which will be used for grayscale control will be 0 and 4095.Because not all the functions of the TLC5940 will be used in this application, some pins of the chip need not be connected to the MSP430. The layout illustrated in figure 59 will be used.For each TLC5940, the pins which are always grounded will make the chip function in the following manner:VPRG=GND enables grayscale controlBLANK=GND enables the chipDCPRG=GND sets dot correction to use EEPROM valuesSOUT=GND disables serial outputXOUT=GND disables error outputA single output pin of the MSP430 will function as the serial communications clock (SLCK) which will be shared among all cup sensors. Only grayscale values will be transferred through serial communication, and the desired update rate of the LEDs is 100Hz. Thusly, the frequency of the SLCK will need to be 19.2kHz.fSCLK=16pins*12bits*100Hz=19200HzAnother output pin of the MSP430 will function as the grayscale clock. It will function at a frequency of 409.6kHz. fGSCLK=4096grayscale values*100Hz=409600HzFigure 59: Cup sensor subsystem wiring diagram for one side of table4.3.5 Infrared BarrierDue to the complexity of the requirements of the barrier, multiple design approaches have been developed, in an attempt to overcome as many of the hurdles imposed by the design problem as possible. Prototyping and early testing will determine which design is chosen for the final version of the DCPPTSS.One limiting factor in the design of the infrared barrier is known as the Nyquist Sampling Theorem. The Nyquist Theorem states that an analog signal may be fully reconstructed from sampled data if and only if the sampling frequency is at least twice the frequency of the signal frequency. This theorem can be extrapolated to the infrared barrier application. In order to be sure a measured interruption of the barrier is valid, and not simply some form of noise or interference, at least two emitter/detector pairs must lie within a distance equal to the diameter of the ping pong ball (for the purpose of this document, the diameter of a ping pong ball will be assumed to be forty four millimeters), as this will likely be the smallest diameter object to pass through the barrier in any circumstance. Single Sided Plane - The single sided plane design was the first theorized design which satisfied all the requirements. In this design, the emitter/detector pairs will lie within the same unit. The emitters must have a long enough range to reach from the surface of the table to the standard height of a room ceiling (between ten to twelve feet); with the emitted light remaining intense enough to be reflected back down to the detectors embedded in the unit by any object which enters the plane.As stated earlier, theoretically, there must be at least two emitter/detector pairs within a distance of forty four millimeters. This means there must lay fourteen pairs per foot.1ft=304.8mm304.8/44=6.927The barrier unit will lie within the plane of the DCPPTSS, in order to be as unobtrusive to the game as possible. The unit will have a length equal to the width of the table, and a width of between one half to one and one half inches, depending on the dimensions of the emitters and detectors embedded within it, and the space required for PCB traces. Emitters and detectors will be arranged within the unit in alternating pairs, in order to maximize the chances of detecting an object. See the figures below for a visual aid.Figure 60: Layout of emitters and detectors in single sided designThe circuitry for the configuration above may be realized in many different ways. Depending on if ambient light filtering is used, and how detection is actually measured, the circuit elements may be radically different. In one possible configuration, the output of each detector is compared against a threshold voltage using a comparator. The output from each of these comparators is then ANDed with the output from the comparator of the detector on its left, as well as the output of the detector on its right. The outputs of all these ANDing operations are then ORed, creating the final output. This realization is illustrated in the following figure.Figure 61: Custom object detection circuit for single sided designIn this configuration, it is assumed that if a ball passes through the barrier, it will be detected by two adjacent detectors at the same time. If ambient light filtering is desired, the output of the emitters may be modulated by running each of them in series with a properly biased Bipolar Junction Transistor (BJT) or Metal Oxide Substrate Field Effect Transistor (MOSFET). The output of each detector must then also be filtered using the method described in the research section 3.2.7. The drawback to using a pulsed output is it requires more circuit elements. As the power supply for the DCPPTSS will be a normal direct current power supply, the voltage input to these transistors driving the emitters will need to be modulated by some integrated circuit capable of Pulse Width Modulation.This barrier design is the one that could benefit most from driving the emitters with a square wave, as described in the research section 3.2.7. Using this method would allow the barrier to operate over a much larger height by increasing the distance the infrared light travels. This increase in barrier area could make the difference between being capable of detecting objects passing through the single sided barrier all the way up to the ceiling of the room housing the DCPPTSS; and not being able to detect the object at all. The second benefit is that it would also increase the chance of correctly detecting an object passing through the single sided barrier in general. With more infrared light being emitted, it increases the amount of light which will be reflected off the object and sent back towards the detectors. This method would also raise the threshold voltage the comparators would need to be set to, as the voltage across the detector will be larger with more current passing through it. Increasing this threshold would decrease the chances of incorrectly detecting an object due to noise, ambient infrared light, or some other environmental factor.Emitter/Detector Rail Pairs - The single sided rail configuration described above suffers from some problems. Being single sided; it relies on the reflection of infrared light off an object in order to measure the presence of an object in the barrier. If the level of reflected infrared light is too low, if the infrared light which is reflected is reflected at an angle away from the detectors, or if only a single detector detects the presence of a ball passing through the barrier, the barrier will not correctly interpret the data.These issues may be resolved in an easy fashion. In most of today’s applications of infrared barrier technology, there are two sides to the barrier, as described by the garage door opener unit in the research section of this document. On one side of the barrier lies the emitter and, across a distance, on the other side is the detector. The same idea can be used in this barrier application. By using two rails, instead of just one, with each containing only emitters or only detectors, the problem of relying on reflection is eliminated.Using this configuration, in the normal state, emitters are always shining on the detectors, resulting in a low output voltage from each detector. This voltage will remain relatively constant as long as nothing passes through the barrier. When an object passes through the barrier, the object will block the infrared light of the emitters from reaching the detectors. This results in a higher output voltage measured across the detectors.Figure 62: Emitter/detector rail pair design illustrationThe drawback to this design however, is that the design violates one of the main objectives of the unit. In the optimum design, the unit will be completely unobtrusive to game play. Using two rails will be rather obtrusive to the actual game play. The rails will have to be mounted vertically on the sides of the table. In this configuration, the rails could possibly become pillars for the ball to hit and ricochet off of. If during prototype testing the other designs do not work out, this design will be the fallback, as it is a tried and true, well tested solution to the barrier problem.Discretized Table Array - The final design is a compromise between the two designs, single sided rail, and rail pairs, described above. In the discretized table design, there will be four rails running along the edges of the DCPPTSS surface. These rails will protrude approximately six inches from the surface of the table; this way the barrier will exist in a plane just above the rims of the cups used to play the game. The rails will have a width which will be determined during prototyping and will be minimized depending on the size of the parts embedded into the rail. Each of these rails will be set up much in the same way as the emitter/detector rail pairs described earlier. For each dimension of the table (length and width), the rails running parallel to each other will work exactly as the rail pairs from above do; emitters always shining on the detectors, and the system detecting objects passing through the barrier by the lack of illumination of the detectors. Figure 63: Discretized table design illustrationUsing this configuration, the table surface will be able to be discretized into measurable units, much like a Cartesian plane. When a ball is thrown by a player, as long as it actually hits the table, the system will be able to determine the exact position on the table where said ball landed. This is achieved by knowing the location of the detector(s) which measured the presence of an object, in both dimensions (x and y). The intersection of the rays which can be imaginarily drawn across each pair of emitters and detectors will be the position in which the ball crossed the barrier. This design does have its own drawbacks however. If a player playing on a table with this barrier design integrated into it whiffs a ball, and the ball never actually touches the table, the DCPPTSS will have no way of determining this. In this configuration, the system will rely solely on the players of the game to notify the system, either through the user interface or in some other fashion, that the shot was a miss. Again, if this design is deemed to be less costly, either monetarily or overall design/integration complexity, than the other possible designs, it will be chosen and integrated into the system.In all the preceding designs, the barrier will function in a very similar fashion to determine a hit from a miss. For the designs in which there are two planes of infrared barrier (Single Sided and Rail Pair), when the system detects an object passing through the front barrier (the barrier closest to the middle of the table), it will then attempt to detect the object passing through the rear barrier within a small period of time which will be determined and refined during the prototype and testing phase. If the object is detected passing through the rear barrier during that time period, the shot will be determined to be a miss. If the object is not detected by the rear barrier, the system will assume the ball must have landed in a cup, and label the shot a hit. Distinguishing a hit from a miss in the discretized table design will work in the same way, except with only one plane. When a ball is thrown, the system will try to detect where it crossed the plane. It will then attempt to detect the object passing through the plane again within a period of time. If the object is detected a second time, it will be assumed the ball bounced off of the surface, which implies a missed shot. This design does have one advantage over the others in that the exact location of the object passing through the barrier, in both dimensions, will be able to be determined. Because of this, entire areas/sections of the table will be able to be programmed as “miss” areas, requiring less calculation and measurement. Another option for designing the barriers is to use a MSP430 with more general purpose input/output pins. This would eliminate the need for complex custom circuitry as shown in the single sided design. Texas Instruments manufactures MSP430s ranging from ten GPIO pins all the way up to eighty seven. Using one of these high pin count chips, the detection process for the barriers would be isolated completely to the software side of the design, making the process much more simple. It could possibly make the designs cheaper to manufacture as well, since even the eighty seven GPIO version costs around four dollars. The drawback to using these large MSP430 models is they are only available in surface mount packages, making the printed circuit board design much more complex, as well as making the soldering process much harder. One way to counter the difficulty involved in soldering surface mount integrated circuits would be to use sockets mounted to the printed circuit board, and plug the MSP430s into them. This would also come in handy in the case of a blown circuit, as replacement of the chip would simply involve removing it from the socket and replacing it with a new chip.In all the hardware designs detailed herein, functionality is roughly the same. Each design relies on detection of an object passing through multiple barriers or through the same barrier multiple times. Due to limitations in number of pins available on the MSP430, as well as other limitations, some of this detection process will be handled purely in hardware; as illustrated in the design section earlier. Figure 64: Object detection interrupt sequence diagramBecause of this hardware abstraction, the code for the detection process is relatively simple. The input pin will go from low to high only when the barrier has detected an object with more than one detector element. This will trigger an interrupt within the code. The interrupt service routine for this interrupt will check an internal counter for a value of one, which will indicate if the pin has gone high within the window of time determined to indicate a miss. If this is the second time the object has been detected by the barriers, the system will determine the shot as a miss, resetting the counter to zero and clearing the interrupt flag. If the internal counter is zero when the interrupt is triggered, the counter will be incremented and a timer will be started. If the timer runs out, the previous detection by the barriers will be determined to result from a made shot. The timer will reset the counter to zero and communicate to the Stellaris controller that a shot was made, and it should wait for a cup to be removed to change the game state/score. Figure 64 illustrates this process.Using a MSP430, with enough pins to connect each detector to a single pin o the chip, to respond to changes in the state of the barrier would not change the software design much at all. In this configuration, the interrupt service routine described earlier may simply be triggered by more pins transitioning.4.3.6 Ball WasherThe size of the reservoir had to be minimum 3 times the size of the of two ball wash units to ensure that the total volume of water inside of the reservoir could hold everything inside the ball washers and still keep the pump safely submerged as well as contain all the water inside of the entire system when the table is not powered. The pump and UV sterilizer will be a single inclusive unit. The pump will feed to the ball collection reservoir via vinyl tubing. The vinyl tubing will be ? inch in diameter. The vinyl tubing will be secured by plastic zip tie to the frame of the table. The vinyl tubing will enter directly from under the ball collection reservoir to supply circulating water. The water will enter from the bottom of the container to help reduce residual debris in the ball collection reservoir. The UV sterilizer will run using a fluorescent tube at a wavelength of 265 nanometers. The pump has a flow rate of 200 gallons per hour. The pump will operate on 120 VAC power supplied through the main power supply system. This was done to minimize area taken under the table. The pump will be enclosed inside of the water reservoir. The water reservoir will be located under the table in the center next to the main power supply unit. The water reservoir will be secured to the frame of the table using metal alloy nuts and bolts. The water reservoir will be made of acrylic panes adhesively connected using silicone sealant. The water reservoir system will contain a large diameter lid through which the power cables for the water pump UV sterilization systems will run. The diameter will be large enough to accommodate the water pump and UV sterilizer. The dimensions of the water reservoir are 8 inches wide by 8 inches long, by 6 inches tall. These dimensions have a maximum capacity of 1.66 gallons. The water reservoir will be the lowest part under the table. This is to prevent electrical hazards when draining the water reservoir. The drain for the reservoir will be a simple butterfly valve made of PVC for emptying the water out of the water circulation system.Figure 65: Ball Washer ReservoirFigure 66: Ball Washer Layout IllustrationThe ball wash reservoirs will be made of 4 inch reducers. The 4 inch reducers will be PVC molded in design with a modified outlet port for drainage back to the reservoir. The drainage pipe will be constructed from schedule 40 ? inch PVC. The ball wash reservoir will be mounted and sealed directly to the acrylic board. The PVC will consist of 2 runs of 4 feet with one 90 degree bends. Once water reaches a predetermined depth in the ball collection reservoir, the water will spill over back into the return line of the water circulation system back to the pump. The PVC return lines will be mounted underneath the table to the frame of the table using pipe clamps. Figure 67: Ball Washer IllustrationThe water circulation system will be tested for the following features:Leak TestingSterilizationCirculationThe leak test will be performed by assembling the entire circulation piping system and reservoirs. The reservoirs will be assembled by use of silicone sealant for the water reservoir and PVC cement and primer for the PVC piping on the return line and ball collection reservoir. The entire system will sit for a total of 3 hours to look for signs of any stray moisture.To test for sterilization, the water pump and UV sterilization unit will be immersed into a container of water containing a green phytoplankton. The system will left outside in ambient conditions to monitor growth and mortality rate of the algae cells. The duration of the test will last 1 day and will be compared to a control system without a UV sterilizer also exposed to ambient conditions outside. The clarity of the water will be used to determine the effectiveness of the sterilization of the UV light. If the sterilization isn’t sufficient, the system will be redesigned by slowing the flow rate of the system. A sufficient result is defined by perfect water clarity without any measure of coloration. The circulation portion of the testing will be measured in a qualitative analysis. The circulation will be measured for continuous system flow without overflow. The system will also be checked for maximum capacity. The circulation test must also be able to observe the water reservoir level drop. The reservoir cannot drain below the level of the pumps intake.4.3.7 PowerThe power supply system will consist of the main power supply unit and all buses, cables, and wires responsible for delivering power to the different subsystems involved inside of the entire design. The main power supply will be the only unit receiving power from an outside source delivering power at various voltages. The specifications for the main power supply unit are as follows:Power delivered at 120VAC, 12VDC, 5VDC, 3.3VDCAble to run continually for a period of continuous operation at systems maximum current rating for over 6 hours.Equipped with functional unlimited use surge protection system & Ground fault InteruptionIntake power from a 120VAC 60Hz The main power supply is only responsible for taking in power from a mains source of 120VAC 60Hz and safely converting it into many rails of other voltages mentioned above. Other circuitry and be added to create any other special forms of power used for subsystems. When considering the specifications of the described power supply unit, instead of building a power supply unit, it was determined more desirably to purchase a pre-engineered power supply unit. A pre-engineered power supply unit already has been tested for safety hazards, is designed spatially compact, built to operate at safe temperatures for extended periods of time, and can be selected to meet exact specifications to minimize design and testing efforts on the power supply unit. To incorporate different voltage levels without multiple power supply units, a computer power supply was chosen as the main power supply unit. A computer Power Unit (CPU) can be tailored to supply the rated current for each of the supply rails without purchasing a unit that is over designed for necessary values. A CPU is also capable running without limit on operation hours and features extremely stable voltage levels. The computer power supply diagram is featured above. The power supply takes in power from an electrical socket. The power plug accepting mains power from an electrical socket is shown on the left side of the illustration. The black wire is known as the “hot” wire. The hot wire actually carries live voltage on the power cable from the main distribution board. The white wire is known as the neutral. The neutral line is the other half of the power circuit. The green is a ground used for safety projection. The orange wire is the 3V line. The 5V line is red. The 12V Figure 68: Power Supply Wirespower rail is yellow. The green line is the power signal cable. The power signal cable, when grounded, turns all other leads on from the power supply. The green power signal cable will be used as a master power switch for the entire table. The master switch will be a circuit consisting of a knife switch in between the grounding cable and the green power signal cable. The master power switch will be mounted below the table adjacent to the power supply unit. The master power switch will be mounted to the frame of the table by metal alloy nuts and bolts. The power supply unit will be mounted underneath the center of the board next to the water circulation reservoir. The power supply unit will be mounted underneath the table. The dimensions of the power supply unit being used are standard ATX computer power supply unit dimensions. Those dimensions are 6 inches wide, 3.5 inches tall, 5.5 inches deep.The systems supplied with power to all the main systems. The main systems are, infrared barrier system, LCD display system, light animation sequence system, cup detection networked under-table system, and the main ARM processor. The main ARM processor, light animation sequence system, cup detection networked under table system, and main ARM processor, and infrared system will all operate on 3.3 Volts. All other systems will operate on 5 volts. The power supply will feature one and only one 120 volts alternating current.In the figure shown above, the power rail will run the entire perimeter of the table as a bus. There will be 3.3V power rail and a 5V power rail. This will decrease the run lengths for power for widespread systems such as the lighting animation system and the infrared power system. The power rails will be made of modular power buses that can be extended and modified using basic hardware components. The Main bus connections will be encased in acrylic for water protection. These connectors will be made from bus connectors. Figure 69: Power Switch IllustrationFigure 70: Power Rail Illustration5.0 Prototype Testing5.1 Test EnvironmentEarly Testing - In the group’s early stages of testing, each subsystem that composes the DCPPTSS will be tested individually. This includes testing the Central Control Unit, User Interface, Aesthetic LED Array, Capacitive Touch Sensors, Infrared Barrier, and Ball Washer in controlled environments and without any outside interactions.Incremental Testing - As testing completes with various individual modules, the group will begin testing the interactions between modules. The Central Control Unit and the User Interface will be tested together to make sure the proper interactions will occur. The Aesthetic LED Array will then be added as well, and all three systems will be tested at once. Once the Infrared Barrier and Capacitive Touch sensors have completed testing on an individual basis, the group will test these two modules together with actual ping pong balls. The automatic Ball Washer, being a subsystem separate to all other subsystems, need not be tested with the other subsystems. The group’s goal in this method of testing is to incrementally build the DCPPTSS as each part is completed to be able to test the final product as it is meant to be plete DCPPTSS Testing - Once all individual subsystems are tested with one another, the group will integrate all of them with the actual table to create the DCPPTSS. With the completed system, the group will be able to test the DCPPTSS in three ways: a highly controlled environment in which each system can be tested individually, a environment in which game-play is emphasized, and an actual party environment.Highly Controlled Environment (and Scenario Testing) - The group will first use a highly controlled environment to test all of the subsystems in the DCPPTSS. The group will be able to test the interactions of the modules within the whole system. In this way the group hopes to improve each aspect of the DCPPTSS without compromising the experience of players of the game. The group is seeking the means to mechanically replicate the process of throwing a ball to remove the possibility of human error from their tests, and will also allow the group to reliably test rare and fringe cases that may occur during an actual game of Beer Pong. Once this is completed, the group will move on to a more practical method of testing: playing actual games of Beer Pong.Playing the Game - In this phase of testing the group will play many games of Beer Pong. This will allow the group to make sure the flow of the game is controlled properly by the Central Control Unit and the slave control units. The group deemed proper game flow and control to be one of the most important success factors of the DCPPTSS. This method of testing also allows for a more random sampling of different scenarios that may occur during the course of a game. The group will continue testing with actual live tests when this phase of testing is complete.Live Testing and Party Atmosphere - This phase of testing will mostly be performed by third parties. Teams of people outside of the group will be able to test the DCPPTSS by playing games of Beer Pong. This will allow the group to test and monitor different styles of play, as well as the effectiveness of the DCPPTSS in creating an enjoyable experience. With testing by third party players complete, the group will subject the DCPPTSS to a live party environment. In this way, the group will be able to test the physical qualities of the systems, and how it reacts to a variety of outside stimuli, such as bumping the table, spilling drinks, target cups moving when they should not, and so forth.5.2 Test Specifications5.2.1 Central ControllerWhen it comes to the central control, there are a few things that need to be tested. The communication between the Stellaris EKS-LM3S8962 arm precessor and other sub-systems must be tested. The testing of the central control unit makes sure that majority of the functions of the Digital Competitive Precision Projectile Table Support Structure are all functioning correctly. Communication testing will occur between the Stellaris EKS-LM3S8962 ARM processor and sub-systems such as the infrared ball detection sub-system, the capacitive touch sub-system, LED sub-system, as well as the display monitor. The purpose of testing the communication between the Stellaris EKS-LM3S8962 and the other devices of the Digital Competitive Precision Projectile Table Support Structure is to make sure that the data being transferred to the Stellaris EKS-LM3S8962 ARM processor from an external existing is transferred and responds correctly. Other than testing when the Digital Competitive Precision Projectile Table Support Structure is complete, each sub-system will be tested thoroughly while using code composure. Code composure is used to programming the central control unit. The Stellaris EKS-LM3S8962 ARM processor will be programmed with the given code of the Stellaris EKS-LM3S8962 ARM processor interacting with a given sub-system. The code will be ran displaying data that is being received and transmitted by the Stellaris EKS-LM3S8962 to see exactly what data is being transferred. 5.2.2 User InterfaceThe user interface for the Digital Competitive Precision Projectile Table Support Structure is an important part of the table, though it is not one of the immediately though-of features. For the purposes of testing, the cups and balls, while “low-tech”, will be considered part of the user interface, as they will be the objects which the users (players) interact with the most. The balls and cups will also be used in tests for the infrared barrier and the capacitive touch sensors, respectively. ?The other parts that will be tested as part of the user interface are of the more typical of a user interface: the digital display for each team, the buttons that navigate the menus displayed to each team, and the seven-segment LCD display that will display the next-up team.Balls and Cups - For the cups, the group will test to make sure that different sizes and shapes of cups will work in a game of Beer Pong as well as for the capacitive touch sensors. The only important type of cup to be tested is a 16oz. Solo cup filled with at least 2oz. of liquid, however the group will test other types of cups because they may or may not be used depending on the host of the party at which a game of Beer Pong is being played.Balls will be similarly simple to test for the group. The only actual requirement is that the balls used will enter a cup when thrown by a player. The ball must also be easy to throw for the players.Menus and Navigation Buttons - The electronic parts of the user interface will be most difficult to test. In order to be considered successfully implemented, all items of the menu must be accessible and activated. All of the functions initiated by the menu and navigation buttons must be tested individually to make sure the DCPPTSS responds properly.Current Game Status Display - First part of the user interface to be tested will be the current game status display on the 16x2 LCDs. The display on each end of the table must display the respective team number, the number of reracks left for that team, and the number of cups left on the opponent’s side of the table. As reracks are used and cups are removed from the table, the respective numbers must be updated accordingly. In addition, when a new game begins, the team number should be set properly to the currently playing teams, and the number of reracks and cups should be updated to their default values. Approximately 30 games will be played and each of the three numbers will be carefully monitored at each change in the game state (that is, any time a cup is moved, removed, or when a rerack occurs). This part of the user interface must be 100% accurate. Once each of those conditions is satisfied, testing can move on.Menu Access - The current game status display on the LCD will show throughout the game when there is no interaction with the navigation buttons. Once the Menu/Select button is pressed, the menu of functions will display, and await further input. After a period of 5 seconds, the display will revert back to the current game status display. Any time a button is pressed, the waiting period ?of 5 seconds will be refreshed. The menu access will be tested by activating the game function menu from the current game status display, and then allowing the display to return to current game status display after 5 seconds. This will be tested 100 times consecutively and must work without error each time to be considered successful. Also, the timeout of 5 seconds must be tested for consistency. This will be done by timing the timeout 30 times with a stopwatch. If the timeout is 5 seconds each time, give or take 20%, testing of the function menu timeout will be considered successful. These tests will be performed for each user interface module. A user interface module is considered to be the group of items consisting of one 16x2 LCD and the three navigation buttons that control the menus and activate the functions. There is one module on each end of the table.Menu Navigation - Menu Navigation is an important part of the user interface and an equally important part of testing. Navigating the menu must facilitate the users in giving the DCPPTSS commands that it cannot handle through its automatic systems (such as the capacitive touch sensor and the infrared ball sensor systems). It therefore has two requirements: it must be easy to navigate and intuitive to use. This phase of testing will be qualitative. To perform this test, the group will first test among the group members to make sure that each button does what it is supposed to: move the on-screen selector to the left, start the currently selected function, and move the on-screen selector to the right. Then, when each function is initiated with the Select button, a confirmation screen will appear on the 16x2 LCD. The group members will test to make sure both the YES and NO options are navigable, and that they initiate the selected function or cancel the selected function and return to the menu screen, respectively. The group will also test to make sure that the selector wraps to the end or the beginning when the LEFT button is pressed on the first option (MISS) or the RIGHT button is pressed on the last option (RERACK). The order in which the functions are displayed and wrap is shown here: MISS<->SKIP TURN<->FORFEIT<->RERACK<->MISS. The double-ended arrows represent the direction of the button that must be pressed to reach that particular function. The group will test the menu navigation by making at least 100 button presses for each module without resetting the module at all. The group will also test to make sure that multiple simultaneous button presses do not cause the system to fail. This will be done by making all seven combinations of button presses possible and repeating 10 times each. These tests will be performed for each module. These tests must pass 90% of the time to be considered successful.The group will then find 10 individuals of arbitrary technical ability to test the ease of navigating the menus. The individuals will be required to use the user interface for a minimum of 3 minutes and select each of the functions at least once. The individuals will then be required to rate the usability, the quickness of learning, and their relative familiarity with the navigating the menu after the short testing period. The ratings will be marked on a scale of 1-10, corresponding to the following:Figure 71: The explanation of the ratings that the testers will use to describe their experience with the menu navigation systemIn order to succeed in testing, the ratings on each scale must be at least a 5 or higher for each category. If the navigation menu is below 5 in any category, the individual who tested must explain why they chose that rating and will be asked what would need to change to improve the rating given. In order to maintain impartiality, each of the testers will perform their tests separately. 5 testers chosen at random will be given brief directions on how to navigate the menu, while the other 5 testers will not be given any information on how to navigate the menu. Half of the testers will use one user interface module and the other half will use the other user interface module.Next-Up Team Display Testing - The next-up team display test should be simple for the team to test in isolation. Since the next-up team display is a four-digit seven-segment LCD, it will only two modes of display--currently playing teams and the next-up team--and they must switch between one another. The group will test to make sure that the switch happens in an appropriately timed manner and that it happens without error.The group will monitor the next-up team display unit to make sure it switches from the currently playing teams display to the next-up team display and then back. Each switch should occur once every 5 seconds, give or take 20%. The team will monitor the display for at least 10 continuous minutes (around the time of a fast Beer Pong game) to make sure that the switch period does not change as the unit is turned on for a longer period of time. Further testing will occur during the live test phase of integration testing (below). At that point, the next-up team display unit will be left on and running for the entire time it takes to perform all tests in that phase.Integration Testing - After the individual components of the user interface modules are tested as demonstrated above, full-scale integration testing can occur. This integration test will occur in three distinct phases that must be performed in order. The first phase is module functionality testing.For module functionality testing, the group will first test the current game display again as above (the only difference being the integration with the rest of the table). Then, the group will test activating each function (MISS, SKIP TURN, FORFEIT, and RERACK) and test confirming the activation (by selecting YES on the confirmation screen), as well as test cancelling each function activation (by selecting NO on the confirmation screen). Each of these tests will be performed 10 times for each function. For integration testing, these tests will be considered successful if and when they are passed 100% of the time. A given function test will be considered passed when the given function executes and cancelled properly as denoted by the actions the DCPPTSS takes and do not take when the functions are executed and cancelled, respectively. The group will also monitor both of the 16x2 LCDs to make sure that when a RERACK is performed, the number of remaining RERACKs is properly decremented, and that when the counter reaches 0, it will no longer allow RERACKs to take place. In addition, the cups remaining count will be tested by making sure that the total cups remaining is updated properly when a cup is added or removed from a capacitive touch sensor. Cups remaining testing will be performed for each side of the table 10 times each. Further testing will occur in the third phase of integration testing.The second phase of testing will test the integration of the next-up team display with the rest of the DCPPTSS. In order to test the next-up team display in integration testing, the group will use the FORFEIT function multiple times in a row to quickly increment the next-up team counter. When a team loses, that team is replaced by the next-up team. The use of the FORFEIT function will allow the team to test this replacement quickly without having to play through an entire game of Beer Pong. After the replacement has taken place, the current game status must be updated to reflect the team number change on the 16x2 LCD of the side that initiated the FORFEIT. The current teams playing shown on the seven-segment display must also be updated to properly reflect the new currently playing teams after a team loses. In addition, the next-up team displayed on the four-digit seven-segment display must be incremented properly. The next-up team display as well as the current playing team display must be able to display all numbers from 0 to 99. Therefore, this process needs to be performed at least 100 times per side. This will also allow the group to make sure that the team numbers roll over from 99 to 0 properly. This phase of testing needs to be performed by using the FORFEIT function with each user interface module.The third and final phase of user interface integration testing will be live play-testing. In this phase, teams of two will play full-length games of Beer Pong. The state of each 16x2 LCD and the current and next-up team seven-segment display will be monitored at certain points during the course of a game. These points are: initial display (after the table is first turned on), beginning of a game (when no players have thrown), after the first-throwing team is decided, after each time a ball is thrown, any time a player interacts with the user interface menu, any time a game ends, and any time a new game begins. The group will be looking for consistency between throws and turns, as well as making sure that the user interface is able to follow the flow of the game as their primary concerns. They will also make sure that the appropriate numbers for team designation, cups left, and reracks left on the 16x2 LCD and the current teams and next-up team on the seven-segment LCD are set appropriately on all displays based on the current game state. The third phase of integration testing must complete at least 30 games of Beer Pong. It must pass each portion of this phase with at least a 70% success rate (due to the pass rate defined in other subsystems) in order for the DCPPTSS user interface to be declared successfully implemented and integrated.5.2.3 Aesthetic LED ArrayThe Animation sequence system will be tested in separate parts through all major function aspects of each subsystem. Once the separate subsystems of animation sequence system have proven functional, all parts will be assembled and tested together. Any subsystems featuring parts that can be simulated will be simulated first and then implemented to breadboard testing. During breadboard testing, subsystems that consist of multiple duplications will not be tested for full functionality, soley full operation of each part.The decoder system will be implemented inside of the computer FPGA program Xilinx. Using the schematic tool, the 3 to 8 decoders will be implemented with a 2 to 4 decoder, all four decoders will have enable lines. The Simulation will run based on a test bench wave form to verify the truth table previously mentioned. Once the simulation has implemented for verification of truth table. The design will then be implemented on a breadboard. The 3 to 8 decoders and the 2 to 4 decoder will be wired to a power supply unit delivering 5 volts direct current. The decoders will then be tested with a 3 volt input, similar to the output of the microcontroller. The 3 volt source will be supplied to 5 switches in parallel. Each switch will be connected to the different 5 pin inputs to simulate the output of the microcontroller. A single LED will be attached to each output from the 3 to 8 decoders and grounded. Each combination of the switches toggle positions will be tested for output at every 3 to 8 decoder. The 3 to 8 decoder will be tested once again once assembled on breadboard without the microcontroller. The microcontroller will be reomoved from its soldered slot and alligator clips will be used to supply different combinations of logic to the inputs of the decoder. The diode and transistor systems will be tested together. They will be first simulated using National Instruments ? program Multisim. The design will be done schematically using identical part numbers. The diodes rated values will be entered for normal operating parameters of: 3.2 Volts, 20mAmps. The transistor will be selected based on its part number 2N4401. To simulate the base voltage used to operate the transistor in forward bias mode, a function generator will output a square wave. Another test using a simple switch connected to the 5V power supply in order to gather data about the voltage across the diodes, the current through the diodes, the overall collector current, and the voltage across the transistor. The square pulse will be used to simulate the high speed switching of the microcontroller and decoder. Once the observed values fall into an acceptable range, the diodes and transistors will be implemented on a breadboard. The acceptable range is listed as follows.Diode Voltage:3-3.5VDiode Current:15-20mACollector current:120mA-160mATransistor voltage: <3VOnly one cluster of 8 diodes will be tested. The same base voltage system will be applied to the breadboard design will be attached to a switch with 5V. The board will be tested while the base voltage switch is active and inactive with a multimeter. The collector current, diode voltage and transistor voltage will be measured. The same test will be preformed with a function generator attached to the base voltageand the outputs will be measured using an oscciloscope. For final testing the diodes will be assembled on their final boards with housing. Each board and housing will be tested seperately before being installed onto the table. These boards will be tested using the same method used for the breadboard test consisting of a driving transistor and resistor. Both a direct current and function generator will be used. The diode driving transistors will be mounted and tested with the diodes once the entire lighting animation system is assembled.During Assembly the wiring from decoder and transistor base nodes will be done in an ordered fashion. Each decoder output will assigned a temporary number based address from 1 to 32. Each decoder output will be numbered consecutively around the board. To match the convention, the diode driving boards will be numbered 1 through 16 on the board below Region1 in consectutive order. The diode driving board below Region 2 will be numbered 17 through 32 also in consectutive order. These connections will then be tested for contiunuity between those and only those nodes addressed with the same number. Each diode housing board will be number from left to right, low to high with numbered addresses. The diode driving boards below Region 1 will be numbered 1 through 16 in that order. The diode driving board below Region 2 will be numbered 17 through 32 in that order. Each connection will be soldered one address at a time. All connections from address 1 on the diode driving board will be soldered from the contact pad to all diodes in the 8 different housing boards with address 1. All of the address one diode connections will be tested with a multimeter for contiunuity between nodal points and between other nodes of different addresses. One contiunity is verified on all similar nodes from diode housing boards to the diode driving board. The next consecutive nodes will be wired to their corresponding address. The same continuity test and short circuit tests will preformed on all 32 addressed connections. All wiring for the connections will be contained bundled using plastic zip ties and secured to the tables frame. The microcontroller will be coded and simulated inside of Texas Instruments? development toolkit design program CodeComposer ?2011. If the program compiles and succeeds inside of the design software, the code will be bootloaded to the MSP430G2XXX Valueline series microcontroller development evaluation board. The board will be tested with the program running at 1/1000 of the speed for multiple light patterns and 1/32 speed for single light patterns. Multiple light patterns feature more than one diode powered at a time and require a frequency of 1000Hz. This requires a low speed in order for the observer to be able to verify correct functionality. Single light patterns feature one diode powered on at a time. These speed correction factors will allow the user to witness each control signal output for 1 second. The control signal outputs will be in a binary fashion using the test dioes as the bits that control the decoders. A powered diode will be distiguished as a 1 and an unpowered diode will be defined as off.The lower speed will allow the programmer to physcially witness the decoder control outputs from the microcontroller. Connected to the output pins of the evaluation test board will be test diodes. Connected to the input pins will be two switches connected to a power source to represent the animation control signal input. The switches will be on MSB=P1.7 or pin 9 and LSB=P1.8 or pin 8 on the dual in line package model for the control lines. The diodes will output through P1.0 =pin 2, P1.1=pin 3, P1.2=pin 4, P1.3=pin 5, and P1.4=pin 6. Once all animation sequences have been verified, the microcontroller will be implanted into the socket on the main board and tested with the entire system.The main testing of the entire light animation system will include the following:Power on:Power off:Short Circuit:Max current draw: Animation Sequences:Timing of Animations:Animation switching:Animation enable disable:Each test will be preformed minimum 10 times for accuracy. Once the following tests are passed and documented, the lighting animation system will be hardwired to the main control unit.5.2.4 Cup SensorsUsing a modular testing procedure truly shows its virtues when testing the cup sensor units. Because the units are very modular themselves, modular testing only makes sense. Each individual element of each cup sensor unit will be tested separately before being integrated into a complete cup sensor. Each cup sensor will then be tested separately from the others. Once each cup sensor has passed its testing phase, two groups of six units will be connected to a MSP430 in order to test them in the layout in which they will be in the completed DCPPTSS. In the following test procedure, for all tests which do not involve measureable quantities, images and video will be used in order to record proper functionality.First, all sixty LEDs to be used in the cup sensors will be connected to their respective TLC5940 LED drivers. As all the LEDs will be of the same model from the same manufacturer, and hopefully all from the same lot, the dot correction of each of the LED drivers will initially be programmed to deliver the recommend current to each color of each LED. All sixty LEDs will then be visually inspected to compare the brightness of each color. Adjustments will be made to the dot correction values until all LEDs are determined to produce equivalent brightness.Next, each capacitive touch unit will be connected to a MSP430 programmed with testing code. For each unit, the number of charge/discharge cycles will be measured with nothing but air above the unit, and recorded in the table below. The units will then have a plastic disposable cup filled with four ounces of Miller Light placed on top of them, and the charge/discharge cycles measured and recorded. These measurements will then be compared for uniformity, and the recorded values will be used to adjust the detection thresholds for each capacitive touch unit. Cap Touch Sensor ## of Cycles (No Cup)# of Cycles (With Cup)Table 5: Table to be used to record measured capacitance changesThe next level of testing will involve connecting five LEDs, one TLC5940 and one capacitive touch sensor to a MSP430 and test them as one unit. This will be done until all modules are segregated into individual cup sensor units. The MSP430 will be programmed to control the LEDs based on the values of the capacitive touch sensor, using the LED specific dot correction values found earlier. Each unit will be tested for functionality with a disposable plastic cup filled with four ounces of beer. This testing procedure will determine that each cup sensor unit responds correctly to changes in measured capacitance.Finally, the twelve cup sensors will be separated into two groups of six sensors. Each group will be connected to a MSP430 to form the cup sensor sub-system for one side of the table. First, the team color selection portion of the system will be tested. When powered up, each cup sensor should display a different color from the others. Once this is determined to be functioning correctly, the cup containing four ounces of beer will be placed on top of one of the cup sensors, in order to determine that all cup sensors change their color to the correct color. This will be done six times, once for each cup sensor. Once this portion of the system is determined to be working properly, the response to changes in capacitance will be tested again, in order to be sure pin declarations in the code match up with the correct sensor unit.5.2.5 Infrared BarrierAs with every other element of the DCPPTSS, the infrared barrier will be tested in a modular fashion. Before any of the four infrared barrier units is manufactured, the normal operating conditions of the emitter/detector pairs will be determined. In order to achieve this, a single emitter and a single detector will be chosen as the testing units. The emitter and detector circuits from the infrared barrier research section of this document will be constructed using these units. By measuring the current and voltage of these units during testing, the uniformity of the other emitters and detectors can be determined. These measurements will be recorded in the following tables:Emitter #Output VoltageOutput CurrentMeasured Tester VoltageMeasured Tester CurrentTable 6: Table to be used to record emitter output parametersDetector #Tester VoltageTester CurrentMeasured VoltageMeasured CurrentTable 7: Table to be used to record detector output parametersOnce each emitter and detector has been tested for uniformity, the most uniform of the lot will be selected to be embedded into the barrier units. Each barrier unit will then be constructed and tested individually. Each unit will be connected in a configuration similar to that which it will be in when embedded into the DCPPTSS, but will not be connected to the MSP430 controller.In this configuration, baseline measurements for each unit will be tested. This will be a measurement of the reflection detected when there is nothing passing through the barrier. Then a ping pong ball on a stick will be used to test the reflection measured from the ball at different distances between the ball and the infrared barrier unit. During this process, a Digital Multi Meter will be used to measure the current and voltage changes across the detectors when the ball is detected. These will be logged in a table of the following form.Detector #Measured Voltage (No Object)Measured Current (No Object)Distance Between Object and UnitMeasured VoltageMeasured CurrentTable 8: Table to be used to record detector detection parametersUsing this test, the required voltage setting of the comparators will be determined. The comparators will be set to this voltage by adjusting the potentiometers connected to them. After this, the unit will be connected to one of the ports of the MSP430 controller. The controller will be programmed with a variation of the final code specifically designed for testing. It will take the input from the barrier unit, and turn on an output LED when the object is detected. The ping pong ball on a stick will be used in order to test that the controller is properly distinguishing the balls presence in the barrier plane. Finally, one each unit has passed the individual testing phase, two sets of two units will be connected to the same MSP430 controller to test their functionality as a single unit. Another modified version of the game code will be used to test this functionality. One output LED will be used for each barrier, being turned on when an object is detected in the barrier. Two more LEDs will be used to display a hit condition and a miss condition. The units will pass if they properly detect a hit and a miss at least eighty percent of the time.5.2.6 Ball WasherThe water circulation system will be tested for the following features:Leak TestingSterilizationCirculationThe leak test will be performed by assembling the entire circulation piping system and reservoirs. The reservoirs will be assembled by use of silicone sealant for the water reservoir and PVC cement and primer for the PVC piping on the return line and ball collection reservoir. The entire system will sit for a total of 3 hours to look for signs of any stray moisture.To test for sterilization, the water pump and UV sterilization unit will be immersed into a container of water containing a green phytoplankton. The system will left outside in ambient conditions to monitor growth and mortality rate of the algae cells. The duration of the test will last 1 day and will be compared to a control system without a UV sterilizer also exposed to ambient conditions outside. The clarity of the water will be used to determine the effectiveness of the sterilization of the UV light. If the sterilization isn’t sufficient, the system will be redesigned by slowing the flow rate of the system. A sufficient result is defined by perfect water clarity without any measure of coloration. The circulation portion of the testing will be measured in a qualitative analysis. The circulation will be measured for continuous system flow without overflow. The system will also be checked for maximum capacity. The circulation test must also be able to observe the water reservoir level drop. The reservoir cannot drain below the level of the pumps intake.5.2.7 Power SystemThe testing will consist of surge protection, knife switch testing, and voltage level tests. Most of the safety testing has been verified already by underwriters laboratory because the unit is prebuilt and predesigned. Surge protection test will be done to check response to short circuit in the system. The short circuits will be performed using a switch and line directly to ground from the various power rails. All voltage rails will be tested a minimum of ten times. All unused rails will be sealed off at the power supply unit. The knife switch will be tested for arcing and reliable connection. The knife switch will be thrown a total of 50 times. An acceptable tolerance ratio of arcing is 10%. The voltage level test will consist of using a voltmeter. The voltmeter will be used to verify the voltages used throughout the system for correct operation.6.0 Administrative Content6.1 Division of LaborIn order to construct the Digital Competitive Precision Projectile Table Support Structure (DCPPTSS) in a timely manner, the group decided to divide the project into multiple parts based on the subsystems included in the DCPPTSS. These divisons are based on the parts that the individual group members researched and designed for the writing of their paper. There will be some overlap in the work done for constructing the DCPPTSS for basic work such as soldering.Christian Braun (the Muscle) will be in charge of the capacitive touch sensors and the infrared barriers. He will be responsible for managing the testing of the capacitive touch sensors and the infrared barriers. Christian will also schedule the group’s meetings and make sure that the project is keeping to the schedule.Rashon Hogan (the Wildcard) will be in charge of the aesthetic LED array and the ball washer system. He will be responsible for managing the testing of the aesthetic LED array and the ball washer system. Rashon will be the Wildcard.Jelani Jackson (the Brains) will be responsible for the central control unit and communication between devices. He will be responsible for managing the testing of the communication protocol and the central controller. Jelani will also make sure that the project maintains its focus.Donald Thomson (the Looks) will be responsible for the user interface, including both team-specific modules and the current/next-up team display. He will be responsible for managing the testing of the user interface modules. Donald will also make sure that the project does not go over-budget.All group members will be heavily involved in table construction. This includes all soldering and wiring. In addition, the all group members will use their expertise in the subsystems to perform integration and completed live testing.6.2 Milestones6.2.1 Senior Design 1For Senior Design 1, the group needed to decide on milestones to make sure their project documentation was completed in time. The milestones corresponded to required documentation due dates throughout the course and also helped the group decide the specific designs for their Digital Competitive Table Support Structure to allow for an easy transition to the build and due dates in Senior Design 2. The milestones are shown below.9/20/11 Decided on Project Idea 9/26/11 Group Identification and General Scope Outline Document Completed10/10/11 Decided on Subsystems to be Included10/25/11 Begin Work on ?Project Documentation10/30/11 Begin Research for Subsystems11/11/11 Finalized Subsystems Included12/2/11 Project Documentation Completed12/5/11 Project Documentation Due6.2.2 Senior Design 2In order to keep to a timely schedule for building and testing the Digital Competitive Precision Projectile Table Support Structure (DCPPTSS), the group has agreed upon milestones. These milestones will help keep the group on task for working toward the end of Senior Design 2. The list of milestones is shown below.12/x/11 Begin purchasing parts12/x/11 Begin purchasing building materials12/x/11 Begin building tablex/x/12 Table builtx/x/12 Begin building IR barriersx/x/12 Begin building Cap Touch unitsx/x/12 Begin building UI modulesx/x/12 Begin building Aesthetic LED arrayx/x/12 Begin building Ball Washerx/x/12 Begin programming Central Control Unitx/x/12 IR barrier(s) prototyped x/x/12 Cap Touch unit(s) prototypedx/x/12 UI module(s) prototypedx/x/12 Aesthetic LED array(s) prototypedx/x/12 Ball Washer(s) prototypedx/x/12 Begin modular testing on Subsystemsx/x/12 IR barriers completedx/x/12 Cap Touch units completedx/x/12 UI modules completedx/x/12 Aesthetic LED array completedx/x/12 Ball Washers completedx/x/12 Central Control Unit programming completedx/x/12 Begin integration of Subsystemsx/x/12 Complete integration of Subsystemsx/x/12 Begin testing of related Subsystemsx/x/12 Complete related Subsystems testingx/x/12 Begin final presentation preparationx/x/12 Begin full integration testing of Subsystemsx/x/12 Complete full integration testing of Subsystemsx/x/12 Begin live-party testing of completed tablex/x/12 Complete live-party testing of completed tablex/x/12 Finish final presentation preparationx/x/12 Final Presentation6.3 BudgetIn order to fund the Digital Competitive Precision Projectile Table Support Structure (DCPPTSS), the group has decided to contribute $200 per member. This gives the group a budget of $800 for the DCPPTSS. The group performed research on the parts they were going to use to construct an itemized list of parts needed. This list is shown in the table below.NamePrice/eaQTYPrice/QTYTotal4 digit 7-segment LCD (I2C)$17.001$17.00$683.3016x2 LCD I2C$24.002$48.00?IR Detector$0.92112$102.70?IR Emitter$1.05112$117.60?OBSF-30 arcade buttons$3.006$18.00?RGB LEDs$0.41100$41.00?2x4s for legs, etc$30.001$30.00?Stellaris$0.001$0.00?MSP430$0.004$0.00?Misc Parts$100.001$100.00?Materials (solder, etc.)$50.001$50.00?Power Supply$35.001$35.00?canned water (6pk)$20.001$20.00?74HC238 Decoders$0.8010$8.00?circulating pump w/UV sterilizer$50.001$50.00?Acrylic Sheets 4'x2'$23.002$46.00?Table 9: BudgetAppendix AWorld Series of Beer Pong? Full Rules and RegulationsGeneralThese rules are designed with three purposes in mind:Fairness to all playersEfficiency in running a maximum number of games simultaneouslyMinimization of possible disputes between participantsThese rules are meant to be applied to all BPONG Sanctioned events. However, some elements of these rules are specific to The World Series of Beer Pong, including Tournament Structure, etc. When an event uses a format that is different than that of the WSOBP, discretion on the part of the organizers should be used to apply these rules.Tournament Structure (WSOBP Specific)PrelimsPrelims will take place on the first two days of the event (January 2 and January 3)Each team will play 6 games per day (for a total of 12 games) during prelims. Opponents will be chosen randomly. For each game in prelims, one team will have choice of table side, and the other team will have choice of first possession.Each team will receive a schedule of their preliminary opponents. The schedule will indicate which team has choice of possession and which team has choice of table side.Scoring of PrelimsAfter each game in prelims, a scorecard must be filled in and signed by a member of each team. The scorecard should be filled out with the following information: name of the winning team, name of the losing team, round number, table number, and the number of cups remaining on the losing team's side. In the event of a forfeit, an 'F' should be placed in the "remaining cups" section.At the conclusion of prelims, all teams will be ranked, first by number of wins, and then by "Total Cup Differential"."Total Cup Differential" is defined as the sum of the "Cup differentials" for all games actually played. For each game played, the winning team receives a "cup differential" equal to the number of cups remaining on the opponents side. The losing team receives a negative "Cup Differential" for each cup remaining on his side.In the event of a forfeit, the forfeiting team receives a Loss and the opposing team receives a Win. Each team will receive a cup differential equal to the average cup differential of the rest of their games. In the event that the winning team has a negative cup differential, they will receive a cup differential of 0 for the game. In the event that the losing team has an average cup differential higher than -3, they will receive a cup differential of -3.Any game that is won in overtime (or any successive overtime) will be counted as a cup differential of 1.FinalsFinals will take place on the third day of the event (January 4). The highest ranked 160 teams will qualify. The lowest ranked 64 teams will face off against each other in a single game (aka the в??play-inв?? round). The 32 teams that survive will be joined with the 96 teams who had a bye yielding 128 remaining teams.The remaining 128 teams will be broken down into 16 groups of 8 teams. В Each group of 8 will enter into a в??double-eliminationв?? bracket.The 16 teams that win their brackets will be split up into two groups of 8. Each group of 8 will enter in a в??double-eliminationв?? bracket.The two teams that survive will face off in a в??best-of-3в?? finals. There will also be a single game for third place.If there is a tie for 160th or 96th place, ranking will be determined by a strength-of-schedule calculation. In the event that a tie still remains at the end of day 2, tiebreaker games will be held.EquipmentTables: 8' x 2' x 27.5" BPONG TablesBalls: 40 mm 3-Star Tournament Grade BPONGTM BallsCups: BPONGTM 16 oz. cupsTop width: 3-5/8"Height: 4-5/8"Base width: 2-1/4"Racks: BPONG RacksGame SetupCup Formation10 cups per teamStarting formation is a "tight triangle" formation (rims touching), pointing towards the opposing side. BPONG Racks are used to maintain formations.The 10-cup triangle must be centered on the table and the back of the rack must be in line with the back edge of the table.Cups must not be tilted or leaned against the surrounding cups.Content of CupsFor the World Series of Beer Pong main event, 24 ounces of beer or water will be used per team and will be distributed evenly in the 6 front cups. The back 4 cups will be filled 1/3 with water. These water cups are not for consumption--they are to be reused every round. All official World Series of Beer Pong Satellite Tournaments must abide by all local laws concerning beer pong.Playing the GameShooting and Table SidesIn prelims, first possession will be determined by random selection. Each team will receive a printed schedule which will indicate which team has choice of first shot. Table side will be pre-determined, and will appear on each teamв??s schedule.On day three, possession and table side will be chosen by the team with the superior rank in prelims. In the event of a tie (two teams with the same win-loss record and Cup Differential Per Game), a coin toss will determine who chooses to shoot.The team with first possession will get one (1) shot. Each team will get two (2) shots for each turn thereafter, one shot per team member, subject to any other rules below.GrabbingThe ball in play may be grabbed, however ONLY after it has already made contact with a cup, but not while the ball is in the cup. You may not grab before the ball has hit a cup.In the event of player interference prior to the ball making contact with a cup, (aka premature grabulation), a one-cup penalty will be imposed for the interference. The thrower who had his or her shot interfered with may choose the cup to be removed.Bounce Shots: Players ARE allowed to let their shots bounce off of the table before making it to the cup.. In accordance with B(2) above, bounce-shots may not be interfered with until they have made contact with a cup. It should be noted that bounce-shots\do NOT count for two cups.Balls may not be interfered with while inside of a cup. I.e., no fingering.ReformationCups must be reformed at 6, 3, and 1 cups remaining according to the diagram below:Racks must be aligned to the center of the table.В When one cup is remaining, the cup shall always be pulled back to within an inch of the end of the table, and it shall be placed in the center of the table.Cups that drift out of position may be reformed, but only at the request of the thrower. In general, BPONG Racks should be used to ensure formation consistency.Reformation is to take place as soon as applicable, even in the middle of a turn (i.e. mid-turn reracks).Cups should be removed as soon as they are hit, even in the case where a reformation is not warranted. It is the responsibility of the shooting team to wait until a hit cup is removed to take their next shot. If a team shoots while the opposing team is reforming or in the process of removing a cup from the table, and the ball goes in the cup after making contact with the defending teams hand(s), the shot will count as a miss. If a shooter hits a cup that has already been hit, it will count as a miss.If a team mistakenly shoots when a reform should have occurred, they have the right to ask for a reform after the fact. If a cup has been hit, and the shooting team then asks for a reform, the defending team gets to choose which cup gets removed from the reformed rack.Rollbacks - The Pope's RuleIn general, if both players on a team sink his/her shot on the same turn, that team will get one (1) additional rollback shot, not two.В The only exception to this rule is during redemption.Either teammate may take the rollback shot."Miracles" - If a shot happens to land and stay on top of the cups, that shot will count as a miss. Congratulations - you are lucky, but you have not proved that you have any pong skills at all. If you can prove to us that you can intentionally land a ball on the cups on demand, we'll consider changing this rule. Until then, put the ball in the cup - that is the point of the game.Leaning will be permitted, with the following considerations:A player may not place a hand/foot/leg/penis/whatever on the table in order to gain additional reach and/or leverage. A player's hand may touch the table after a shot is released.Players may not edge themselves around the table when they throw.Under no circumstances may a player shoot with any part of his or her body on (against is permitted) the table. Of course, if you have a beer gut that must rest on the table because there's nothing else you can do with it; the "beer gut on the table" exception will apply.Players may not move cups out of position in order to gain a leaning advantage. If the cups move as a result of contact with the body while shooting, the cups must be returned to their original spot before the opposing team shoots. Any cup knocked over as the result of excessive leaning will count as a hit shot. Beer Pong Events, LLC will not be liable for the resulting ridicule excessively leaning players are bound to receive from other participants..Beer Pong Events, LLC will not be liable for the resulting ridicule excessively leaning players are bound to receive from other participants.DistractionsDistractions are permitted with the following restrictions (subject to a one cup penalty)Players may not cross the plane of play (the imaginary plane which runs vertically and separates you from your cups) with any part of their bodies, clothing, or other objects, while the other team is shooting. To avoid violating this rule, just stand back a few feet from your cups.Players may not fan, blow, or otherwise intentionally create an air current surrounding the cups in play.Players may not approach the opposing team members in an unsportsmanlike manner. This includes running alongside the table to talk trash in an opposing players face. In general, players should never be on the side of the table (picking up a ball is an exception).Players and spectators may not visually block cups from opposing players. This includes the use of lighting mechanisms to interfere with vision. As an example, no player may shine a laser pointer in his opponentв??s eyes.Spectators are permitted to aid in distractions, but may not be inside the playing area at any time. In addition, in the event that players are positioned close to the outer edges of a playing area, spectators are prohibited from unreasonably interfering with a players ability to shoot. Specifically, no spectator is allowed to scream directly into the ears of players at close range, or attempt to block a playerв??s view of the cups.Distractions should not violate any local, state, or federal laws.The Dipshit Not Paying Attention RuleIf TEAM1 knocks over one of its own cups, that dipshit's team (TEAM1) loses that cup(s). However, if the other team (TEAM2) also contains dipshits not paying attention that do not catch the first team of dipshits (TEAM1) knocking over their cup, then TEAM1 may keep that cup.Balling your own cupsIn the event that a player who has possession of the ball drops that ball into his own cups either accidentally or intentionally, no penalty is taken.In the event that a player who does not have possession of the ball comes in contact with the ball and as a result that ball enters one of his own cups, such as by unintentionally acting as a backboard, that shot IS counted.InterferenceBall InterferenceInterference is defined as any contact, intentional or otherwise, between game pieces (balls or cups) and any other objects.In the event of player interference prior to the ball making contact with a cup (aka Premature Grabulation), a one-cup penalty will be imposed for the interference. The thrower who had his or her shot interfered with may choose the cup to be removed.In the event of interference on the part of non-players, such as spectators or officials, the shot is replayed.In the event that a player drops his/her ball into one of his/her own cups, no penalty is enforced. (See "Balling your own cups")All objects sitting on the table are considered part of the table for the purpose of determining interference. Specifically, if a shot bounces off of an errant object on the table (such as a water cup, a cup that has already been hit, a personal can of beer, etc) and then goes into a live cup, that shot is counted.The previous clause notwithstanding, the playing area should be kept as clear as possible at all times. Specifically, no objects should placed in between the opposing cup formations.Cup InterferenceIn the event that a player knocks over his or her own cups, those cups are to be counted as though sunk and removed from the table. They are not to be refilled or replaced unless the dipshits are not paying attention (See: Dipshit Not Paying Attention Rule). With the use of BPONG racks, if the entire rack is knocked off of the table, all of the cups are counted as hit, unless this occurred during reformation, in which case the cups are replaced..In the event that cups are knocked over by any non-player, those cups are not counted as sunk, and are to be refilled and replaced in their appropriate positions on the table.In the event that cups drift or are otherwise moved out of formation, those cups may be replaced in their appropriate positions upon request from the opposing team.Drifters: In the event that a cup drifts out of its position while a ball attempting to sink those cups is in mid-flight, the shot is to be counted as a miss, unless it is absolutely clear that the movement of the cup was caused by the defending team, i.e. the defending team makes contact with the table. Once a ball has touched a cup, the defending team can cause the cups to move without penalty, but if they do knock cups over, the cups will be removed from the game.Cup Adjustment: Cups may NOT be moved or adjusted while the ball is being released, or while the ball is in mid-flight. Doing so incurs a 1-cup penalty.Balls Knocking Over Cups: Cups should be filled to the point where it is not possible to knock the cup over with the ball. However, in the event that a ball does knock a cup over, the shot is counted as a hit, UNLESS it is absolutely clear that the ball never crossed the top plane of the cup before it was knocked over, in which case the cup is reset and the shot is considered a miss. To clarify, if a ball enters a cup, spins, and then exits the cup, and the cup falls off of the table as a result, the cup is counted as a hit shot, and is removed.In the event that a ball enters a cup causing the cup to move, the defending team may not stabilize the cup. To clarify, if it appears that a cup is going to fall over, the defending team must allow this to happen.Interference During ReformationPlayers are not allowed to shoot until the opposing team has clearly finished reforming. In the event that the thrower shoots before this:A cup made does not count and the opposing team receives possession of the ball.A missed shot is counted as a miss and the opposing team receives possession of the ball.Table InterferencePlayers may not make contact with the table while their opponents are shooting.Ending the GameRedemption (A.K.A. Rebuttal) & OvertimeAs soon as the last cup is hit, the opposing team has the opportunity to try and bring the game into Overtime. See Appendix A for examples to illustrate the following rules. There are two different general scenarios for how to determine redemption rules: There are two or more cups remaining, or there is only one cup remaining on the side of the team that has hit last cup.If there are two or more cups remaining, в??Unlimited 1-ball Redemptionв?? is given. Either player may take the first shot, and the ball is rolled back until a player misses. As soon as a miss occurs, the game is over. At this time, players MUST alternate throwers in the event of multiple hits-one player may NOT take all the redemption shots. The only exception to this rule occurs when there are three cups remaining when redemption begins. In this case, the first two shots must be alternated (i.e., the player who shoots first cannot shoot second), but the final shot may be taken by either player.If there is one cup remaining when the last cup is sunk, the rule is, в??Take as many shots as you have balls remaining on your sideв??. For example:Your opponent misses their first shot, but sinks the second into your last cup. You get 2 chances to redeem, i.e. you may miss once.Opponent sinks your last cup on their first shot. You get 1 chance to redeem.If an opponent sinks your last 2 or 3 cups in 1 turn, you get 2 chances to redeem, i.e. you may miss onceSuccessful redemption results in initiation of a 3-cup overtime, with the dominant team (the team which would have won had their opponents not redeemed), selecting possession.Overtime (3-cup)Overtime formation is a tight triangle.The dominant team (the team which would have won had their opponents not redeemed) selects which side shoots first.The same redemption and rollback rules apply during overtime as apply pre-overtime.MiscellaneousDisputesA dispute is not considered to be valid unless witnessed by two or more individuals. In the event of a valid dispute, that game is considered paused and an official must be notified. Any witnesses to the event in question must remain at the table until the dispute has been resolved. All calls made by the referee are final. Intentional abuse of game rules and/or disputation without adequate cause is grounds for ejection from the tournament.Time Limit On ShootingIn general, players are expected to take their shots within a reasonable amount of time, and in accordance with proper sportsmanship. Generally, no specific time limit is placed on shots.However, times may arise when it is necessary to limit the amount of time each player has to take a shot. In these cases, a referee, at his sole discretion, may institute a ‘shot clock’.When a shot clock has been imposed, the referee will give each player 30 seconds to shoot. This 30 second period will start when the referee deems that the player is ready to shoot (i.e. the player has recovered the ball, and there is nothing preventing him from shooting). When a shot clock has been imposed, it must be imposed equally to all players for the remainder of the game. In addition, there should be a clock easily visible in the playing area where the players can easily keep track of the elapsed time (in general this clock should be digital). The referee will announce the start of the 30 second period, and then give a warning when there are 10 seconds remaining. In the event that the 30 second period expires, the shooter will forfeit his shot.Absentee PlayersIn the event that a player is temporarily absent, no substitution may be made.В The game continues without the missing player; i.e. that team receives only one shot per side until the missing player returns.In the event that a player is forced to vacate the venue by the owner of the venue, Beer Pong Events, LLC, hired security, or any other entity deemed to be authoritative on this matter at the sole discretion of Beer Pong Events, LLC, the team will forfeit the rest of the tournament, will not be permitted back in the venue, and will not be entitled to any refund, in whole or in part, of any fees paid for the event or any associated activities.ConductAll players are to conduct themselves in a matter respectful to other players, referees, and the sport of Beer Pong. Unacceptable conduct will result in severe punitive action, to be applied at the discretion of the referees. Unacceptable conduct includes, but is not limited to, fighting, abuse of referees, unreasonably throwing balls at opponents, abuse of other players, abuse of beer (excessive spilling), etc.Interpretation of RulesFinal interpretation of these rules is made at the sole discretion of the referees.Appendix A - Redemption Examples:Here are some common examples of how the redemption rules are applied. Each team has two players, who we will call Player A and Player B:There are 4 cups remaining on Team 1's side, and Team 1 has just hit last cup (It does not matter whether the first or second shooter hit last cup). Team 2 must hit all 4 cups on Team 1's side without missing. Player A from Team 2 shoots. If he misses, the game is over. If he hits, then the cups are reformed to a triangle, and Player B shoots. If Player B misses, the game is over. If Player B hits, then Player A shoots. If Player A misses, the game is over. If Player A hits, then Player B shoots. If he misses, the game is over. If he hits, the game goes to Overtime, and Team 1 gets the first two shots.There are 3 cups remaining on Team 1's side, and Team 1 has just hit last cup. В Team 2 must hit all 3 cups on Team 1's side without missing. Player A from Team 2 shoots. If he misses, the game is over, if he hits, then the cups are reformed to a triangle, and Player B shoots. If he misses, the game is over. If he hits, then Player A shoots. If he misses, the game is over. If he hits, then Player B shoots. If he misses, the game is over. If he hits, the game goes to Overtime, and Team 1 gets the first two shots.There are 2 cups remaining on Team 1's side, and one cup remaining on Team 2's side. Player A from Team 1 shoots and misses. Player B from Team 1 hits last cup. Since there were two cups remaining when last cup is hit, the rule is still в??Unlimited 1-ball Redemptionв??. So, Player A from Team 2 will shoot. If he misses, the game is over. If Player A hits, then Player B shoots. If Player B hits, the game goes to Overtime, and Team 1 gets the first two shots.There are 2 cups remaining on Team 1's side, and one cup remaining on Team 2's side. Player A from Team 1 shoots and hits on the first shot. Since there are multiple cups remaining on Team 1's side, this situation is played exactly like Example C.There are 2 cups remaining on Team 1's side, and 2 cups remaining on Team 2's side. Player A from Team 1 shoots and hits a cup. Player B from Team 1 then shoots and hits last cup. Since there are multiple cups remaining on Team 1's side, this situation is played exactly like Example C.There are 2 cups remaining on Team 1's side, and 3 cups remaining on Team 2's side. Player A from Team 1 shoots and hits a cup. Player B from Team 1 shoots and hits a cup. One ball is rolled back. Either player shoots and hits last cup. Since there are multiple cups remaining on Team 1's side, this situation is played exactly like Example C.There is 1 cup remaining on Team 1's side, and 1 cup remaining on Team 1's side. Player A from Team 1 shoots and misses. Player B then hits last cup. В Since there is one cup on Team 1's side, and there are two balls on Team 2's side, Team 2 has two opportunities to hit the cup to bring the game to Overtime. If Player A on Team 2 hits, the game goes to Overtime. If Player A misses, then Player B takes a shot.There is 1 cup remaining on Team 1's side, and 1 cup remaining on Team 2's side. Player A from Team 1 shoots and hits on Team 1's first shot. Since the last cup has been hit, the game goes directly to Rebuttal. Since there is only one ball on Team 2's side, Team 2 has only one chance to hit the remaining cup to bring Overtime. Either player on Team 2 may take the shot.There is 1 cup remaining on Team 1's side, and 2 cups remaining on Team 2's side. Player A from Team 1 shoots and hits. Player B from Team 1 shoots and hits last cup. Since there is one cup on Team 1's side, and there are two balls on Team 2's side, Team 2 has two opportunities to hit the cup to bring the game to Overtime. This is played exactly like Example G.There is 1 cup remaining on Team 1's side, and 3 cups remaining on Team 2's side. Player A from Team 1 shoots and hits a cup. Player B from Team 1 shoots and hits a cup. One ball is rolled back. Either player shoots and hits last cup. Since there is one cup on Team 1's side, and there are two balls remaining on Team 2's side, Team 2 has two opportunities to hit the cup to bring the game to Overtime. This is played exactly like Example G.These rules are protected by U.S. copyright laws. Beer Pong Events, LLC, however, grants permission for these rules to be copied and/or modified, so long as credit is given to Beer Pong Events. For example, you may include, "These rules are based upon The WSOBP Rules, available at ." They may be copied and/or modified, so long as this statement is included on any and all copies.Appendix BTexas Instruments PermissionUse RestrictionsThe Materials contained on this site are protected by copyright laws, international copyright treaties, and other intellectual property laws and treaties. Except as stated herein, these Materials may not be reproduced, modified, displayed or distributed in any form or by any means without TI's prior written consent.TI grants permission to download, reproduce, display and distribute the Materials posted on this site solely for informational and non-commercial or personal use, provided that you do not modify such Materials and provided further that you retain all copyright and proprietary notices as they appear in such Materials. TI further grants to educational institutions (specifically K-12, universities and community colleges) permission to download, reproduce, display and distribute the Materials posted on this site solely for use in the classroom, provided that such institutions identify TI as the source of the Materials and include the following credit line: "Courtesy of Texas Instruments". Unauthorized use of any of these Materials is expressly prohibited by law, and may result in civil and criminal penalties. This permission terminates if you breach any of these terms and conditions. Upon termination you agree to destroy any Materials downloaded from this site. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download