This invention deals generally with light up flash pads and more specifically to a system of modular flash pads that can be interconnected in various formations and utilized for a variety of interactive games.
Flash pads are known. These are, generally speaking, large lighted buttons with internal switches for turning the lights located in the buttons on and off. For generations these lights have been utilized for gaming devices and systems. For instance, the game “Simon” features a device with four separate and differently colored buttons. An internal microcontroller lights a series of these buttons. A player then has to repeat the pattern. If the player is successful then the Simon game adds another light to the pattern. If the player is unsuccessful in repeating the pattern, then the device emits a warning sound and the game is over.
These types of games have grown in size and complexity over the years. The light pads utilized in these games have not varied much since their inception. They remain simple light pads with internal switches for changing the lights between a “light on” setting and a “light off” setting. They have also remained rather fixed in their overall configuration. Devices have been developed where these light pads have been placed in an array but once positioned in such a place the lights are unable to be repositioned or removed without affecting the overall system or gameplay utilization.
What is needed is a modular light pad system that can be configured with any number of light pads in any number of configurations and these light pads may be repositioned without affecting the utilization of the overall system.
The following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosed innovation. This summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
A computerized method for operating a modular light pad array to be performed by a plurality of computerized flash pads is disclosed. Each computerized flash pad comprises one or more microprocessors and one or more nonvolatile memory units, and a server computer comprising one or more microprocessors and one or more nonvolatile memory units, wherein each of said nonvolatile memory units store instructions which, when executed by one or more microprocessors perform operations comprising determining, by said microprocessor in said server computer, the number of computerized flash pads communicatively coupled to said server computer; assigning, by said microprocessor in said server computer, one or more of said plurality of computerized flash pads as a node flash pad for transmitting messages to other computerized flash pads communicatively coupled to said node flash pad; transmitting, by said microprocessor in said server computer, a light instruction to said node flash pad said light instruction being intended for a target flash pad that is not said node flash pad; receiving, by said microprocessor in said node flash pad, said light instruction; transmitting, by said microprocessor in said node flash pad, said light instruction to said target flash pad; wherein each of said plurality of computerized flash pads further comprises a base; a translucent top disposed on said base; one or more lights disposed between said translucent top and said base; wherein each of said plurality of computerized flash pads is configured to bear the weight of an adult human being without breaking.
Each of said plurality of computerized flash pads further comprises a respective unique identification number stored on said one or more nonvolatile memory units of said computerized flash pad.
The step of determining the number of computerized flash pads may further comprise transmitting, by said microprocessor in said server computer, an identification query to each of said plurality of computerized flash pads; receiving, by said microprocessors in each of said plurality of computerized flash pads, said identification query; determining, by each of said plurality of computerized flash pads, said respective unique identification number; and transmitting, by said microprocessor in each of said plurality of computerized flash pads, said respective unique identification number to said server computer.
The computerized method may further comprise generating, by said microprocessor in said target flash pad, a status identifier, wherein said status identifier incorporates information as to whether said one or more lights in said target flash pad are in an “on” configuration or an “off” configuration.
The computerized method may further comprise transmitting, by said microprocessor in said target flash pad, said status identifier to said node flash pad.
The computerized method may further comprise determining, by said microprocessor in said server computer, the physical location of one or more of said target flash pads relative to said one or more node flash pads.
The computerized method may further comprise generating, by said microprocessor in said node flash pad, a transmission error when said microprocessor in said node flash pad is unable to transmit said light instruction to said target flash pad; transmitting, by said microprocessor in said node flash pad, said transmission error to said server computer; and receiving, by said microprocessor in said server computer, a transmission error from said microprocessor in said node flash pad.
Still other embodiments of the present invention will become readily apparent to those skilled in this art from the following description wherein there is shown and described the embodiments of this invention, simply by way of illustration of the best modes suited to carry out the invention. As it will be realized, the invention is capable of other different embodiments and its several details are capable of modifications in various obvious aspects all without departing from the scope of the invention. Accordingly, the drawing and descriptions will be regarded as illustrative in nature and not as restrictive.
Various exemplary embodiments of this invention will be described in detail, wherein
like reference numerals refer to identical or similar components, with reference to the following figures, wherein:
The claimed subject matter is now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced with or without any combination of these specific details, without departing from the spirit and scope of this invention and the claims.
As used in this application, the terms “component”, “module”, “system”, “interface”, or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component.
In summary, the invention comprises a plurality of flash pads that are interconnected. These flash pads have a static base, a movable and translucent top, an internal light, and internal wiring and components. Each of these flash pads are able to transition between a “light on” setting and a “light off” setting. The “light on” setting and a “light off” setting may be changed either by a microcontroller within the flash pad, an external computer connected in to the flash pad, or by manually pressing on the translucent top. In other embodiments, pressing on the pad may cause the light to change color. Any combination or configuration of the changing of the light may be accomplished through programming or microcontroller configuration.
Referring to
The lights for each of the game pads 10 may be any color, such as red, green, yellow, orange, purple, or no color. The different colors may be accomplished by different lights within the flash pad 10 or a single multicolor LED. Referring to
A single flash pad 10 may have a plurality of configurations. In the preferred, as shown in
The translucent top 12 may be any size and shape. In the preferred embodiment the translucent top 12 is made from a resilient polymer although other materials may be utilized. The translucent top 12 permits light generated from within the flash pad 10 to be visible outside of the flash pad 10. In other embodiments the translucent top 12 is made of an opaque material that permits some light to pass through. In other embodiments the translucent top 12 is completely transparent. The translucent top 12 is configured to be movable relative to the base 14. The translucent top 12 may be pressed in toward the base 14 and then bounce back to a starting position slightly removed from the base 14. In other embodiments the translucent top 12 is offset from the base 14 by one or more springs which compress in when the translucent top 12 is pressed and then is returned to the starting position by the springs.
The flash pad 10 may have any type or number of internal lights 16. The internal lights 16 may be any color. In the preferred embodiment the internal lights 16 are LEDs. The internal lights 16 are connected to one or more switches that are connected to the translucent top 12. In other embodiments the top of the pad presses an internal button in the base 14 of the flash pad 10. As the translucent top 12 is pressed it activates the switch so that the internal lights 16 are switched on or off. Pressing the translucent top 12 may turn some or all internal lights 16 on, turn some or all internal lights 16 off, turn some internal lights 16 on while others are turned off, or cause the internal lights 16 to change color.
Each flash pad 10 may be wired together in communication with any number of other flash pads 10. In other embodiments the flash pads 10 are communicatively coupled together by wireless communication means. The flash pads 10 may be connected to each other by wired means such that the power supply for one flash pad 10 is provided by an adjacent flash pad 10.
The flash pads 10 are connected into an array 100 in the preferred embodiment. In this embodiment the flash pads 10 are arranged in a controller area network or CAN. In this manner an array 100 of flash pads 10 are grouped together and controlled in group fashion. A core control message is sent to a node flash pad, which then passes submessages to other flash pads 10. The flash pads 10 are each independently identified with a unique ID number. In this manner each flash pad 10 may be distinguished from other flash pads 10.
The system is organized so that any number of flash pads 10 may be utilized. The flash pads 10 are modular in nature so that a flash pad 10 may be placed in any position in the array 100 of flash pads 10 and the system is able to track the location of the flash pad 10. In the preferred embodiment the central computing system receives the identification numbers of each of the flash pads 10 in the array 100. The computing system then designates certain flash pads 10 to operate as nodes in the system. Each of the nodes then identifies each of the other flash pads 10 in communication with it that it serves as the communicative hub for. When a flash pad 10 is added to the array, the flash pad 10 sends a signal to the node flash pad 10 which then relays the signal to the computing system. The computing system then identifies the location of the newly added flash pad 10 and the node flash pad 10 that serves as the controlling node. When a flash pad 10 is removed from the system, the computing system receives a notification of transmission error from the node flash pad 10 that the removed flash pad 10 is no longer connected to the node flash pad 10. The computing system then changes it signaling system so that the removed node is no longer active as a flash pad 10 in the array 100.
When configured in an array, each flash pad 10 can operate as a node in the array 100. There may also be a host. The host flash pad 10 is the flash pad 10 that broadcasts instructions to the array 100 of Flash Pads, listens for inputs from the array, and interfaces with the computer programming.
Any specific flash pad 10 may be designated as an End-Point in the array 100. The End-Point flash pad 10 is the first or last pad within the array 100 and is connected to the computer. The End-Point preferably acts as the host pad for the array 100 of node flash pads 10. There may be any number of flash pads 10 in the array 100. There may also be any number of configurations of the array, with a host/array/End-Point setup. In a standard configuration, the flash pads 10 are connected End-Point to End-Point configuration with one acting as Host.
Each Pad has the ability to operate independently or within an array 100 depending on its programming. In an array, Nodes send out a broadcast when pressed, the Host Node is listening to these button presses to process the data to and from the computer program.
In the preferred embodiment each flash pad 10 has an auto-fault detection, which is the ability to recognize a down pad. Each flash pad 10 has network monitoring. The flash pad 10 may restart if a network issue is detected. In other embodiments the flash pad 10 may cause the entire array 100 to restart if a network issue is detected.
The entire array 100 stays connected and can still operate when any single node flash pad 10 is removed. The removed flash pad 10 is no longer active in the array 100 when removed. The system may have a feedback system where a specific flash pad 10 exhibits a confirmation signal. The system may know that a node flash pad 10 has been removed when it fails to receive a confirmation signal. Other signaling embodiments may be utilized for the system to know when a specific flash pad 10 has been either removed from or added to the array 100.
The flash pad 10 that acts as the node flash pad 10 may identify the physical position of the flash pads 10 that are connected to it in any manner. In one embodiment the node flash pad 10 identifies each of the adjacent positions of other flash pads 10 (right, left, up, down) by mechanical means, such as by a switch. In other embodiments the positions of the adjacent flash pads 10 are identified by designated wire communications. Each node flash pad 10 may be in communication with the other node flash pads 10. There may be any number of node flash pads 10 in the system. In other embodiments the node flash pads 10 are in communication with the central computer system. In another embodiment each flash pad 10 is assigned an unique identification number and the computer program can address or receive information about each pad′ss status via the identification number. This identification number is reported along with the pad's broadcast when it is pushed.
The system may have a separate visual display system connected to the nodes and the central computer. The visual display system may be any type of television, projection, or computer monitor. The visual display may display information about the flash pad 10 array 100 system or the gameplay. In other embodiments the visual display system shows the flash pad 10 array 100 during game play. The visual display may be utilized to enhance game play by showing videos, graphics, virtual environments, or any other type of display. The system may have one or more speakers connected to the system. The speakers may play any sound during gameplay. The speakers may be set up in surround sound format. Any type of speaker or sound bar may be utilized in the sound system.
Additional technical information follows:
Controller Area Network (CAN)-CAN bus is a multi-master serial bus standard for connecting micrcontrollers (known as nodes) for the purposes of monitoring sensors and communicating with a master computer. Nodes are connected to each other through a physically conventional two wire bus. The wires are a twisted pair with a 120Ω (nominal) characteristic impedance. The CAN2.0B specification contains two frame formats known as Extended Frame and Standard Frame which contain 29-bit IDs and 11-bit IDs respectively. A CAN message consists of the following components: 29-bit or 11-bit ID, Data Length Code (DLC) between 0 to 8 and up to 8 bytes of data (should match DLC). CAN bus is commonly used in the automotive industry to network sensors and controllers together for analysis at the main host controller. The flash pads 10 can be set up in one specific network. In other embodiments multiple flash pads 10 can be set up in multiple networks. These multiple networks can be configured into end-point to end-point networks.
Flash pads 10 use a CAN bus to communicate between pads. The pads are connected via a CAT5 ethernet cable in series. The cable carries twisted pair data communication for the CAN bus, as well as 36 VDC power to each pad. The pads are terminated on each end with 120 ohm impedance between the CAN bus high and low lines. The flash pads 10 may also communicate wire free using standard WIFI protocol based on the IEEE 802.11 family of standards and/or using the ESP-NOW wireless standard or any other standard for communicating wirelessly.
There may be different power and resistance levels of the flash pad network without any departure from the invention. The system may be low voltage or high voltage. The system may have low resistance or high resistance.
Each of the flash pads 10 in the system contains an array 100 of addressable LEDs that are controlled by the host flash pad 10. The host flash pad 10 is also connected to a PC (personal computer) via a USB to serial converter circuit. This is so the game on the PC, can monitor all button inputs via the CAN bus through a serial communication port. The game can send out commands to control the color mixing of any of the flash pads 10 on press or release of a button. The flash pads 10 can also be updated wirelessly over the air (OTA) if needed, through WIFI. Each pad is assigned a unique ID number during factory setup, so the game knows what button was pressed regardless of position of the flash pad 10 within the array 100.
Flash pads 10 are powered via 2.1 mm DC jack input from an array 100 of 120 VAC to 36 VDC power supplies. This provides 36 VDC to each pad through the CAT5 cables. Power is individually regulated on each pad, in order to run the microcontroller on each pad. Each pad also contains a CAN bus transceiver, to amplify the CAN bus signal for the next pad in series In other embodiments the system is powered by 48V DC power supply.
When a user presses a pad with their foot, the central computer will see that button ID was pressed or released, on the central computer. The game will then determine if the button was pressed or released at the correct time interval, based on game rules set on the central computer. The button may change color and/or trigger a feedback sound effect over the system through amplified speakers connected to a LCD TV display above the flash pads 10. In other embodiments the speakers are not connected to the TV display.
A variety of games may be made with UNITY software development tools, or any other software development tools, that interface with the flash pads 10 via USB to serial conversion. The host pad will translate the commands into a message type that is transmitted over the CAN bus appropriately. The message structure follows the CAN2.0B specification and 11 bit ID system. 8 bytes are used for the data length. All game processing is performed on the central computer running the flash pad game.
Game play on the system may be configured to play any number of games with the array 100 of flash pads 10. In one such game a player may play “jump rope” on the array 100 of flash pads 10. In this game a player must jump over a horizontal line streaming across the flash pad 10 row by row while standing on the starting pads. If the line touches the player's pad while the button is still depressed, the player will lose, or miss a point. The speed increases with each jump.
In another game a player may play “hurdles” on the array 100 of flash pads 10. This game is similar to jump rope, but multiple players can run in place on the pads, causing the horizontal line to reach them faster, then they must jump to avoid hitting the virtual ‘hurdle’.
In another game a player may play “temple run” on the array 100 of flash pads 10. In this game players balance on a pre-determined pattern of squares that light up on the array 100 of flash pads 10. They will continue to progress along the predetermined path, while pads will turn off behind them, forcing the player to move forward on the path. If the light of pad on which the player is standing turns off then the player has lost the game. In other embodiments the lights turn on and off randomly. In other embodiments the game will end if the player steps on any “unlit” pad.
In another game a player may engage in “dancing.” In this game a player taps predetermined buttons to the beat of music via flashing lights on the flash pads 10.
It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art can recognize that many further combinations and permutations of such matter are possible. Accordingly, the claimed subject matter is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a tangible, non-transitory computer-readable storage medium. Tangible, non-transitory computer-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of non-transitory computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a tangible, non-transitory machine readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.
This application claims priority to U.S. provisional patent application Ser. No. 63/471,659 filed on Jun. 7, 2023, the disclosure of which is hereby fully incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63471659 | Jun 2023 | US |