The present disclosure relates to a toy with proximity-based interactive features.
Children and adults enjoy a variety of toy figures (figurines), such as action figures and dolls, which can be manipulated to simulate real life and fantastical activities. As such, toy figures often provide entertainment, enhance cognitive behavior, and stimulate creativity. One way of increasing the available play options is to provide toy figures capable of interacting with a user (e.g., a child).
Like reference numerals have been used to identify like elements throughout this disclosure.
Presented herein are techniques associated with an interactive toy, such as a toy figure, that produces different (variable) audible, visual, mechanical, or other outputs based on the proximity of an object to the toy. In particular, the proximity of the object to the toy is determined using a photosensor (photo sensor) circuit and the proximity is classified/categorized as falling into one of a plurality of different proximity ranges. The proximity range in which the object is located is mapped to one or more audible or visual outputs, where the audible or visual outputs are adjusted/varied as the relative proximity of the object to the toy changes.
The embodiments presented herein may be used in a number of different types of toys or other devices/systems. However, merely for ease of illustration, the embodiments of the present invention will be generally described with reference to a toy figure (e.g., action figure, doll, etc.).
The battery 110 powers a circuit in the toy
The electronics assembly 124 includes a battery 110 and a microprocessor or microcontroller 112. As described further below, the microcontroller 112 is formed by one or more integrated circuits (ICs) and is configured to perform the methods and functions described herein. Also as described further below, the microcontroller 112 is selectably connected to the photosensor 106 via one or more of a plurality of input signal pathways. The photosensor 106 and the plurality of input signal pathways are sometimes collectively referred to herein as a photosensing circuit.
That is, the toy
In one embodiment, the photosensor 106 is a passive ambient light sensor that sends either a digital value or voltage level to the microcontroller 112 that corresponds to the ambient light level on the sensor. The microcontroller 112 may then use the digital value/voltage level as an indicator for the distance between the sensor 106 and the object (i.e., the closer the user's hand, the “darker” the ambient light level). In an alternative embodiment, the photosensor 106 is an IR proximity sensor that emits an IR beam (e.g., wide-angle) and measures intensity of reflected IR light back. The microcontroller 112 then uses the intensity of reflected IR light as an indicator for the distance between the sensor and the object (i.e., the closer the child's hand, the “brighter” the reflected IR light levels). In some embodiments, the microcontroller 112 uses a proxy, such as average capacitive charge times, to gauge the proximity of an object.
Regardless of the type of photosensor 106 employed, the microcontroller 112 takes the data from the sensor and maps the proximity of the object (determined from the sensor level) to one of a number of different outputs, such as different outputs produced by the audio output device 104 (e.g., different sounds, different frequencies of one or more sounds, etc.), r different outputs produced by the visual output device 108 (e.g., different intensities, different colors or combinations of colors, etc.), and/or different outputs produced by the mechanical output device 105. Stated differently, the microcontroller 112 is configured to associate (i.e., classify/categorize) the proximity of the object with one or more one of a plurality of different proximity ranges each representing a discrete input state. The microcontroller 112 is configured to use the one or more I/O mappings 115 to map the proximity range in which the object is located to one of a plurality of different output states, which each cause the audio output device 104, the visual output device 108, and/or the mechanical output device 105 to produce different outputs (i.e., the microcontroller correlates the received signal with a discrete output state corresponding to the determined input state range). In one example, different proximities of the object, as indicated by different sensor levels, produce different musical tones.
As described further below, in certain embodiments, the mapping of proximities (i.e., input states) to outputs (i.e., output states) is determined dynamically and/or adaptively to accommodate changes in background/ambient lighting levels (e.g., from use-to-use or perhaps during a single use). That is, when the toy
Shown in
Initially, object 325 is located at position 326(A), which is in proximity range 316(1). In this proximity range 316(1), the photosensor 106 receives/senses a light intensity level 317(1). As noted above, one or more inputs from the photosensor 106, which represent the received light intensity level 317(1), are used by the microcontroller 112 to determine the proximity range of the object 325. As shown in
Subsequently, the object 325 moves to position 326(B) so that the object is within proximity region 316(2), where the photosensor 106 receives a light intensity level 317(2). Again, as noted above, the photosensor 106 converts the light intensity level 317(2) into one or more inputs that are provided to the microcontroller 112. The microcontroller 112 then determines that the object is within proximity region 316(2) based on the one or more inputs from the photosensor 106. As shown in
In the example of
After position 326(D), the object 325 moves to position 326(E), which is within the closest proximity range 316(5). As shown in
As shown by the trajectory curve 327 of the object 325, positions 326(A)-326(E) are all encountered as the object 325 is moved towards the toy
In the examples of
In summary,
In one example, the capacitors 420(0)-420(5) form a programmable gain controller (PGC) which produces outputs that are provided on the one or more of the input pathways 428(0)-428(5) to the microcontroller 112. As noted above, the photosensor 106 and the plurality of input signal pathways 419 (including capacitors 420(0)-420(5)) are sometimes collectively referred to herein as a photosensing circuit.
As noted above, the photosensor 106 is configured to convert incoming light into one or more input signals that are provided to the microcontroller 112. These input signals, which are generally represented in
In an embodiment, the toy
In a “Rehearsal Mode,” one or more background audio tracks are looped several times (e.g., two times for a total of 32 seconds). In this mode, the microcontroller 112 adjusts the volume of an overlaid vocal track based on the proximity of an object to the toy
The toy
The toy
Further details of the operation of the proximity sensing operations are now described below with reference to
I=C*dV/dt,
where I is the current through the photosensor 106, C is the capacitor value, dV is the total voltage rise until logic switch, and dt is the charge-up time.
In certain examples, the charge-up time may be measured, for example, as a 12-bit value by a polling loop. The loop may be 15 instructions long, or 3.75 microseconds, and may time out at value 0xB00, or 10.6 milliseconds. The capacitors 420(1)-420(5) may be buffered by a field-effect transistor 432 (e.g., a 2N7002 MOSFET) in order to stabilize the charge-up time for a given light level over the battery voltage. As described further below, the capacitor used for the determination (e.g., one of capacitors 420(1)-420(5)) is selected based on the ambient light (i.e., the amount of light in the environment in which the toy
By switching the I/O pins of the microcontroller 112 connected to each capacitor 420(0)-420(5) from a value of zero (0) to float, the microcontroller 112 can switch each unused capacitor off and effectively vary C. For a given load of R, the MOSFET 432 in a common-source circuit will consume no gate current and will switch at a specific voltage.
The microcontroller 112 can determine the current through the photosensor 106 using the following process. First, an I/O pin is used by the microcontroller 112 to switch the gate of the MOSFET 432 to 0V via input pathway 428(0), forcing the gate-to-source voltage (Vgs) of the MOSFET 432 to 0V. Next, the microcontroller sets the I/O pin at input pathway 428(0) to “float,” sets the I/O pin for the selected input pathway to 0V, and starts a timer. The gate to source voltage rises due to the phototransistor current. The microcontroller 112 then records the time when the MOSFET 432 switches. Given the currently enabled PGC capacitor (i.e., which of the capacitors 420(0)-420(5) is selected), the switching time informs the microcontroller 112 of the intensity of the received light (L). If the reading is saturated (e.g., too dark/charge time too long, or too bright/charge time too short), then a different PGC capacitor can be selected and the process can be repeated.
A calibration routine may be utilized to set a baseline reading (i.e., the ambient light reading, referred to herein as “BASE”) for the interactive proximity feature, as well as to calculate thresholds for proximity ranges (e.g., proximity ranges 316(1)-316(5)). During the calibration routine, the microcontroller 112 calibrates to the ambient light level, including calculating a reading DELTA between positions given the current mode.
Table 1 provides example photosensor currents for a respective capacitor which may correspond to capacitors 420(0)-420(5) in
The above table illustrates an example in which there are six (6) different input signal pathways, each having a different associated capacitance value, which may be used to receive signals from the photosensor 106 (i.e., different capacitance values that may be used to sense the current through the photosensor). The microcontroller 112 is configured to execute a calibration routine to determine which of the input signal pathways (i.e., which capacitance value) should be activated at any given time. The calibration routine sets the baseline reading (i.e. the ambient light reading or BASE) for the interactivity feature, as well as sets up the thresholds for each of the proximity steps. The calibration routine may be triggered by a number of different events, such as when the toy figure enters one of the Warmup Mode, the Rehearsal Mode, or the Try-Me Mode, the microcontroller 112 obtains a photosensor reading (TIME) that is less than the current baseline reading (i.e., TIME<BASE), when the microcontroller 112 selects a new input signal pathway, a user input, etc.
For example, a calibration procedure may be invoked when a user presses an activation switch 114 on the toy
As noted above, the microcontroller 112 is configured to sense the proximity of an object within various proximity steps/range (e.g., proximity ranges 316(1)-316(5)). The width of each of these proximity ranges may vary linearly with the baseline value (BASE), and is given by the value DELTA. DELTA is calculated in the calibration routine. In one example, the Warmup Mode utilizes five proximity ranges and DELTA is calculated as DELTA=BASE>>3, where “>>” represents an arithmetic right bitwise shift and the number following represents the number of places the value before the “>>” is shifted. The Rehearsal Mode may utilize eight proximity steps, and DELTA is calculated instead as DELTA=BASE>>4. In addition, some hysteresis may be added to the system in order to prevent rapid switching at the step thresholds. This hysteresis may be calculated as HYST=DELTA>>2.
After calibration, if the baseline ambient light reading (BASE) is less than 0x100 or greater than 0x800 (i.e., outside the baseline charge-up value for the selected capacitor), then the microcontroller 112 automatically selects a new charge up capacitor (i.e., select a new input signal pathway) and attempts recalibration after a short timeout. The calibration routine is then automatically restarted. If the new capacitor still gives a baseline reading that is too low or too high, then the routine repeats until either a suitable value is found or the lowest/highest capacitor value is reached (e.g., the lowest/highest capacitor value from Table 1). This calibration routine allows the proximity detection system to work properly in a wide range of ambient light environments.
To facilitate operation in, for example, environments that include halogen lamps on dimmers or fluorescent lamps with inductor ballasts, an averaging system is provided to stabilize the output in situations involving low frequency modulated light (e.g., 60 Hz). In one example, an averaging system uses a 16-bit running sum (SIGMA) of all of the previous readings to store the average light level (AVG_TIME). To calculate the average, the following calculation is performed after each photosensor reading:
SIGMA=SIGMA−AVG_TIME+TIME
AVG_TIME=SIGMA>>4
The AVG_TIME is then used for subsequent proximity calculations.
After the baseline value has been established (BASE), and the sensor input has been sensed and averaged (AVG_TIME), BASE and AVG_TIME may be compared so that the proximity level can be ascertained in steps (QUOT) of length DELTA. This is accomplished by the following calculation: QUOT=(AVG_TIME−BASE)/DELTA. QUOT is generally positive. If QUOT is negative, then a recalibration is triggered. QUOT may be hard limited by 0<=QUOT<=4 for Warmup Mode or 0<=QUOT<=7 for Rehearsal Mode.
In an embodiment, the toy figure outputs a light signal, such as one white LED. Light from the light signal may affect sensor readings, especially in darker ambient environments. For this reason, the LED may be turned off for a “blanking period” when the photosensor 106 is taking a reading. It is helpful that any given blanking period be sufficiently short, so as to avoid user perception or detection.
In accordance with examples presented herein, once the photosensor 106 has finished taking a reading, the data is processed in the following manner to translate this reading into the various positions used by the toy
As noted above, in accordance with the techniques presented herein, the microcontroller 112 is configured to utilize one or more I/O mappings 115 of a plurality of sequential ranges of input states (i.e., proximity ranges) to a plurality of discrete output states to generate variable outputs. That is, the microcontroller 112 receives an input signal from the photosensor 106 through at least one input signal pathway 419. The microcontroller 112 then determines that the input signal falls within one of the ranges of input states. Using the one or more I/O mappings 115, the microcontroller 112 correlates the input state range in which the input signal falls with a selected one of the plurality of discrete output states and then produces an output signal corresponding to the selected output state. An output mechanism, such as visual output device 108, audio output device 104, and/or mechanical output device 105, receives the output signal from the microcontroller 112 and generates an output corresponding to the selected output state.
Two modes in which the one or more I/O mappings are utilized are the above-described “Warmup Mode” and the above-described “Rehearsal Mode.” While in the Warmup Mode, the mapping can be given as:
QUOT=0: LED off (PD=0xF), and toggle MAJOR or MINOR key
QUOT=1: LED at level 1 (PD=0xE); Play note01_db.wav
QUOT=2: LED at level 2 (PD=0xD); Play note03_f.wav
QUOT=3: LED at level 4 (PD=0xB);
QUOT=4: LED at level 7 (PD=0x8); Play note08_db.wav
In the above example, “QUOT” is the input state, and the LED levels and the associated keys/notes are the output states.
While in the Rehearsal mode, the mapping can be given as:
QUOT=0: LED off (PD=0xF), Channel 0 volume at 0 (off)
QUOT=1: LED at level 1 (PD=0xE); Channel 0 volume at 1
QUOT=2: LED at level 2 (PD=0xD); Channel 0 volume at 2
QUOT=3: LED at level 3 (PD=0xC); Channel 0 volume at 3
QUOT=4: LED at level 4 (PD=0xB); Channel 0 volume at 4
QUOT=5: LED at level 5 (PD=0xA); Channel 0 volume at 5
QUOT=6: LED at level 6 (PD=0x9); Channel 0 volume at 6
QUOT=7: LED at level 7 (PD=0x8); Channel 0 volume at 7 (max)
In the above example, “QUOT” is the input state, and the LED levels and associated volumes are the output states.
The above examples have been primarily described herein with reference to the use of current-based measurements to detect the proximity of an object to a toy figure. It is to be appreciated that alternative embodiments may make use of voltage-based measurements to detect the proximity of an object to a toy figure. For example,
Although the disclosed inventions are illustrated and described herein as embodied in one or more specific examples, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the scope of the inventions and within the scope and range of equivalents of the claims. In addition, various features from one of the embodiments may be incorporated into another of the embodiments. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the disclosure as set forth in the following claims.
It is to be understood that terms such as “left,” “right,” “top,” “bottom,” “front,” “rear,” “side,” “height,” “length,” “width,” “upper,” “lower,” “interior,” “exterior,” “inner,” “outer” and the like as may be used herein, merely describe points or portions of reference and do not limit the present invention to any particular orientation or configuration. Further, terms such as “first,” “second,” “third,” etc., merely identify one of a number of portions, components and/or points of reference as disclosed herein, and do not limit the present invention to any particular configuration or orientation.
Number | Name | Date | Kind |
---|---|---|---|
3274729 | Claude | Sep 1966 | A |
4272916 | Giordano | Jun 1981 | A |
4479329 | Fraden | Oct 1984 | A |
4659919 | Price | Apr 1987 | A |
4675519 | Price | Jun 1987 | A |
4717363 | Refabert | Jan 1988 | A |
4757491 | Koike | Jul 1988 | A |
5373096 | Suzuki | Dec 1994 | A |
5413518 | Lin | May 1995 | A |
5501627 | Ekstein | Mar 1996 | A |
6273421 | Thalheimer | Aug 2001 | B1 |
6592422 | Rehkemper | Jul 2003 | B1 |
6685530 | Rehkemper | Feb 2004 | B1 |
6695672 | Rehkemper | Feb 2004 | B1 |
6997772 | Fong | Feb 2006 | B2 |
7364488 | Mueller | Apr 2008 | B2 |
7429931 | Severson | Sep 2008 | B2 |
7804417 | Fujikawa | Sep 2010 | B2 |
7939742 | Glaser | May 2011 | B2 |
7942720 | Galoustian | May 2011 | B1 |
8093483 | Dancer | Jan 2012 | B2 |
8697977 | Lysaght | Apr 2014 | B1 |
8718823 | Tsujino | May 2014 | B2 |
8796529 | Butera | Aug 2014 | B2 |
20040043696 | Suzuki | Mar 2004 | A1 |
20070008726 | Brown | Jan 2007 | A1 |
20080305709 | Chan | Dec 2008 | A1 |
20090311941 | Bickerton | Dec 2009 | A1 |
20120052765 | Cannon | Mar 2012 | A1 |
20150186702 | Pletcher | Jul 2015 | A1 |
Number | Date | Country |
---|---|---|
2004086118 | Mar 2004 | JP |
2005037758 | Feb 2005 | JP |
2007155946 | Jun 2007 | JP |
2009007512 | Jan 2009 | WO |
2011102744 | Aug 2011 | WO |
Number | Date | Country | |
---|---|---|---|
20180104605 A1 | Apr 2018 | US |