STATUS COMMUNICATION DEVICE
A status communication device includes a housing, at least one measuring unit, at least one state displaying unit, a transmitting unit, a receiving unit, a data selecting unit, and a state display controlling unit. The at least one measuring unit measures biological data of a user and an ambient state of the housing. The at least one state displaying unit displays a state of the user or the ambient state of the housing. The transmitting unit transmits first measurement-related data to at least one external device. The first measurement-related data is measurement data measured by the measuring unit or data based on the measurement data. The receiving unit receives second measurement-related data from at least one external device. The data selecting unit selects one state corresponding to the second measurement-related data to display with the state displaying unit if the receiving unit receives a plurality of the second measurement-related data within a prescribed interval. The state display controlling unit controls the state displaying unit based on the second measurement-related data selected by the data selecting unit.
This application is a continuation-in-part of PCT/JP2006/314577 of an international application designating the United States of America filed on Jul. 24, 2006 (international filing date), and further claims priority based on 35 U.S.C section 119 to Japanese Patent Applications No. 2005-216999 filed Jul. 27, 2005, No. 2005-220271 filed Jul. 29, 2005, and No. 2005-215221 filed Jul. 26, 2005.
TECHNICAL FIELDThe present invention relates to a status communication device and a storage medium for storing a status communication program, and particularly to a status communication device for communicating with a plurality of status communication devices and a storage medium for storing a status communication program capable of communicating with a plurality of status communication devices.
BACKGROUNDConventional electronic devices have been proposed for transmitting the emotions of a user using a terminal, the status of the terminal, and the like to other terminals. For example, the electronic device displays various states with a display, such as LEDs of a number equivalent to the number of states, or displays states by turning on and flashing a single display, as in a communication device disclosed in Japanese unexamined patent application publication No. H11-306445, where each state is represented by a flashing pattern.
Alternatively, a content displaying device disclosed in Japanese Patent Application Publication No. 2004-228721 sequentially displays various content distributed over a network, without requiring the user to perform any operations, by displaying part of the content for a fixed interval and automatically switching the display to different parts of the content, each displayed at the fixed interval, so that the user can view a larger amount of distributed content.
SUMMARYHowever, the conventional status communication device for receiving states of other status communication devices and displaying these states on a display using a different display format for each type of state can be problematic when states are received from a plurality of status communication devices. Specifically, the content displaying apparatus disclosed in Japanese Patent Application Publication No. 2004-228721 uses the method of displaying each state in sequence for a fixed interval, but a great amount of time is required to display all states. Shortening the interval in which the states are displayed can be confusing to the user because the display switches too frequently.
Therefore, it is an object of the present invention to provide a status communication device and a storage medium for storing-a status communication program capable of displaying the states of other status communication devices in a way that is not confusing to the user, even when the status communication device is communicating with a plurality of other status communication devices.
In order to attain the above and other objects, the invention provides a status communication device including a housing, at least one measuring unit, at least one state displaying unit, a transmitting unit, a receiving unit, a data selecting unit, and a state display controlling unit. The at least one measuring unit measures biological data of a user and an ambient state of the housing. The at least one state displaying unit displays a state of the user or the ambient state of the housing. The transmitting unit transmits first measurement-related data to at least one external device. The first measurement-related data is measurement data measured by the measuring unit or data based on the measurement data. The receiving unit receives second measurement-related data from at least one external device. The data selecting unit selects one state corresponding to the second measurement-related data to display with the state displaying unit if the receiving unit receives a plurality of the second measurement-related data within a prescribed interval. The state display controlling unit controls the state displaying unit based on the second measurement-related data selected by the data selecting unit.
According to another aspect, the invention also provides a storage medium storing a status communication program readable by a computer, the status communication program including:
instructions for measuring biological data of a user and an ambient state of the computer;
instructions for displaying the state of the user or the ambient state of the computer on a state displaying unit;
instructions for transmitting first measurement-related data, which is measurement data measured by the measuring instructions or data based on the measurement data, to at least one external device;
instructions for receiving second measurement-related data from at least one external device in a receiving unit;
instructions for controlling the state displaying unit based on the second measurement-related data; and
instructions for selecting one state corresponding to the second measurement-related data to display with the state displaying unit if the receiving unit receives the plurality of the second measurement-related data within a prescribed interval;
wherein the controlling instructions include controlling the state displaying unit based on the second measurement-related data selected by the data selecting unit.
In the drawings:
Next, a status communication device and a storage medium for storing a status communication program according to the present invention will be described while referring to the accompanying drawings. First, a status communication device 1 according to a first embodiment will be described with reference to
As shown in
Next, the electrical structure of the status communication device 1 will be described with reference to
The modules provided on the status communication device 1 for measuring the state of the status communication device 1 include a bending sensor 11, an accelerometer 12, a temperature sensor 13, a photosensor 14, a pressure sensor 15, a humidity sensor 16, and a microphone 29. Other modules provided on the status communication device 1 for measuring the state of the user are a body heat sensor 17, a perspiration sensor 18, and a heart rate sensor 19.
The bending sensor 11 measures deformation in the surface of the status communication device 1 using a strain gauge to determine whether the user is holding the status communication device 1 or to measure the amount of force the user is applying when gripping the status communication device 1. The accelerometer 12 uses a piezoelectric ceramic material, changes in capacitance, and the like to measure movement of the status communication device 1, including the direction of movement and acceleration thereof, and to detect a state in which the status communication device 1 is shaken by the user and the velocity of the status communication device 1 at this time. The temperature sensor 13 employs a platinum resistance temperature detector, a thermistor, a thermocouple, or the like to indicate temperature for measuring ambient temperature around the status communication device 1. The photosensor 14 uses a phototransistor or CdS or the like to measure the intensity of light and is provided on the surface of the status communication device 1. The pressure sensor 15 includes a fixed resistor connected in series to a conductive rubber. The pressure sensor 15 measures pressure applied to the status communication device 1 by measuring a divided voltage in the conductive rubber when a specific voltage is applied so as to detect whether the user has pressed the status communication device 1 and the location of this pressure. The humidity sensor 16 is also provided on the surface of the status communication device 1 and uses ceramic and polymer material to measure the amount of moisture in the air around the status communication device 1. The microphone 29 inputs voice, sounds near the status communication device 1, and the like.
The body heat sensor 17 is a temperature indicator employing a platinum resistance temperature detector, a thermistor, a thermocouple, or the like for measuring the temperature of the user's fingers or palm touching the status communication device 1. The perspiration sensor 18 is a small humidity sensor provided on the surface of the status communication device 1 for measuring perspiration on the surface of the user's fingers or palm by measuring evaporated moisture. The perspiration sensor 18 measures the amount of perspiration in units of mg/cm2/min, measuring one cm2/min. The heart rate sensor 19 is a pressure sensor provided on the surface of the status communication device 1 for measuring the heart rate (pulse rate) of the user touching the status communication device 1 by measuring pressure of blood flow.
The status communication device 1 also includes LEDs 21, a flashlamp 22, a motor 23, a heater 24, and a speaker 25 for reporting the state of the status communication device 1 and the state of the user using the status communication device 1. The LEDs 21 can be lit in a variety of colors and brightnesses and can emit light in a desired direction (upward, downward, and the like). The flashlamp 22 emits light at various intensities. The motor 23 vibrates the status communication device 1. The heater 24 generates heat in the surface of the status communication device 1 at a low temperature, i.e., a temperature that feels warm to the user but does not burn the user's skin. The speaker 25 outputs sound.
The state reporting portions (LEDs 21) described above are provided for displaying the state of the status communication device 1 in which the device is provided and the state of the user of this status communication device 1, as well as the state of other status communication devices 1 and their users. The spherical surface of the status communication device 1 is divided into one hemispherical surface 1A (the side shown in
The following description of the preferred embodiment is an example of displaying states using the LEDs 21. The status communication device 1 includes a total of twelve LEDs 21 (LEDs 211-222), with the six LEDs 211-216 provided in the hemispherical surface 1A for displaying the state of the status communication device 1, and the six LEDs 217-222 provided in the hemispherical surface 1B for displaying the state of other status communication devices 1. The casing of the status communication device 1 is formed of a material that transmits light (a translucent plastic resin, for example). The hemispherical surface 1A side illuminates when any of the LEDs 211-216 are turned on, and the hemispherical surface 1B side illuminates when any of the LEDs 217-222 are turned on. The LEDs 211 and 217 are red, the LEDs 212 and 218 pink, the LEDs 213 and 219 yellow, the LEDs 214 and 220 white, the LEDs 215 and 221 green, and the LEDs 216 and 222 light blue, allowing states to be differentiated by color.
The states in the example of the preferred embodiment are “thrilled” (state no. 1), “excited” (state no. 2), “nervous” (state no. 3), “tense” (state no. 4), “pleased” (state no. 5), and “interested” (state no. 6). The ROM 20 of the status communication device 1 stores output data indicating which LED color to turn on for each state.
Using the sensors 11-19 and 29, the status communication device 1 measures biological data for the person using the status communication device 1 (user) and measures changes in the state of the status communication device 1. The status communication device 1 determines index data described later indicating the state of the user based on the measurement data and prescribed rules. The status communication device 1 can use the index data itself or transmit this data to another status communication device 1. In the preferred embodiment, the index data is the state number indicating the state of the user.
The actuators 21-26 can report index data determined from measurement data received from the sensors 11-19 and 29 or index data received from another status communication device 1 in various formats determined according to the prescribed rules in order to render the state of the user. Specifically, the status communication device 1 in the preferred embodiment lights an LED of the color corresponding to the state number in the output data storage area 121 of the ROM 20, as described above. When displaying index data determined from its own measurement data, the status communication device 1 lights one of the LEDs 211-216 of the corresponding color. When displaying index data received from another status communication device 1, the status communication device 1 lights one of the LEDs 217-222 of the corresponding color.
Next, the case of displaying index data (state number) of another status communication device 1 will be described. If a single status communication device 1 transmits index data one time only, the status communication device 1 receiving the index data can light the LEDs 217-222 based on state number indicated by the received index data. However, if the status communication device 1 receives index data from a plurality of another status communication devices 1 or receives a plurality of index data from another status communication device 1 within a prescribed interval, the status communication device 1 cannot display the states indicated by each index data without a delay in the timing at which the states are displayed and without confusing the user as to which state is being displayed. Therefore, the status communication device and the status communication program according to the preferred embodiment select one state based on index data received within a fixed interval and displays the one state using one of the LEDs 217-222. The status communication device 1 according to the preferred embodiment has seven methods for selecting and displaying a state (first through seventh state displaying methods). The status communication program executed on the status communication device 1 according to the preferred embodiment (first through seventh state displaying methods) is configured of a main reception process (reception and determination processes) and a main outputting process (other data outputting process). The CPU 10 of the status communication device 1 executes the status communication program.
First, the first through seventh state displaying methods of the preferred embodiment will be described, after which each methods will be described in greater detail. In the first state displaying method, the status communication device 1 counts each type of state (state number) indicated by index data received within a prescribed interval (10 seconds, for example) and displays the state having the largest count using the LEDs 217-222. In the second state displaying method, the status communication device 1 assigns a level to each type of state (state number), calculates the average value of the products obtained by multiplying the received count of each state by its level, and displays the state closest to the average value of the products using the LEDs 217-222. In the third state displaying method, the status communication device 1 assigns a level to each type of state (state number) and displays the state having the greatest level using the LEDs 217-222. In the fourth state displaying method, the status communication device 1 assigns a weighting coefficient to each type of state (state number) and displays the state producing a largest product when multiplying the received count of each state by its weighting coefficient using the LEDs 217-222. In the fifth state displaying method, the status communication device 1 displays the state indicated by index data received first in the prescribed interval (10 seconds, for example) using the LEDs 217-222. In the sixth state displaying method, the status communication device 1 displays the state indicated by the index data last received from a status communication device 1 that transmitted the most index data within the prescribed interval (10 seconds, for example) using the LEDs 217-222. In the seventh state displaying method, the status communication device 1 displays the state indicated by the index data last received from the status communication device 1 that transmitted index data with the shortest interval between transfers using the LEDs 217-222.
Next, the first state displaying method performed on the status communication device 1 will be described in greater detail with reference to
First, variables used in the reception process and outputting process will be described with reference to
Next, the reception count storage area 135 will be described with reference to
Next, the main reception process will be described with reference to the flowcharts in
Next, the reception process for the first state displaying method will be described with reference to
In S7 the CPU 10 determines whether the prescribed interval has elapsed. To make this determination, the CPU 10 acquires the current time from the timer 40, measures the elapsed time by subtracting the time stored in the current time storage area 136 from the current time, and determines whether the elapsed time is greater than or equal to the prescribed interval. If the prescribed interval has not elapsed (S7: NO), then in S8 the CPU 10 determines whether data has been received from another status communication device 1. If no data has been received (S8: NO), the CPU 10 returns to S7. However, if data has been received (S8: YES), then in S9 the CPU 10 analyzes the received data and adds a 1 to the value in the count column for the state indicated by the index data in the reception count storage area 135. Subsequently, the CPU 10 returns to S7.
When the prescribed interval has elapsed after repeating the process in S7-S9 (S7: YES), in S10 the CPU 10 performs the determination process (see
As shown in
In S13 the CPU 10 determines whether the value of the state counter K is greater than 6, which is the total number of state types, in order to determine whether all states have been checked. If the value of the state counter K is not greater than 6 (S13: NO), then in S14 the CPU 10 determines whether the received count for the Kth state stored in the reception count storage area 135 is greater than the value stored in the state count storage area 133. Since the value of the state counter K is 1 at this time, and the received count of state no. 1 is 2 in the example of
Since the value of the state counter K is now 2, which is not greater than 6 (S13: NO), the CPU 10 reads the reception count for state no. 2 (a count of 3 in the example of
Since the value of the state counter K is 3 at this time, which is not greater than 6 (S13: NO), the CPU 10 reads the reception count for state no. 3 (0 in the example of
Next, the main outputting process will be described with reference to the flowcharts in
In S105 the CPU 10 performs the other data outputting process (see
In S111 of the other data outputting process shown in
However, if the Kth state number in the output data table matches the determined state number acquired in S101 (S113: YES), then in S115 the CPU 10 lights the LED having the color specified by the Kth LED color number in the LED color number column of the output data storage area 121 and returns to the main outputting process. Since the determined state number is 4 in the example of
In the first state displaying method described above, the status communication device 1 can report the state most often indicated by the received index data using the LEDs 217-222 as the state of the other status communication device 1. This method is effective for reporting the most common state when a plurality of people possess status communication devices 1 and it is desirable to learn the overall state of the status communication devices 1.
Next, the second state displaying method executed on the status communication device 1 will be described with reference to
First, variables used in the reception process (see
The current time storage area 231, state counter K storage area 232, reception count storage area 234, and state count storage area 235 have the same functions as the current time storage area 136, state counter K storage area 131, reception count storage area 135 (
Next, the level storage area 122 provided in the ROM 20 will be described with reference to
As in the first state displaying method, the second state displaying method also involves the main reception process, reception process, determination process, main outputting process, and other data outputting process. Since the main reception process, reception process, main outputting process, and other data outputting process in the second state displaying method are identical to those in the first state displaying method (
In S21 of
In S23 the CPU 10 determines whether the value of the state counter K is greater than 6, which is the total number of state types, in order to determine whether all states have been checked. If the value of the state counter K is not greater than 6 (S23: NO), then in S24 the CPU 10 reads the reception count for the Kth state from the reception count storage area 234, reads the level of the Kth state from the level storage area 122, and adds the product of the reception count and level to the value stored in the total level storage area 236. In S25 the CPU 10 adds the reception count for the Kth state to the value in the state count storage area 235. Since the total level value is initially 0 and the state no. 1 has a reception count of 2 in
Since the value of the state counter K is not greater than 6 at this time (S23: NO), in S24 the CPU 10 reads the reception count for state no. 2 (3 in this example) from the reception count storage area 234 and the level from the level storage area 122 (5 in this example), adds the value 15 (3×5) to the value of 12 stored in the total level storage area 236 and stores this sum of 27 in the total level storage area 236. In S25 the CPU 10 adds the reception count of 3 to the value of 2 stored in the state count storage area 235, updating the state count storage area 235 to 5, in S26 increments the state counter K by 1, so that the state counter K is now 3, and returns to S23.
When the value of the state counter K becomes greater than 6 after repeating the above process in S23-S26 (S23: YES), the CPU 10 skips to S27 and stores a value in the average value storage area 237 obtained by dividing the value stored in the total level storage area 236 by the value stored in the state count storage area 235. In S28 the CPU 10 stores an integer value in the determined state number storage area 233 obtained by rounding off the value stored in the average value storage area 237. Subsequently, the CPU 10 returns to the reception process, and then returns to the main reception process. Since the value 40 is stored in the total level storage area 236 and the value 10 is stored in the state count storage area 235, using the examples of
Therefore, in the other data outputting process of
In the second state displaying method described above, the status communication device 1 assigns the level to each type of state (state number), calculates the average value of products obtained by multiplying the reception count for each state by the level of that state, and indicates the state (state number) closest the average value of the products using the LEDs 217-222. This method is effective for reporting the most common state so that the user can learn the overall state of a plurality of status communication devices 1, when a plurality of users are using status communication devices 1.
Next, the third state displaying method executed by the status communication device 1 will be described with reference to
First, variables used in the reception process and the outputting process will be described with reference to
The current time storage area 331, state counter K storage area 332, and reception count storage area 334 have the same functions as the current time storage area 136, state counter K storage area 131, and reception count storage area 135 (see
Next, the level storage area 123 provided in the ROM 20 will be described with reference to
As in the first state displaying method, the third state displaying method involves the main reception process, reception process, determination process, main outputting process, and other data outputting process. Since the main reception process, reception process, main outputting process, and other data outputting process in the third state displaying method are identical to those in the first state displaying method (see
In S31 of
In S33 the CPU 10 determines whether the value of the state counter K is greater than 6, which is the total number of state types, in order to determine whether all states have been checked. If the state counter K is not greater than 6 (S33: NO), then in S34 the CPU 10 reads the reception count for the Kth state from the reception count storage area 334 and determines whether this count is greater than 0. If greater than 0 (S34: YES), then there is at least one incident of the index data corresponding to state no. 1, which has the highest level. Since the state having the highest level is selected in the third state displaying method, in S35 the CPU 10 stores the value of the state counter K (1 at this time) in the state number storage area 335. In S37 the CPU 10 stores the value 1 from the state number storage area 335 in the determined state number storage area 333, and returns to the reception process in
However, if the count for state no. 1 is not greater than 0 (S34: NO), indicating that the index data for this state has not been received, then in S36 the CPU 10 increments the state counter K by 1, so that the state counter K is now 2, and returns to S33. Since the value of the state counter K is not greater than 6 at this time (S33: NO), in S34 the CPU 10 reads the count for state no. 2 from the reception count storage area 334 and determines whether this count is greater than 0. If the count is greater than 0 (S34: YES), indicating that at least one incident of the index data corresponding to state no. 2, which has the next highest level, was received. Therefore, in S35 the CPU 10 stores the value of the state counter K (2 at this time) in the state number storage area 335. In S37 the CPU 10 stores the value 2 from the state number storage area 335 in the determined state number storage area 333, and subsequently returns to the reception process in
However, if the count for state no. 2 is not greater than 0 (S34: NO), then the CPU 10 repeats the process in S33-S36 after incrementing the state counter K. If the value of the state counter K becomes greater than 6 without any of the states having a count greater than 0 (S33: YES), indicating that no index data has been received, then in S37 the CPU 10 stores the value 0 from the state number storage area 335, since the initial value in the state number storage area 335 remains unchanged, in the determined state number storage area 333. Subsequently, the CPU 10 returns to the reception process in
Hence, in the third state displaying method described above, the status communication device 1 sets the determined state to the state having the highest level among states for which index data was received and indicates this state with the LEDs 217-222 as the state of the other status communication devices 1. Hence, the user can learn the state having the highest level among states of status communication devices 1 used by a plurality of users.
Next, the fourth state displaying method executed on the status communication device 1 will be described with reference to
First, variables used in the reception process (
The current time storage area 431, state counter K storage area 432, and reception count storage area 434 have the same functions as the current time storage area 136, state counter K storage area 131, and reception count storage area 135 (see
Next, the weighting coefficient storage area 124 provided in the ROM 20 will be described with reference to
As in the first state displaying method, the fourth state displaying method involves the main reception process, reception process, determination process, main outputting process, and other data outputting process. Since the main reception process, reception process, main outputting process, and other data outputting process in the fourth state displaying method are identical to those in the first state displaying method (see
In S41 of
In S43 the CPU 10 determines whether the value of the state counter K is greater than 6, which is the total number of state types, in order to determine whether all states have been checked. If the state counter K is not greater than 6 (S43: NO), then in S44 the CPU 10 reads the count for the Kth state from the reception count storage area 434, reads the weighting coefficient for the Kth state from the weighting coefficient storage area 124, and compares the product of the reception count and weighting coefficient to the value (score) stored in the score storage area 436. If the product of the count and weighting coefficient is greater than the score (S44: YES), then in S45 the CPU 10 stores the value of the state counter K in the state number storage area 435 and in S46 stores the product of the count and weighting coefficient in the score storage area 436. Since state no. 1 has a count of 2 and a weighting coefficient of 1.0 based on the examples in
Since the value of the state counter K is now 2, which is not greater than 6 (S43: NO), in S44 the CPU 10 reads the count for state no. 2 from the reception count storage area 434 and the corresponding weighting coefficient from the weighting coefficient storage area 124 and compares the product of these values to the value stored in the score storage area 436. Since state no. 2 has a count of 3 and a weighting coefficient of 0.9, the product of the count and weighting coefficient (3×0.9=2.7) is greater than the score stored in the score storage area 436 (2.0; S44: YES). Therefore, in S45 the CPU 10 stores 2 in the state number storage area 435 and in S46 stores 2.7 in the score storage area 436. Next, the CPU 10 increments the state counter K by 1, so that the state counter K is now 3, and returns to S43.
Since the value of the state counter K is currently 3, which is not greater than 6 (S43: NO), the CPU 10 reads 0 from the reception count storage area 434 for the count of state no. 3, reads 1.2 from the weighting coefficient storage area 124 as the weighting coefficient, and compares the product of these values (0×1.2=0.0) to the value stored in the score storage area 436 (2.7). Since 0 is not greater than 2.7 (544: NO), the CPU 10 advances to S47 and increments the state counter K by status communication device 1, so that the state counter K is now 4, and subsequently returns to S43.
If the value of the state counter K becomes greater than 6 after repeating the process in S43-S47 described above (S43: YES), then the CPU 10 skips to S48 and stores the value from the state number storage area 435 in the determined state number storage area 433. Subsequently, the CPU 10 returns to the reception process of
Therefore, in the other data outputting process of
In the fourth state displaying method described above, the status communication device 1 assigns a weighting coefficient to each type of state (state number), calculates products of the count for each state and its weighting coefficient, and indicates the state having the greatest product with the LEDs 217-222. Hence, this method is effective for reporting the most common state in order to understand the overall state of a plurality of status communication devices 1 used by a plurality of users.
Next, the fifth state displaying method performed by the status communication device 1 will be described with reference to
In S52 the CPU 10 determines whether the prescribed interval has elapsed. Specifically, the CPU 10 acquires the current time from the timer 40 and the time stored in the current time storage area 136, measures the elapsed time based on their difference, and determines whether the elapsed time is greater than or equal to the prescribed interval. If the prescribed interval has not elapsed (S52: NO), then in S53 the CPU 10 determines whether at least one instance of data has already been received from another status communication device 1. Specifically, the CPU 10 determines whether a state number other than the initial value 0 has been stored in the state number storage area 132. Since no data has been received at this time (S53: NO), in S54 the CPU 10 determines whether data was received from another status communication device 1. If data has not been received (S54: NO), the CPU 10 returns to S52.
If data has been received (S54: YES), then in S55 the CPU 10 analyzes the received data and stores index data from the state number storage area 132 of the RAM 30 (state number) in the determined state number storage area 134, and subsequently returns to S52. If the prescribed interval has not elapsed (S52: NO), then in S53 the CPU 10 determines whether at least one data reception is complete based on whether a state number other than the initial value 0 has been stored in the state number storage area 132. If the data reception is complete (S53: YES), the CPU 10 returns to S52.
If the prescribed interval has elapsed after repeating the process in S52-S55 (S52: YES), the CPU 10 returns to the main reception process.
In the subsequent other data outputting process of
Hence, in the fifth state displaying method described above, the status communication device 1 can use the LEDs 217-222 to report a state indicated by the first received index data.
Next, the sixth state displaying method performed by the status communication device 1 will be described with reference to
First, variables used in the reception process and the outputting process will be described with reference to
The current time storage area 531 and state counter K storage area 532 have the same function as the current time storage area 136 and state counter K storage area 131 in
Next, the ID reception count storage area 534 will be described with reference to
In the example of
As in the first state displaying method, the sixth state displaying method involves the main reception process, reception process, determination process, main outputting process, and other data outputting process. Since the main reception process, main outputting process, and other data outputting process in the sixth state displaying method are identical to those in the first state displaying method (see
In S61 at the beginning of the process in
In S62 the CPU 10 determines whether the prescribed interval has elapsed. Specifically, the CPU 10 acquires the current time from the timer 40 and the time stored in the current time storage area 531, calculates the elapsed time based on their difference, and determines whether the elapsed time is greater than or equal to the prescribed interval (10 seconds, for example). If the prescribed interval has not elapsed (S62: NO), then in S63 the CPU 10 determines whether index data has been received from another status communication device 1. If no index data has been received (S63: NO), the CPU 10 returns to S62. However, if index data has been received (S63: YES), then in S64 the CPU 10 analyzes the received index data and updates the ID reception count storage area 534. More specifically, since this received index data is the first index data, the CPU 10 creates a first record, records the source ID in the index data in the source ID column, stores 1 in the count column, and stores the index data (state number) in the state number column. Subsequently, the CPU 10 returns to S62. Each time a new record is created in S64 the CPU 10 increments the value in the receiver number storage area 537 by 1.
If the prescribed interval has elapsed after repeating the process in S62-S64 (S62: YES), then in S65 the CPU 10 performs the determination process (see
Next, the determination process will be described with reference to
In S73 the CPU 10 determines whether the value of the state counter K is greater than the number of receivers in order to determine whether all states have been checked. If the state counter K is not greater than the number of receivers (S73: NO), then in S74 the CPU 10 reads the state count for the Kth record in the ID reception count storage area 534 and compares this count to the value stored in the state count storage area 536. If the state count read from the ID reception count storage area 534 is larger (S74: YES), then in S75 the CPU 10 reads the state number for the Kth record from the ID reception count storage area 534 and stores this state number in the state number storage area 535 and in S76 stores the count read in S74 in the state count storage area 536. Since the first record in the example of
Since the value of the state counter K (2) is not greater than the number of receivers (3) (S73: NO), the CPU 10 reads the count for state no. 2 from the ID reception count storage area 534 (3 in this example) and stores 2 in the state count storage area 536. Hence, the count read above is greater than the value stored in the state count storage area 536 (S74: YES), and the CPU 10 stores a 2 in the state number storage area 535 in S75 and stores a 3 in the state count storage area 536 in S76. In S77 the CPU 10 increments the state counter K by 1, so that the state counter K is now 3, and returns to S73.
Since the value of the state counter K is not greater than the number of receivers (3) (S73: NO), the CPU 10 reads the count for state no. 3 from the ID reception count storage area 534 and stores 3 in the state count storage area 536. The CPU 10 determines that the count read above is not greater than the value stored in the state count storage area 536 (S74: NO), and advances to S77 to increment the state counter K by 1, so that the state counter K is now 4. Subsequently, the CPU 10 returns to S73. Since the value of the state counter K (4) is greater than the number of receivers (3) (S73: YES), in S78 the CPU 10 stores the state number from the state number storage area 535 in the determined state number storage area 533. Subsequently, the CPU 10 returns to the reception process in
Hence, in the other data outputting process of
Next, the seventh state displaying method performed on the status communication device 1 will be described with reference to
First, variables used in the reception process and the outputting process will be described with reference to
The current time storage area 631 and state counter K storage area 632 have the same functions as the current time storage area 136 and state counter K storage area 131 in
Next, the reception interval length storage area 634 will be described with reference to
In the example of
As in the first state displaying method, the seventh state displaying method involves the main reception process, reception process, determination process, main outputting process, and other data outputting process. Since the main reception process, main outputting process, and other data outputting process in the seventh state displaying method are identical to those in the first state displaying method (see
In S82 the CPU 10 determines whether the prescribed interval has elapsed. Specifically, the CPU 10 acquires the current time from the timer 40 and the time stored in the current time storage area 631, measures the elapsed time based on the difference of these times, and determines whether the elapsed time is greater than or equal to the prescribed interval (10 seconds in this example). If the prescribed interval has not elapsed (S82: NO), in S83 the CPU 10 determines whether index data was received from another status communication device 1. If no index data was received (S83: NO), the CPU 10 returns to S82. However, if index data was received (S83: YES), then in S84 the CPU 10 analyzes the received index data and performs a table updating process (see
When the prescribed interval has elapsed after repeating the process in S82-S84 (S82: YES), in S85 the CPU 10 executes the determination process (see
In S91 of the table updating process shown in
If the index data is not the first index data received, then the number of receivers is 1 rather than 0 (S91: NO). Accordingly, since there is no need to store the state number in the shortest state storage area 636, the CPU 10 skips to S93 to determine whether the ID of the received index data is stored in the source ID column of the reception interval length storage area 634. If the received index data has already been received from the status communication device 1 with this ID, the ID has already been stored in the source ID column of the reception interval length storage area 634 (S93: YES). Therefore, in S94 the CPU 10 stores the elapsed time since the preceding reception in the reception interval storage area 638. Specifically, the CPU 10 acquires the current time from the timer 40 and the time stored in the current time storage area 631, calculates the difference of these times as the current reception time, and calculates the difference between this current reception time and the time stored in the recent reception time column of the reception interval length storage area 634.
In S96 the CPU 10 compares the time calculated in S94 and stored in the reception interval storage area 638 with the time stored in the reception interval column of the reception interval length storage area 634 to determine which is shorter. If the time stored in the reception interval storage area 638 is shorter (S96: YES), then in S97 the CPU 10 stores this time in the reception interval column of the reception interval length storage area 634. In S98 the CPU 10 acquires the current time from the timer 40 and the time stored in the current time storage area 631, calculates the difference of these times, stores this difference in the recent reception time column, and stores the index data (state number) in the state number column. However, if the time stored in the reception interval storage area 638 is not shorter (S96: NO), then the CPU 10 skips to S98 without updating the value in the reception interval column of the reception interval length storage area 634. Subsequently, the CPU 10 returns to the reception process in
Next, the determination process will be described with reference to the flowchart in
In S123 the CPU 10 determines whether the value of the state counter K is greater than the number of receivers (4 in the example of
Since the value of the state counter K (2) is not greater than the number of receivers (S123: NO), and the reception interval time 2″00 for the second ID is shorter than the reception interval 3″00 stored in the reception interval storage area 638 (S124: YES), the CPU 10 stores state no. 2 for the second record in the state number storage area 635 and 2″00 in the reception interval storage area 638. In S127 the CPU 10 increments the state counter K by 1, so that the state counter K is now 3, and returns to S123.
When the value of the state counter K becomes 5 after repeating the process in S123-S127, so that the state counter K becomes greater than the number of receivers (S123: YES), then in S128 the CPU 10 stores the value from the reception interval storage area 638 in the determined state number storage area 633. Subsequently, the CPU 10 returns to the reception process in
In the subsequent other data outputting process of
Next, a status communication device 101 according to a second embodiment of the present invention will be described. First, an overall structure of a service providing system employing the status communication devices 101 of the second embodiment will be described.
As shown in
Next, the status communication device 101 according to the second embodiment will be described in greater detail. Further, an emotions/environment inferring process according to the second embodiment will be described. This process corresponds to the emotions/environment inferring process performed by the status communication device 1 according to the first embodiment (S103 in
As shown in
For purposes of description, only the temperature sensor 13, photosensor 14, and pressure sensor 15 of the sensors 12-15 and 19 are shown in
As shown in
A USB port 76 is also provided on the surface of the status communication device 101 for connecting to the PC 5. The USB port 76 is also connected to the bus 80. Hence, the PC 5 can be connected to the status communication device 101 by connecting the PC 5 to the USB port 76 with a USB cable. The status communication device 101 further includes an AD converter 91 connected to each of the sensors 12-15 and 19, and an expansion port 90 for inserting the actuators 21 and 23. The AD converter 91 is connected to the CPU 10 via the I/O interface 70 and bus 80. Analog measurement data outputted from the sensors 12-15 and 19 is converted to digital data by the AD converter 91 and inputted into the controller 190. The expansion port 90 is also connected to the CPU 10 via the I/O interface 70 and bus 80. Digital instruction signals outputted from the controller 190 are inputted into the actuators 21 and 23 via the expansion port 90. The sensors 12-15 and 19 are detachably mounted on the AD converter 91 and can be added, replaced, and the like. The actuators 21 and 23 are detachably mounted on the expansion port 90 and can be added, replaced, and the like.
Next, the temperature sensor 13 and the heart rate sensor 19 of the second embodiment will be described. The temperature sensor 13 measures the ambient temperature around the status communication device 101, as well as the temperature of the user's fingers or palm touching the device. The heart rate sensor 19 is configured of an infrared sensor for detecting displacement between the expansion and contraction of blood flow for measuring the heart rate (pulse rate) of the user touching the device.
The status communication device 101 is not provided with a keyboard such as that used with a personal computer. Data detected by the sensors 12-15 and 19 of the status communication device 101 is prerecorded as command input for instructing the execution of prescribed operations. For example, if the user grips the status communication device 101 or gestures by waving or gripping the device a prescribed number of times, for example, the status communication device 101 is instructed to perform a prescribed operation.
Next, storage areas in the RAM 300 of the status communication device 101 storing tables and the like will be described with reference to
As shown in
The sensor value storage area 301 stores several values (five values, for example) outputted from each of the sensors, including the accelerometer 12, temperature sensor 13, photosensor 14, pressure sensor 15, and heart rate sensor 19, and converted to digital data by the expansion port 90.
The correlation storage area 302 stores correlations between sensors and the actuators that might affect measurements measured by the sensors. In the example of
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
The level tables based on sensors described above are merely examples. Other tables may also be stored for setting index data based on sensor values to be used in an inference process.
The emotions inference table storage area 305 (see
As shown in
In order to infer the emotions of the user using the normal emotions inference table 3051, it is essential that the measurement data from the sensors be obtained properly. If a value from any sensor could not be obtained, an error value is stored in the sensor value storage area 301, indicating that the normal emotions inference table 3051 cannot be used. In such a case, emotions of the user are inferred based solely on measurement data levels determined according to properly measured sensor values. For example, if measurement data levels cannot be determined from sensor values obtained from the accelerometer 12 and heart rate sensor 19, due to error values when the motor 23 is operating, only the grip strength level is used for inferring the emotions of the user, as shown in the normal emotions inference table 3052 in
Other emotions inference tables using part of the normal emotions inference table 3051 may be separately prepared to handle error values generated by operations of the actuators 21 and 23. For example, the emotions inference table 3053 shown in
The environment inference table storage area 306 (see
The output data determining table storage area 307 (see
For example, the status communication device 101 outputs inference results (output data) based on the emotions output data determining table 3071 shown in
The status communication device 101 outputs inference results according to the environment output data determining table 3072 shown in
Next, the operations of the status communication device 101 will be described.
In S1 of
After the initialization in S201, the sensors 12-15 and 19 begin performing measurements, and the sensors 12-15 and 19 perform measurements continuously during the main process. Sensor values are stored in the sensor value storage area 301 of the RAM 300 at prescribed intervals (every 5 seconds, for example). Hence, the sensor values stored in the sensor value storage area 301 are updated at this prescribed interval. If another status communication device 101 exists within the range of radio waves, while the status communication device 101 executes the main process, and the other status communication device 101 transmits data, the CPU 10 of the status communication device 101 performs an interrupt process to temporarily store the contents of such data in the RAM 300. In S202 the CPU 10 acquires received data from a reception data storage area (not shown) in the RAM 300.
In S203 the CPU 10 executes a sensor value acquisition process for acquiring sensor values outputted from the sensors 12-15 and 19 from the sensor value storage area 301. In S204 the CPU 10 executes the emotions/environment inferring process for calculating index values (index data, state number) based on the acquired sensor values (equivalent to S103 in
Next, the CPU 10 determines output data by referencing the emotions output data determining table 3071 (see
In S206 the CPU 10 transmits the results of emotion inference or environment inference calculated in S204 to the other status communication device 101. In S207 the CPU 10 determines whether the power has been turned off. The CPU 10 ends the main process if the power is off (S207: YES), and repeats the process from S202 if the power has not been turned off (S207: NO).
Next, the sensor value acquisition process executed during the main process will be described in detail with reference to
In S302 the CPU 10 acquires the states of the actuators 21 and 23 (indicating whether the actuators are operating (outputting) or not). In S303 the CPU 10 references the correlation storage area 302 in the RAM 300 and deletes measurement values from the sensor value storage area 301 for any sensor associated in the correlation storage area 302 with currently operating actuators. Subsequently, the CPU 10 returns to the main process. In this way, if there is potential for operating actuators to influence measurement values, the CPU 10 can remove this influence.
The sensor value acquisition process may be performed according to methods other than that described above with reference to
In S311 at the beginning of the sensor value acquisition process shown in
In S321 of the sensor value acquisition process shown in
However, if one or more actuators are current operating (S323: YES), then in S324 the CPU 10 acquires the current time from the timer 40 and in S325 calculates the difference between the current time and the reference time acquired in S321. In S326 the CPU 10 determines whether the difference calculated in S325 exceeds a prescribed time. If this difference does not exceed the prescribed time (S326: NO), then the CPU 10 returns to S324 and again acquires the current time from the timer 40. When the difference found in S325 exceeds the prescribed time (S326: YES), the CPU 10 returns to S321 and sets the reference time to the current time. While repeating the process described above, the CPU 10 does not acquire measurement values from the sensors 12-15 and 19 if one of the actuators 21 and 23 is operating, thereby not acquiring sensor values affected by the actuators.
Next, the emotions/environment inferring process executed during the main process will be described with reference to
In S401 at the beginning of the emotions/environment inferring process shown in
In S402 the CPU 10 acquires measurement data for the photosensor 14 from the sensor value storage area 301 and references the status table stored in the status table storage area 303 (see
In S403 the CPU 10 acquires sensor values for all sensors other than the photosensor 14 from the sensor value storage area 301, and determines each measurement data level by referencing measurement level data tables corresponding to each sensor value stored in the measurement data level table storage area 304, such as the heart rate level table 3042 (see
In S404 the CPU 10 determines whether the status level determined in S402 is “gripped.” If the status level is “gripped” (S404: YES), indicating that the user is currently holding the status communication device 101, then in S405 the CPU 10 performs the emotions inferring process by referencing the normal emotions inference table 3051 (see
However, if the status level is “not gripped” (S404: NO), indicating that the user is not currently holding the status communication device 101, then in S406 the CPU 10 executes the environment inferring process by referencing the normal environment inference table 3061 (see
Since the emotions/environment inferring process always use the normal emotions inference table and the normal environment inference table and make inferences based on the previous sensor value in the above method, variations of the acquired inference results are similar to the inference results of when the actuators 21 and 23 does not operate. Accordingly, the status communication device 1 can perform appropriate output.
Further, while the process in
In S411 at the beginning of the emotions/environment inferring process shown in
In S412 the CPU 10 extracts sensor values for the sensors 12-15 and 19 from the sensor value storage area 301 and determines measurement data levels for each sensor value by referencing the measurement data level table stored in the measurement data level table storage area 304, such as the heart rate level table 3042 (see
In S413 the CPU 10 determines whether the status level found in S412 is “gripped.” If the status level is “gripped” (S413: YES), indicating that the user is currently holding the status communication device 101, then in S414 the CPU 10 performs the emotions inferring process by referencing the normal emotions inference table 3052 stored in the emotions inference table storage area 305 based on the measurement levels determined in S412. In this case, the normal emotions inference table 3052 shown in
In S416 the CPU 10 determines whether there is more than one inferred emotion. Ordinarily, there is not a plurality of inference results because inference is performed based on a plurality of combinations of measurement data levels. However, when the only valid measurement data level is the grip strength level, as shown in
However, if the status level is not “gripped” (S413: NO), i.e. “not gripped” or “unknown,” then in S415 the CPU 10 executes the environment inferring process by referencing the normal environment inference table 3061 stored in the environment inference table storage area 306 (see
In this way, the CPU 10 can infer either the user's emotion or the environment without using all sensor values when some sensor values have been discarded due to operating actuators 21 and 23. Further, it is not necessary to prepare a plurality of emotions/environment inference tables.
The variation shown in
In S422 the CPU 10 extracts valid sensor values (i.e., non-error values) for the sensors 12-15 and 19 from the sensor value storage area 301 and sets measurement data levels by referencing measurement data level tables corresponding to each sensor value that are stored in the measurement data level table storage area 304, such as the heart rate level table 3042 (see
In S423 the CPU 10 determines whether the status level found in S422 is “gripped.” If the status level is “gripped” (S423: YES), indicating that the user is currently holding the status communication device 101, then in S424 the CPU 10 performs the emotions inferring process by referencing a special emotions inference table stored in the emotions inference table storage area 305 using the measurement data levels determined in S422. For example, the CPU 10 may infer emotions by referencing the emotions inference table 3053, as shown in
If the status level is not “gripped” (S423: NO), i.e. “not gripped” or “unknown,” then in S425 the CPU 10 executes the environment inferring process by referencing the normal environment inference table stored in the environment inference table storage area 306 (see
In this way, the CPU 10 can infer the emotions or environment without using all sensor values when some sensor values were discarded due to operation of an actuator. Further, by preparing special inference tables, it is possible to more closely handle cases in which measurement data could not be obtained from the sensors.
With the status communication device 101 according to the second embodiment described above, measurements by the sensors 12-15 and 19 are controlled by discarding measurement data from sensors that could be affected by output from the actuators 21 and 23 or by simply not acquiring measurement data when an actuator is operating, and by executing the emotions inferring process or environment inferring process based on the controlled sensor values, thereby outputting more appropriate inference results. The status communication device 101 according to the second embodiment also obtains similar effects to those described in the first embodiment.
Next, a status communication device 201 according to a third embodiment of the present invention will be described with reference to the drawings. The status communication device 201 has a similar structure to the status communication devices 1 and 101 of the first and second embodiments, with like parts and components are designated with the same reference numerals to avoid duplicating description. First, a structure of the status communication device 201 according to the third embodiment and a pressure sensor 15 provided on the surface of the status communication device 201 will be described.
As shown in
In order to simplify the description, only the pressure sensor 15 from among the sensors 11-16, 18, 19, and 29 is shown in
As shown in
The ROM 20 stores an inference data creating program for executing an inference data creation process described later (see
The status communication device 201 is not provided with a keyboard such as that used with a personal computer. Therefore, data (measurement values) detected by the sensors 11-16, 18, 19, and 29 of the status communication device 201 is prerecorded as input for indicating prescribed operations. Hence, the user can command the status communication device 201 to perform an operation through gestures involving gripping the status communication device 201 (e.g., gripping or shaking the status communication device 201 a prescribed number of times).
Next, the pressure sensor 15 will be described with reference to
Both the top substrate 150 and the bottom substrate 151 are formed of polyethylene terephthalate (PET), which is an insulating material. When a finger 250, the insulating spacers 154 in the pressed region compress, allowing the contact points 152 to contact the contact points 153 so that electricity is conducted therethrough.
When contact points 152 and contact points 153 contact each other and conduct electricity, the membrane switches 155 turn on. At this time, an electric current flows from a power supply Vcc to a ground GND, as shown in
As shown in
Next, storage areas in the RAM 730 will be described with reference to
As shown in
As shown in
The inference table storage area 733 shown in
In the example of
The output table storage area 734 stores an output table used to determine how output to the actuators 21-26 should be performed based on the inference data created with reference to the inference table in
Next, a pressure sensor process will be described with reference to
In S501 at the beginning of the process in
In S503 the CPU 10 determines whether the finger is present on the pressure sensor 15 based on the results in S502. For all cases other than a determination that a finger exists on the pressure sensor 15 including the case in which a determination was not possible (see S515 in
In S505 the CPU 10 determines whether the finger has moved over the pressure sensor 15 based on the results in S504. If there is no movement of the finger (S505: NO), then in S506 the CPU 10 performs the subroutine to determine the amount of pressure applied by the unmoving finger, and subsequently ends the pressure sensor process. The subroutine for determining the amount of applied pressure will be described later in greater detail with reference to
If the finger has moved (S505: YES), then in S507 the CPU 10 executes the subroutine to determine the speed of movement. In S508 the CPU 10 determines whether the speed of movement could be detected based on the results in S507. The subroutine for determining the speed of movement will be described later in greater detail with reference to
If the speed of movement could not be determined (S508: NO), in S509 the CPU 10 executes the subroutine to determine the amount of pressure applied by the moving finger, and subsequently ends the pressure sensor process. This subroutine will be described later in greater detail with reference to
As will be described later, the pressure sensor process functions to classify the state of the finger touching the pressure sensor 16 at the current moment in time as “unmoving with weak pressure,” “unmoving with moderate pressure,” “unmoving with strong pressure,” “moving slowly with weak pressure,” “moving slowly with moderate pressure,” “moving slowly with strong pressure,” “moving quickly with weak pressure,” “moving quickly with moderate pressure,” and “moving quickly with strong pressure.” The classification is stored in the RAM 730 as measurement values from the pressure sensor 16.
Next, the subroutine in S502 of the pressure sensor process (
Next, the subroutine in S504 of the pressure sensor process (
However, if the output value measured 0.01 seconds earlier differs from the current output value for any of the membrane switches 155 (S521: NO), or if the output value measured 0.01 seconds earlier is equivalent to the current output value for all membrane switches 155 (S521: YES) and at least one of the output values over the past 0.5 seconds differs from the respective current value for at least one of the membrane switches 155 (S522: NO), then in S527 the CPU 10 determines whether the determination made 0.01 seconds earlier (the preceding determination) was “moving.” If the previous determination was “moving” (S527: YES), then in S530 the CPU 10 determines that the current state of the finger is also “moving,” and returns to the pressure sensor process in
However, if the results of the preceding determination was “unmoving” (S527: NO), indicating that output values of the membrane switch 155 just changed for the first time, then in S528 the CPU 10 stores the switch number (SW number “A”) of the membrane switch 155 whose output value has changed in the RAM 730. If there are a plurality of membrane switches 155 whose output value is ON, then the SW number “A” is set to the average value of the SW numbers. In S529 the CPU 10 stores the current time as a time “a”. In S530 the CPU 10 determines that the state of the finger is “moving” and returns to the pressure sensor process in
By executing the subroutine for determining movement described above, the CPU 10 determines whether the status of a finger on the pressure sensor 15 is “unmoving” (S524) or “moving” (S530). The results of this determination are stored in the RAM 730.
Next, the subroutine in S506 of the pressure sensor process (
However, if more than one membrane switch 155 has outputted an ON value (S551: NO), then in S553 the CPU 10 determines whether only two membrane switches 155 have outputted an ON value. If two membrane switches 155 have outputted an ON value (S553: YES), then in S554 the CPU 10 determines that the amount of pressure is “moderate pressure” and returns to the pressure sensor process of
However, if the number of membrane switches 165 outputting an ON value is greater than two (S553: NO), indicating that at least three membrane switches 165 are ON, then in S555 the CPU 10 determines that the amount of pressure is “strong pressure” and returns to the pressure sensor process of
Through the subroutine for determining the amount of applied pressure described above, the CPU 10 can determine the force that an unmoving finger applies to the pressure sensor 15 based on the number of membrane switches 155 outputting an ON value.
Next, the subroutine for determining the speed of movement executed in S507 of the pressure sensor process in
If 1 second has elapsed after the time “a” (S561; YES), then in S563 the CPU 10 stores the switch number (SW number B) for the membrane switch 155 currently outputting an ON value in the RAM 730. If there are a plurality of membrane switches 155 outputting an ON value, then the SW number B is set to the average value of SW numbers, as described for the SW number A in S528 of
In S565 the CPU 10 determines whether the difference calculated in S564 is 4 or greater. If the difference is less than 4 (S565: NO), then in S566 the CPU 10 sets the speed of movement to “slow” and returns to the pressure sensor process of
Through the subroutine for determining the speed of movement described above, the CPU 10 can find the speed of movement of the finger determined to be “moving” over the pressure sensor 15 by calculating the amount that the position of membrane switches 155 outputting ON signal changes within 1 second.
Next, the subroutine for determining applied pressure during movement executed in the pressure sensor process will be described with reference to
In S572 the CPU 10 determines whether the average value found in S571 is 1. If the average value is 1 (S572: YES), then in S573 the CPU 10 determines that the applied pressure during movement is “moving with weak pressure,” and returns to the pressure sensor process of
However, if the average value is not 1 (S572: NO), then in S574 the CPU 10 determines whether the average value is 2. If the average value is 2 (S574: YES), then in S575 the CPU 10 determines that the applied pressure during movement is “moving with moderate pressure,” and returns to the pressure sensor process of
However, if the average value is neither 1 nor 2 (S574: NO), indicating that the average value is 3 or greater, then in S576 the CPU 10 determines that the applied pressure during movement is “moving with strong pressure,” and returns to the pressure sensor process of
Through the subroutine for determining applied pressure during movement described above, the CPU 10 can determine the force applied by a finger determined to be “moving” over the pressure sensor 15 based on the average number of membrane switches 155 outputting an ON value during a movement of the finger.
Next, an inference data creation process will be described with reference to
In S601 of the inference data creation process shown in
Once initialization in S601 is complete, the sensors 11-16, 18, 19, and 29 begin conducting measurements, the sensors 11-16, 18, 19, and 29 executing measurements continuously during the inference data creation process. Measurement values from the sensors are stored in the measurement value storage area 732 of the RAM 730 at prescribed intervals (5 seconds, for example), thereby updating the measurement values stored in the measurement value storage area 732 at these prescribed intervals.
In S602 the CPU 10 performs a process to read and acquire measurement values outputted by the sensors 11-16, 18, 19, and 29 from the measurement value storage area 732. In S603 the CPU 10 performs an inference process to calculate index data for inferring emotions (inference data) by referencing the inference table stored in the inference table storage area 733 of the RAM 730 based on the measurement values acquired in S602. For example, if the output from the accelerometer 12 is less than 1 G, indicating that the status communication device 201 is not being shaken, determination results from the pressure sensor is “moderate pressure,” and the heart rate is 80-150 beats/minute (high), then the inference data acquired by referencing the inference table is “excited” (see
Next, the CPU 10 sets output data for the actuators by referencing the output table stored in the output table storage area 734 of the RAM 730 (see
In S605 the CPU 10 determines whether the power has been turned off. The CPU 10 ends the inference data creation process if the power has been turned off (S605: YES) and returns to S602 to repeat the process if the power has not been turned off (S605: NO).
With the pressure sensor 15 according to the preferred embodiment described above, output values (“0” or “1”) from each membrane switch 155 are measured every 0.01 seconds, enabling the status communication device 201 to measure the position of a finger pressing the pressure sensor 15 at any point in time. Further, by arranging the membrane switches 155 at substantially equal intervals and counting the number of membrane switches 155 that are on at a point in time, it is possible to measure the force in which a finger is pressing against the pressure sensor 15 since a stronger pushing force will turn on a larger number of membrane switches 155 over a wider range. Further, by storing the above measurements in a time series, it is possible to measure the speed of movement in a finger when the positions of membrane switches 155 outputting an ON signal change by calculating the rate of change in these positions over a second. Since such detailed measurement values can be obtained from the pressure sensor 15, the pressure sensor 15 expands the range of inference possible with the status communication device 201, enabling the status communication device 201 to obtain and output more detailed and precise inference results.
As with the status communication devices 1 and 101 according to the first and second embodiments, the status communication device 201 according to the third embodiment can receive inference results based on the pressure sensor 15 of another status communication device 201 via the transceiver 50, select a single state from the plurality of inference results using one of the first through seventh state displaying methods, and display this state with the LEDs 21. Accordingly, the status communication device 201 can obtain the same effects as the status communication devices 1 and 101 in the first and second embodiments described above.
While the status communication device and status communication program of the present invention has been described in detail with reference to specific embodiments thereof, it would be apparent to those skilled in the art that many modifications and variations may be made therein without departing from the spirit of the invention, the scope of which is defined by the attached claims. For example, while output data is stored in the ROM 20 in the first embodiment described above, the output data may be rewritably stored in the RAM 30 rather than the ROM 20. Further, the user may be provided with a menu for setting display colors for each state to desired colors. Further, the types of states are not limited to the six user states described above, but may include other states. The user may be allowed to enter such states. Further, while only the LEDs 21 are used to indicate states in the first embodiment, it is also possible to use the flashlamp 22, motor 23, heater 24, and speaker 25, or a combination thereof.
Further, while the state having the highest level is selected in the third state displaying method according to the first embodiment, the state having the lowest level may be selected instead. This may be achieved by storing state numbers in the level storage area in order from the lowest level, or by using the level storage area 123 shown in
In the fourth state displaying method described in the first embodiment, the weighting coefficient storage area 124 is provided in the ROM 20, but the weighting coefficient storage area 124 may be rewritably stored in the RAM 430 rather than the ROM 20, and the user may be provided with a menu for setting weighting coefficients for each state to desired values.
In the fifth state displaying method according to the first embodiment, the status communication device selects the state indicated by the initially received index data, but the status communication device may instead select index data received last. In this case, it is not necessary to determine whether a reception has been completed in S53 of the reception process shown in
Further, while the reception number is counted for each state in the third state displaying method according to the first embodiment, since the state having the highest level is selected, it is possible to simply provide a flag indicating whether index data was received for that state, without counting the reception number.
Further, the user may be allowed to select one of the first through seventh state displaying methods described in the first embodiment and variations of these methods as the method of selecting index data to be displayed. When allowing the user to input a selection in this way, sensor values (values outputted by the accelerometer 12 and bending sensor 11, for example) for indicating input by the user may be prestored, and the status communication device may identify the number of times the user shakes or grips the status communication device (user gestures) in order to determine whether the user has performed input prior to executing the emotions/environment inferring process (S103) in the main output process (see
Further, while sensor values are discarded in the second embodiment if the corresponding actuators are operating, the values measured by the sensors may be included with a flag indicating that the actuator corresponding to the sensor is operating.
In the third embodiment described above, the status communication device 201 calculates the difference between the SW number A and SW number B, indicating the amount of movement, and compares the amount of movement to a threshold value to find the speed of movement. However, the status communication device 201 may also find the speed of movement by calculating the actual movement distance in 1 second in
In the third embodiment, the status communication device 201 determines that the pressure applied by the finger is “weak pressure” when only one of the membrane switches 155 is on, “moderate pressure” when two of the membrane switches 155 are on, and “strong pressure” when three or more of the membrane switches 155 are on. However, the degree of pressure applied by a finger may be determined based on different numbers of membrane switches 155 outputting an ON value.
Further, while the classifications “unmoving with weak pressure,” “unmoving with moderate pressure,” “unmoving with strong pressure,” “moving slowly with weak pressure,” “moving slowly with moderate pressure,” “moving slowly with strong pressure,” “moving quickly with weak pressure,” “moving quickly with moderate pressure,” and “moving quickly with strong pressure” determined with the pressure sensor 16 are used solely for inferring emotions in the preferred embodiment. However, these classifications may also be used as nine switches in a mobile device, for example.
The present invention can be applied to a status communication device and a status communication program for receiving data from a plurality of other status communication devices or for receiving a plurality of data from a single status communication device.
Claims
1. A status communication device comprising:
- a housing;
- at least one measuring unit that measures biological data of a user and an ambient state of the housing;
- at least one state displaying unit that displays a state of the user or the ambient state of the housing;
- a transmitting unit that transmits first measurement-related data to at least one external device, the first measurement-related data being measurement data measured by the measuring unit or data based on the measurement data;
- a receiving unit that receives second measurement-related data from at least one external device;
- a data selecting unit that selects one state corresponding to the second measurement-related data to display with the state displaying unit if the receiving unit receives a plurality of the second measurement-related data within a prescribed interval; and
- a state display controlling unit that controls the state displaying unit based on the second measurement-related data selected by the data selecting unit.
2. The status communication device according to claim 1, wherein the data selecting unit comprises a counting unit that counts each type of the second measurement-related data received by the receiving unit within the prescribed interval; and selects the second measurement-related data having the greatest number counted by the counting unit.
3. The status communication device according to claim 1, wherein the data selecting unit comprises:
- a counting unit that counts each type of the second measurement-related data received by the receiving unit within the prescribed interval;
- a level storing unit that stores weighted levels applied to each second measurement-related data in association with the second measurement-related data;
- a level product calculating unit that calculates level products by multiplying a counted value counted by the counting unit with the level stored in the level storing unit for each of the second measurement-related data;
- an average calculating unit that calculates an average of the level products calculated by the level product calculating unit; and
- a nearest value determining unit that determines the level having a nearest value to the average value calculated by the average calculating unit;
- wherein the data selecting unit selects the second measurement-related data having the level determined to be the nearest value by the nearest value determining unit.
4. The status communication device according to claim 1, wherein the data selecting unit comprises:
- a counting unit that counts each type of the second measurement-related data received by the receiving unit within the prescribed interval;
- a level storing unit that stores weighted levels assigned to each of the second measurement-related data in association with the second measurement-related data; and
- a level determining unit that determines data having a largest level or data having a smallest level among the second measurement-related data received by the receiving unit;
- wherein the data selecting unit selects the second measurement-related data determined to have the largest level or the smallest level by the level determining unit.
5. The status communication device according to claim 1, wherein the data selecting unit comprises:
- a counting unit that counts each type of the second measurement-related data received by the receiving unit within the prescribed interval;
- a weighted coefficient storing unit that stores weighted coefficients assigned to each of the second measurement-related data in association with the second measurement-related data; and
- a weighted coefficient product calculating unit that calculates products of a counted value counted by the counting unit and the weighted coefficient for each of the second measurement-related data;
- wherein the data selecting unit selects the second measurement-related data corresponding to a largest product among products calculated by the weighted coefficient product calculating unit.
6. The status communication device according to claim 1, wherein the data selecting unit selects the second measurement-related data received first by the receiving unit within the prescribed interval.
7. The status communication device according to claim 1, wherein the transmitting unit transmits first ID data together with the first measurement-related data, the first ID data distinguishing the status communication device from other status communication devices;
- wherein the receiving unit receives second ID data together with the second measurement-related data;
- wherein the data selecting unit comprises an ID counting unit that counts the number of second measurement-related data received by the receiving unit within the prescribed interval for each second ID data; and
- wherein the data selecting unit selects the second measurement-related data received last among ID data having a highest number counted by the ID counting unit.
8. The status communication device according to claim 1, wherein the transmitting unit transmits first ID data together with the first measurement-related data, the first ID data distinguishing the status communication device from other status communication devices;
- the receiving unit receives second ID data together with the second measurement-related data;
- the data selecting unit comprises a reception interval time measuring unit that calculates a time, as the reception interval time, between a preceding reception and a current reception of the second measurement-related data having same second ID data if second measurement-related data having the same second ID data is received within the prescribed interval; and
- the data selecting unit selects the second measurement-related data having the second ID data with a shortest reception interval time between receptions calculated by the reception interval time measuring unit.
9. The status communication device according to claim 1, further comprising index data creating unit that creates first index data functioning as data related to the state of a user or the ambient state of the housing based on the measurement data;
- wherein the transmitting unit transmits the first index data as the first measurement-related data to at least one external device;
- wherein the receiving unit receives second index data as the second measurement-related data from at least one external device; and
- wherein the state display controlling unit controls the state displaying unit based on the first index data.
10. The status communication device according to claim 9, wherein the index data creating unit comprises:
- an index data determining procedure storing unit that stores an index data determining procedure used to determine the first index data; and
- an index data determining unit that determines the first index data from the measurement data based on the index data determining procedure, and
- wherein the state display controlling unit comprises:
- a control data determining procedure storing unit that stores control data determining procedures used to determine control data for controlling the state displaying unit based on the first index data; and
- a control data determining unit that determines the control data from the first index data according to the control data determining procedure stored in the control data determining procedure storing unit.
11. The status communication device according to claim 1, further comprising:
- a detecting unit that detects the state displaying unit that is operating;
- a first index data determining procedure storing unit that stores a first index data determining procedure used to determine index data, the index data being data related to the state of a user or the ambient state of the housing, based on the measurement data measured by the measuring unit if the detecting unit does not detect operations of the state displaying unit;
- a second index data determining procedure storing unit that stores a second index data determining procedure used to determine the index data without using the measurement data measured by the measuring unit if the detecting unit detects operations of the state displaying unit;
- an index data creating unit that creates the index data according to the first index data determining procedure or the second index data determining procedure; and
- a state display controlling unit that controls the state displaying unit according to the index data created by the index data creating unit.
12. The status communication device according to claim 11, wherein the second index data determining procedure storing unit comprises a measurement controlling unit that controls the measurement data measured by the measuring unit based on detection results by the detecting unit.
13. The status communication device according to claim 12, further comprising a correlation storing unit that stores correlations between the state displaying unit and the measuring unit whose measurement data are affected by operations of the state displaying unit;
- wherein the measurement controlling unit reads from the correlation storing unit the measuring unit corresponding to the state displaying unit that is currently operating if the detecting unit detects that one of the state displaying units is operating, and discards measurement data measured by the read measuring unit.
14. The status communication device according to claim 12, further comprising a correlation storing unit that stores correlations between the state displaying unit and the measuring unit whose measurement data are affected by operations of the state displaying unit;
- wherein the measurement controlling unit reads from the correlation storing unit the measuring unit corresponding to the state displaying unit that are currently operating if the detecting unit detects that one of the state displaying units is operating, and prevents the read measuring unit from performing measurements.
15. The status communication device according to claim 11, wherein the second index data determining procedure storing unit stores a third index data determining procedure that determines the index data using measurement data measured by the measuring unit prior to operations of the state displaying unit rather than during operations of the state displaying unit.
16. The status communication device according to claim 1, further comprising an index data determining procedure storing unit that stores the index data determining procedures used to determine index data, the index data being data related to the state of a user or the ambient state of the housing, based on the measurement data measured by the measuring unit;
- an index data creating unit that creates the index data from the measurement data based on the index data determining procedures;
- a state display controlling unit that controls the state displaying unit based on the index data created by the index data creating unit;
- a detecting unit that detects the state displaying unit that are currently operating;
- a measurement controlling unit that controls the measurement data measured by the measuring unit based on detection results by the detecting unit; and
- an index data creation controlling unit that controls the index data creating unit if the measurement controlling unit controls the measurement data.
17. The status communication device according to claim 16, further comprising a correlation storing unit that stores correlations between the state displaying unit and the measuring unit whose measurement results are affected by operations of the state displaying unit;
- wherein the measurement controlling unit reads from the correlation storing unit the measuring unit corresponding to the state displaying unit that is currently operating if the detecting unit detects that one of the state displaying units is operating, and discards measurement data measured by the read measuring unit.
18. The status communication device according to claim 17, wherein the index data creation controlling unit controls the index data creating unit to use valid measurement data in place of the discarded measurement data if the measurement data measured by the read measuring unit is discarded.
19. The status communication device according to claim 17, wherein the index data creation controlling unit controls the index data creating unit to create the index data from the measurement data other than the discarded measurement data based on the index data determining procedures if the measurement data measured by the read measuring unit is discarded.
20. The status communication device according to claim 17, further comprising special index data determining procedure storing unit that stores special index data determining procedures corresponding to types of the measurement data and used if the measurement data measured by the read measuring unit is discarded;
- wherein the index data creation controlling unit controls the index data creating unit to create index data based on the special index data determining procedures corresponding to the measurement data if the measurement data measured by the read measuring unit is discarded.
21. The status communication device according to claim 16, further comprising a correlation storing unit that storing correlations between the state displaying unit and the measuring unit whose measurement results are affected by operations of the state displaying unit;
- wherein the measurement controlling unit reads from the correlation storing unit the measuring unit corresponding to the state displaying unit that is currently operating if the detecting unit detects that one of the state displaying units is operating, and prevents the read measuring unit from performing measurements.
22. The status communication device according to claim 21, wherein the index data creation controlling unit controls the index data creating unit to use valid measurement data in place of the unmeasured measurement data if the measurement data measured by the read measuring unit is not measured.
23. The status communication device according to claim 21, wherein the index data creation controlling unit controls the index data creating unit to create the index data from measurement data other than the unmeasured measurement data based on the index data determining procedures if the measurement data measured by the read measuring unit is not measured.
24. The status communication device according to claim 21, further comprising special index data determining procedure storing unit that stores special index data determining procedures corresponding to types of the measurement data and used if the measurement data measured by the read measuring unit is not measured;
- wherein the index data creation controlling unit controls the index data creating unit to create index data based on the special index data determining procedures corresponding to the measurement data if the measurement data measured by the read measuring unit is not measured.
25. The status communication device according to claim 1, wherein the measuring unit has a pressure sensor comprising:
- a membrane sheet comprising a pair of insulating sheets having opposing surfaces with each other, electrode pairs disposed on the opposing surfaces, and insulating spacers interposed between the insulating sheets, thereby constituting a plurality of membrane switches that conduct electricity if pressure causes the electrode pairs to come near or contact each other; and
- a counting unit that counts the number of the membrane switches in the membrane sheet that conducts electricity.
26. The status communication device according to claim 25, further comprising a plurality of display units provided corresponding to the plurality of membrane switches respectively and disposed adjacent to the plurality of membrane switches that indicates the membrane switches conducting electricity.
27. The status communication device according to claim 25, further comprising a pressure determining unit that determines that pressure on the pressure sensor is stronger if the number of membrane switches counted by the counting unit is greater.
28. The status communication device according to claim 25, wherein the counting unit counts the number of membrane switches in the membrane sheet conducting electricity at prescribed intervals;
- the status communication device further comprising movement determining unit that determines that a position of pressure on the membrane sheet is moving if a conducting state of any of the membrane switches of the membrane sheets in one prescribed interval is different from that of another prescribed interval prior to the one prescribed interval.
29. The status communication device according to claim 25, further comprising:
- a movement amount calculating unit that calculates a movement amount from the current positions of the membrane switches in the membrane sheet conducting electricity to the positions of the membrane switches conducting electricity a prescribed time earlier if the movement determining unit determines that the position of pressure on the membrane sheet is moving; and
- a movement speed determining unit that determines a speed in which the pressure position is moving over the membrane sheet based on the movement amount calculated by the movement amount calculating unit.
30. A storage medium storing a status communication program readable by a computer, the status communication program comprising:
- instructions for measuring biological data of a user and an ambient state of the computer;
- instructions for displaying the state of the user or the ambient state of the computer on a state displaying unit;
- instructions for transmitting first measurement-related data, which is measurement data measured by the measuring instructions or data based on the measurement data, to at least one external device;
- instructions for receiving second measurement-related data from at least one external device in a receiving unit;
- instructions for controlling the state displaying unit based on the second measurement-related data; and
- instructions for selecting one state corresponding to the second measurement-related data to display with the state displaying unit if the receiving unit receives the plurality of the second measurement-related data within a prescribed interval;
- wherein the controlling instructions include controlling the state displaying unit based on the second measurement-related data selected by the data selecting unit.
Type: Application
Filed: Jan 28, 2008
Publication Date: Jan 22, 2009
Inventors: Tetsuya Higuchi (Ichinomiya-shi), Fumika Hatta (Nagoya-shi), Tomoko Motoshige (Nagoya-shi)
Application Number: 12/021,266
International Classification: G08B 23/00 (20060101);