SMART ELECTRONIC FAUCET SYSTEM

The disclosed smart electronic faucet system controls the flow of water being dispensed using voice commands. The disclosed smart electronic faucet system is a hybrid system that uses the computing resources available locally within the faucet itself for time-sensitive commands and the computing resources of a network connected server system or computing device for commands that do not have a time-sensitivity. After receiving a voice command, the disclosed smart electronic faucet system analyzes the command to determine if the command is time-sensitive and if so, uses computing resources located within the faucet to process the command to determine the control action to be taken by the faucet. Otherwise, the faucet sends the command to a server computer or computing device that is remotely located but communicatively connected to the faucet, which then processes the command and returns the control action to be taken by the faucet.

BACKGROUND

Faucets typically comprise mechanical parts to control the temperature and flow of water. In many situations, a mechanical valve controls the hot and cold water inlets through one or more faucet handles. Typically, a user manipulates the mechanical valve to adjust hot/cold mix and water flow by maneuvering faucet handle(s). However, users may be preoccupied with their hands and may not always be able to maneuver the handle in order to adjust the flow of water being dispensed by the faucet.

SUMMARY

Generally, the present disclosure relates to a smart electronic faucet system.

In one example aspect, a method for controlling water dispensed from a faucet in response to receiving a voice command is provided. The method includes: receiving at the faucet, a voice command associated with the operation of the faucet; comparing the received voice command to a list of one or more predetermined local commands to determine whether the voice command is one of the one or more predetermined local commands that is to be processed at the faucet for determining a control action or whether the voice command is not one of the one or more predetermined local commands and is to be communicated to a server for determining the control action remotely; upon determining that the received voice command includes at least one of the one or more predetermined local commands: analyzing the voice command at the faucet to determine a control action to be taken by the faucet in response to the voice command; and causing the faucet to perform the control action; upon determining that the received voice command does not include at least one of the one or more predetermined local commands: sending the voice command from the faucet to a server communicatively connected to the faucet; receiving a control action to be taken by the faucet from the server in response to the voice command; and causing the faucet to perform the control action.

In a second aspect, an electronic voice controlled faucet system is disclosed. The system includes: a faucet, including: a microphone configured to receive a voice command from a user; an electronic flow control system to adjust the flow of water being dispense by the faucet; and a controller including a processor and memory, the memory storing instructions that when executed by the processor cause the processor to: receive the voice command from the microphone; compare the received voice command to a to a list of one or more predetermined local commands; upon determining that the received voice command includes at least one of the one or more predetermined local commands: analyze the received voice command to identify a control action to be taken by the faucet in response to the voice command; and cause the electronic flow control system to adjust the flow of water being dispensed based on the identified control action associated with received voice command.

In a third aspect, a faucet is disclosed. The faucet includes: a controller including a processor and memory, the memory storing instructions that when executed by the processor cause the processor to: receive a voice command from a user through a microphone embedded within the faucet; compare the received voice command to a list of one or more predetermined local commands to determine whether the voice command is one of the one or more predetermined local commands that is to be processed at the faucet for determining a control action or whether the voice command is not one of the one or more predetermined local commands and is to be communicated to a remote server for determining the control action remotely; upon determining that the received voice command is one of the one or more predetermined local commands: analyze the received voice command to identify the control action to be taken by the faucet in response to the voice command; and cause an electronic flow control system associated with the faucet to adjust the flow of water being dispensed from the faucet based on the identified control action associated with received voice command.

DETAILED DESCRIPTION

Typically, faucets include one or more handles or knobs that can be maneuvered to adjust the flow of water being dispensed from the faucet. However, users may be preoccupied with their hands or may be busy otherwise and may not always be able to physically maneuver the faucet handle(s) in order to control the flow of water. At least in the case of a kitchen faucet, some example situations where the user may prefer to control the water flow without physically adjusting the faucet handle include: the user's hands might be messy or covered in food and the user may not want to dirty up the faucet by touching it, the user may be trying to fill up a pot with water while occupied with another kitchen task and may want to turn off the flow of water without having to stop their current task, the user may want to change the temperature of the water while being occupied with both hands, etc. In addition to these situations, having control over the volume of water being dispensed, the duration of time that water is dispensed, the temperature of the water being dispensed, etc., can also be beneficial.

Although smart faucets that are connected to computing devices or servers that use voice recognition technology to control the flow of water being dispensed from the faucet currently exist, the delay in the transmission of control signals and data between the faucet and the remote server/computing device introduces large amounts of lag that makes the feature impractical in many cases. For example, a user trying to fill a pot with water may express a command such as “turn off faucet” when the water level in the pot is satisfactory. However, the time taken for a computing device (such as an Amazon Echo device) to receive the command, communicate the command to a server computer, receive the response from the server computer with the faucet control action, and send the control action to the faucet which then interprets the control action and executes it creates enough lag that the faucet may not stop the flow of water for several seconds. This delay may cause the pot to overfill and result in wastage. The severe, and at times unpredictable, lag created when using network connection to send and retrieve data between the faucet and a remote computing device/server makes such a system impractical to use for such circumstances.

In addition, processing all commands locally within the faucet is also impractical due to the size of memory and processing power needed by a computing device to interpret the user's language. A network connection is useful in accessing the Internet to recognize and interpret a user's command. Therefore, in example embodiments described herein, a hybrid system is provided that uses local computing resources for a short-list of time-sensitive commands as well as using the larger resources of a network connected server for commands with no time sensitivity may result in a more practical and useable smart faucet system.

For example, commands such as “turn faucet on” or “turn faucet off” may be time sensitive and be processed locally using the computing resources integrated within the faucet itself. Other commands such as “dispense 8 oz of water” or “dispense water for 30 seconds” may not have the same time sensitivities and can be delegated to being processed using computing resources that are remotely located and communicatively connected to the faucet. Additionally, commonly-used commands, and/or commands requiring little lag time, may be stored in, or updated within, computing resources that are local to the faucet, while seldom-used commands may be stored remotely. Accordingly, over time, the specific commands implemented locally at any given faucet may change, e.g., due to user preferences, ensuring low lag time for time-sensitive commands and/or frequently used commands, while preserving a large, extensible library of remote commands available for use as well.

In one embodiment, the smart electronic faucet system may receive a voice command from a user. Upon receiving the command the faucet may first determine whether command is time-sensitive. This determination can be made by comparing the received command to a database of time-sensitive commands that are locally stored within the faucet. If the received command matches one of the commands on the database of local commands, then the command is classified as a “local command” and the command is processed locally using the computing resources integrated to the faucet. If the received command does not match any of the commands on the database of local commands, then the command is classified as an “extensible command” and the command is transmitted to a computing device, such as an Internet of Things device or a server computer that is communicatively connected to the faucet through a network connection. The command is then processed at the remotely located computing device or server and the control action to be taken by the faucet is transmitted back to the faucet from the computing device or server.

FIG.1illustrates an example smart electronic faucet system100. The smart electronic faucet system100includes a faucet120that is communicatively linked to a computing device130, which in turn is communicatively connected to a server computer140. The faucet120receives a voice command from a user110using a microphone associated with the faucet120. Upon receiving the voice command, a controller associated with the faucet120analyzes the voice command for the presence of one or more key phrases. If the controller determines that the voice command includes a key phrase, then the operation of the faucet120is controlled based on the voice command. Alternatively, if the controller determines that the voice command does not include any key phrases, then the voice command may be transmitted to the computing device130via the communication link. The computing device130in turn may access the server computer140to determine what action to take based on the received voice command. The components associated with the smart electronic faucet system100are described in greater detail in relation toFIG.2.

FIG.2illustrates a detailed example200of the smart electronic faucet system100. The faucet system200includes an electronic control system210for controlling dispensing of water from a faucet120. In the example shown inFIG.1, the control system210includes the controller240including a processor242to process the signals received from the faucet circuitry230to send a signal to the flow control box250and a memory246to store instructions to be executed by the processor242. The control system also includes a power supply260that is connected to the controller240and the flow control box250.

In some embodiments, the control system210additionally or alternatively includes a faucet handle220as part of the faucet120, wherein the faucet handle220receives inputs from at least one of a gyroscope222, magnetometer224, and accelerometer226of the sensor PCBA, described in relation toFIG.5.

In one embodiment, the faucet handle220is located above the countertop and the controller240, flow control box250, and power supply260are located below the countertop. The components of the control system may be arranged above and below the counter top as appropriate. The power supply260provides power to the faucet handle220through the controller240. In another embodiment, the power supply260may be connected directly to the faucet handle220. The power supply260can be power supplied from an outlet and converted as necessary for use by the controller240, flow control box250, and faucet handle220. The flow control box250may have a separate power supply260than the controller240. The power supply260may be any power source to supply electrical power for the function of the faucet handle220, controller240, and the flow control box250.

In one embodiment, the faucet handle220detects its spatial orientation through the use of at least one of the gyroscope222, the magnetometer224, and accelerometer226. In another embodiment, the faucet handle220may use other sensors to detect its spatial orientation. The faucet handle220can send the signals received from the sensors222,224,226to the controller240to use an algorithm in order to determine the temperature of water and the flow rate of the water to be released from the spray head320(discussed in further detail in relation toFIG.3A). In another embodiment, the controller240may use a look-up table to determine the temperature of water and the flow rate of the water to be released from the spray head320. After determining the temperature and flow rate of the water, the controller240can send a signal to flow control box250to control the servo motor 1252and servo motor 2254to adjust the temperature and flow rate of the water being dispensed from the spray head320. The flow control box250receives hot and cold water from the water supply inlet hoses350to output the water of a desired temperature and flow rate through the pull down hose340to the spray head320.

In some embodiments, the faucet120may include faucet circuitry230that includes a microphone232that is voice-enabled and/or speakers234. In other embodiments, the faucet circuitry230may also include networking circuitry236(e.g., Bluetooth, WiFi, mesh networking, ZigBee, etc.) such that the faucet120is communicatively coupled with other components. In yet other embodiments, the circuitry230may also include control circuitry (e.g., microcontrollers, processors, or other embedded systems), sensors and sensor circuitry (e.g., Inertial Motion Units or IMUs, flow, pressure, temperature, hall effect, etc.), or other circuitry238.

In some embodiments, one or more components of the faucet circuitry230or the faucet circuitry230itself may be located within the faucet handle220. In other embodiments, the one or more faucet circuitry230and/or the faucet circuitry230itself may be located in other regions of the faucet120such as the faucet body or other regions.

In some embodiments, the faucet120may additionally or alternatively be communicatively coupled (e.g., via Links2and3) to a computing device130which is in turn communicatively coupled to a server140or cloud network service. In one embodiment, the faucet120may be communicatively coupled to a computing device130such as a commercially available consumer device (e.g., Internet of Things devices such as the Amazon Echo™ or the Google Home™). The computing device130may, in turn, be communicatively coupled to a server140(e.g., Amazon Web Servers), the Internet, or other computing devices. As described further with reference toFIG.15, the faucet120may use the functionality of the computing device130(e.g., voice-recognition capabilities, network capabilities, programmable functionality, etc.) to boost its own functionality.

In some embodiments, after receiving a voice command from a user with a voice-enabled microphone232associated with the circuitry230, the faucet120may communicate the voice command to the controller240, where the stored instructions in the memory246help the processor242analyze the voice command and determine if the voice command includes one or more predetermined key phrases. If the processor242detects one or more key phrases within the voice command, then the voice command is further analyzed and the operation of the faucet120is controlled using the flow control box250in accordance with the received voice command.

In other embodiments, after receiving a voice command, the processor242may determine that the voice command does not include any of the predetermined key phrases. In such cases, the circuitry230communicates with other computing devices via a communication link, such as the Internet, or the circuitry230communicates with a server or another component (e.g., a networked computing device or a cloud network service) to determine what action to take based on the received voice command.

In some embodiments, the faucet120may have more than one microphone. For example, the microphones could be located adjacent to each other or at separate points on the faucet body. By way of example, the faucet may have one microphone on the front of the faucet body (sink facing) and another microphone on the back (backsplash facing). By way of another example, the faucet120may have a microphone on the front of the faucet body (sink facing) and another microphone on the top of the spout tube (ceiling facing). In another example, the microphone one or more microphone may be located on the faucet handle220. Many variations of locations could be used depending on the circumstances.

The control system210also includes the flow control box250, including a servo motor 1252and a servo motor 2254to control the water received from water supply inlet hoses350(not shown) to output water of a determined flow rate and determined temperature based upon the spatial orientation of the faucet handle220. Servo motor 1252may be a servo motor for the control of cold water into the system. Servo motor 2254may be a servo motor for control of hot water into the system. In some embodiments, the flow control box250may use more than two servo motors in order to control the temperature and flow rate of the water. The flow control box250may also use a series of solenoids, needle valve, stepper motor, etc. in order to control the temperature and flow rate of the water depending on the circumstances.

In one embodiment, networking more than one faucet provides additional functionality and metrics. For example, a home may include more than one faucet with functionality described herein such that the household aggregate water consumption (and other metrics such as temperature, time, etc.) through faucets could be tracked. This data may benefit predictive metrics and save time and money. For example, a household might be able to better predict when and how much hot water is needed in order to only heat the amount of water needed at the correct time.

FIGS.3A to3Eillustrate an example kitchen faucet according to different embodiments of the disclosure.

FIG.3Aillustrates a perspective view of an example faucet120according to an embodiment of this disclosure. Although this disclosure will be discussed with regard to a kitchen faucet for purposes of example, the control system described herein could be implemented in any type of faucet, including bathroom faucets, whether the faucet has a single handle or two handles. Although the faucet120is shown as a pull-down kitchen faucet for purposes of example, this disclosure encompasses other types of faucets, including but not limited to pull-out faucets. In the example shown, the faucet120includes a faucet body310, a faucet handle220, and a spray head320that can be detached or undocked from the faucet body310. The faucet body310can be shaped differently to provide a different connection with the faucet handle220or spray head320. For example, in another embodiment the faucet body310could be flush with the faucet handle220to provide a more streamlined appearance that reduces the space required by the faucet120. In another embodiment, the faucet handle220does not need to be connected to directly to the faucet body310, but could be remote from the faucet body310.

As shown, the faucet120can be manually controlled (e.g., the temperature, water flow, and on/off) using the handle220. In some cases, the faucet120could be manually adjusted electronically, such as using a hands-free sensor, touch activation, buttons or other interface. As discussed more below, the handle220can detect its spatial orientation and send signals to a controller240to control water flow using a flow control box250through signal wires330.

As discussed further herein, the faucet120can also be electronically controlled using voice and/or speech control. The terms “voice control” and “voice recognition” are used interchangeably to mean broadly a feature of the faucet for identifying a user based on a user's spoken words. With respect to voice recognition, for example, the faucet could have user-based presets for temperature, flow, volume, filtering, and/or other faucet controls based on an identification of the user using voice recognition. In one embodiment, for example, the faucet could have a user-based preset for a volume dispensed for a container of water. For example, a first user could have a 20-ounce preset in response to a command to “Dispense water into my tumbler” while a second user could have a 32-ounce preset for the same command. The faucet could include voice recognition to identify which user stated the command and dispense a volume of water consistent with that user's preset. The faucet120could also include speech recognition to parse a user's spoken words into a command to be executed by the faucet. For example, the faucet's speech recognition could interpret between commands “Dispense 8 ounces of water” and “Dispense water at 150 degrees.” In some cases, voice recognition and speech recognition could be used in tandem. For example, the faucet could use voice recognition to understand a preset volume for the command “Dispense water into my tea cup” while speech recognition would parse the spoken words into a command recognizable by the faucet. Throughout the specification, the examples may describe only voice recognition or only speech recognition for purposes of simplifying the disclosure, but it should be appreciated that the faucet could include both voice recognition and speech recognition in each of these examples depending on the circumstances.

In the embodiment shown inFIG.3A, the flow control box250is connected to a pull down hose340to provide fluid communication from water supply inlet hoses350to spray head320. As is typical, the water supply inlet hoses350can supply cold and hot water to be released from the spray head320.

FIG.3Billustrates a perspective view of an example faucet according to an embodiment of the disclosure.FIG.3Cillustrates a perspective view of an example smart electronic faucet system300including the faucet ofFIG.3Bfurther illustrating an exploded view of the faucet handle.

In the example shown inFIGS.3B and3C, the faucet120includes a faucet body310, a faucet handle220, and a spray head320that can be detached or undocked from the faucet body310. The faucet handle220may be substantially or fully integrated into the faucet body310. The handle220may detect its spatial orientation and send signals to a controller240to control water flow using a flow control box250through signal wires330. Additionally or alternatively, as shown in the cut-out portion of the faucet handle220, the faucet120may include circuitry230, such as control circuitry (e.g., microcontrollers, processors, or other embedded systems), networking circuitry236, sensors and sensor circuitry (e.g., IMUs, microphones232, speakers234, flow, pressure, temperature, hall effect, etc.), or other circuitry238. The circuitry230may be coupled to the signal wire330that in turn may be coupled to the controller240or other control circuitry.

Referring back toFIG.2, the faucet120is communicatively connected to a server140through a network. In some examples the faucet120may be directly connected to the server140through a network. In other examples the faucet120may be communicatively connected to a computing device130first. For example, the computing device130can include commercially available consumer device (e.g., the Amazon Echo™ or the Google Home™). The computing device130may, in turn, be communicatively coupled to a server140(e.g., Amazon Web Servers), the Internet, or other computing devices. In some cases, the faucet120may use the functionality of the computing device130(e.g., voice-recognition capabilities, network capabilities, programmable functionality, etc.) to boost its own functionality.

In some embodiments, the faucet120receives a voice command from a user110. The faucet120receives the voice command using a microphone232or another device capable of receiving voice commands. In some embodiments the microphone232is built into the faucet handle220. In other embodiments, the microphone may be located in other regions of the faucet120including the faucet body310. Upon receiving the voice command, the faucet120uses a processor to analyze the voice command.

In some cases, the faucet120may be controlled by speaking to it with set voice commands, which may be initiated by a predetermined and recognized voice trigger, such as “Faucet,” “Computer,” etc. The microphone232, along with a microcontroller circuit or a processing unit located within the faucet120and to which the microphone is communicatively connected, constantly or periodically, listens for voice triggers. Upon hearing the trigger word, the microphone232is activated to record any words or phrases following the trigger word, which form the voice command.

In some embodiments, the voice command may include one or more control actions that the user wants the faucet120to perform. Control actions described herein are not meant to be limiting and include, for example, turning the water flow on and off, adjusting the flow, temperature, rate, volume, and duration of water being dispensed by the faucet. It is noted that the control action examples and voice triggers discussed above are intended as exemplary rather than limiting. For example, in association with faucet actuation control actions, one or more safety action could also be included. For example, in some cases where a control action includes actuating or opening a faucet valve to dispense water, a further control action can be preset to occur, such as to turn off or close the faucet within a predetermined amount of time or based on sensing a condition (e.g., water rising above a predetermined level) detected by sensors surrounding the faucet. Still further, other safety checks can be included in control actions, e.g., to determine a proximity of the user before dispensing water, or to adjust water flow gradually over time, such that a water flow rate tapers off near an end of a dispensing control action.

In some embodiments, the processor used to analyze the voice command may include the processor242located within the controller240. In such cases, the voice command is transmitted to the processor242included in the controller240using the signal wires330. The processor242, using the instructions stored in memory246, analyzes the voice command for the presence of one or more key words or phrases. In other embodiments, the processor used to analyze the voice command is a microcontroller circuit that may be included among the faucet circuitry230. In such cases, the voice command is received by the microphone232and transmitted to the microcontroller circuit included among the faucet circuitry230. The microcontroller circuit analyzes the voice command for the presence of one or more key words or phrases. Other types of processing units in other locations associated with the faucet can also be used to analyze a received voice command.

In some embodiments, the analysis of the voice command includes a determination if the voice command can be processed locally, meaning within the faucet or circuitry proximate thereto, or if the voice command can be processed remotely using the server140or computing system130. The determination is based on an analysis of the words or phrases included in the voice command. For example, the voice command is parsed and a determination is made if the words or phrases included in the voice command is one of a list of predetermined words or phrases. If the voice command includes one or more key words or phrases, then the voice command is classified as a local command and the voice command is processed locally within the faucet120itself. On the other hand, if the voice command does not include any of the list of predetermined key words of phrases then the voice command is classified as an extensible command and the voice command is transmitted to the server140or the computing device130for further processing. In such cases, the computing device130or the server140further processes the voice command and transmits one or more instructions regarding what action to take back to the faucet120for the faucet to follow.

In some embodiments, any action taken by the faucet120that requires shortened time delays are typically executed locally in order to avoid longer time delays associated with transmitting and receiving instructions from remote servers and/or computing devices. For example, commands to turn faucet on and off or to change the dispense mode of the faucet may require immediate action from the faucet. Therefore, commands such as “turn faucet on,” “turn faucet off,” “change dispense mode,” etc., may be included in the list of predetermined key words and phrases. On the other hand, a command to dispense a certain amount of water or changing the water to a certain temperature may be better tolerable to time delays. Therefore, commands such as “dispense . . . oz of water” or “set water to . . . degrees,” etc., may not be included in the list of predetermined key words and phrases.

In some embodiments, the list of predetermined key words or phrases that trigger local action can be saved in the memory246or in the microcontroller circuit that may be included in the faucet circuitry230. The list of predetermined key words or phrases can be updated over time using networking circuitry236, for example, either manually by a user selecting specific commands, or automatically based on frequency of use of particular commands.

FIG.3Dis a front view of an example faucet according to an embodiment of the disclosure. In the example shown inFIG.3D, the faucet120includes a faucet body310, a faucet handle220, and a spray head320that can be detached or undocked from the faucet body310.

FIG.3Eis a perspective view of an example voice-controlled kitchen faucet according to an embodiment of the disclosure. In the example shown inFIG.3E, the faucet120includes a faucet body310, a spray head320that can be detached or undocked from the faucet body310, and an interface360. In some embodiments like the example shown inFIG.3E, the faucet120does not include a faucet handle220because it is otherwise controlled (e.g., via voice commands). In some embodiments, the interface360is integrated within the faucet body310.FIG.3Eillustrates an interface360with two icons (a sink icon and a logo icon) illuminated for purposes of example. When the interface360is not illuminating icons, the faucet body310may appear to be a single integrated piece without any interface360. Thus, the interface360may be seen only when one or more portions of the interface360are illuminated or otherwise actuated. As an example, the faucet body310may look like a single piece of brushed chrome when the interface360is not illuminated or actuated. In some embodiments (e.g., when the faucet120receives a command or voice command), an LED may be illuminated on the interface360and light may show through the faucet body310(e.g., in the shape of an icon) like a one-way screen.

FIG.4illustrates an embodiment400of a close up look at the components of the faucet120under the counter top (not shown). As mentioned above, in one embodiment the controller240is connected to the flow control box250through signal wires330to analyze the signals to send from faucet handle220to control the flow of water from the water supply inlet hoses350. The flow control box250can mix the water from water supply inlet hoses350to provide a water flow of a user-selected temperature to be released from the spray head320. The flow control box250as shown is located under the counter top of the faucet120. The flow control box250can be located elsewhere as appropriate to receive signals from controller240through signal wires330and provide water to be released from spray head320through pull down hose340. The flow control box250can be located in a different position to provide more space underneath the counter top of faucet120depending on the circumstances.

In the example shown, the controller240is located outside of the flow control box250. In another embodiment, the controller240can also be located inside of the flow control box250. In another embodiment, the controller240can be located above the counter top of the faucet120. The controller240could also be located inside the faucet handle220.

The connection between the faucet handle220, controller240, and flow control box250is shown as a wired connection through signal wires330. In another embodiment, the communication between the faucet handle220, controller240, interface360, and/or flow control box250can be done wirelessly.

FIG.5illustrates an embodiment500of a closer look at the faucet handle220. In some embodiments, the faucet handle can be used to control the flow of water without using the voice command. In other embodiments, the voice command can be used to control the flow of water being dispensed by the faucet120without adjusting the faucet handle220.

The embodiment shown inFIG.5describes the faucet handle220and how the handle220can be adjusted to control the flow of water. The handle220shown inFIG.5includes a cut away to reveal the components inside of the faucet handle220. In the example shown, the faucet handle220includes a sensor printed circuit board assembly (PCBA)510connected to the signal wire330. As shown, the faucet handle220is connected to the faucet body310through a stationary faucet handle mount520in conjunction with a movable faucet handle mount530. The stationary faucet handle mount520is connected to the faucet body310. The stationary faucet handle mount520can be a part of the faucet body310. The movable faucet handle mount530is movably connected to the stationary faucet handle mount32. The movable faucet handle mount530is also connected to the faucet handle220. The movable faucet handle mount530can be a part of the faucet handle220. The connection between the stationary faucet handle mount520and the movable faucet handle mount530allows the faucet handle220to move at least rotationally along two axes of rotation. In one embodiment, one axis of rotation can represent the water flow being released from the spray head320, and the other axis of rotation can represent the temperature of water being released from the spray head320. Although the stationary faucet handle mount520and the movable faucet handle mount530extend from the faucet body310in the example shown, these components could be integral with the faucet body310to provide more flexibility for shape and size of the faucet body310.

In one embodiment, the faucet handle220can be movably connected to the faucet body310without the stationary faucet handle mount520and the movable faucet handle mount530. The faucet handle220can also be movably connected to the spray head320. As discussed above, the faucet handle220can be separate from the faucet body310altogether and be movably connected to a surface for movement along two axes of rotation.

In some embodiments, the sensor PCBA30is configured to detect the spatial orientation of the faucet handle220. In one embodiment, the sensor PCBA510is an inertial motion unit (IMU) sensor510. The sensor PCBA510can send signals through signal wires330to controller240to interpret the signals. After the controller240determines a spatial orientation of the faucet handle220through the signals provided from sensor PCBA510, the controller240can send signals to the flow control box250and control the water temperature and the water flow to be released from the spray head320.

When the flow of water is adjusted using the voice command rather than the position of the faucet handle220, the received voice command is analyzed according the process described further in relation toFIG.2and the processor242converts the identified control action to signals to send to the flow control box250to control the flow of water. For example, the processor242may convert a control action to “set the water temperature to 100 degrees” to a signal to the flow control box250in the same manner that a signal from the sensor PCBA that the faucet handle has been set to hot is converted to a signal to the flow control box250described above.

FIG.6illustrates an example progressive movement600of the faucet handle220from an initial position where no water is being released to a fully extended position where the flow rate of water is at a maximum. In the example shown, the faucet body310is connected to the stationary faucet handle mount520. The movable faucet handle mount530is movably connected to the stationary faucet handle mount520. The faucet handle220is connected to the movable faucet handle mount530so a user can maneuver the faucet handle220along one axis as shown in relation to the faucet body310.

In the shown embodiment, there are three different positions as the faucet handle220starts from an initial position rotating all the way to the fully extended position in phantom. In another embodiment, there may be a plurality of positions that the faucet handle220can achieve between an initial positions to a fully extended position. In one embodiment, as the faucet handle220is rotated in the way shown inFIG.6, the faucet handle220sends signals to the controller240to control the flow control box250to release more water of a temperature determined as discussed below. In one embodiment, the faucet120does not release any water when the faucet handle220is in the initial position. The faucet120begins to release water of variable amounts when the faucet handle220is rotated from the initial position depending on the position of the faucet handle220. The sensor PCBA30detects the position using the gyroscope222, the magnetometer48, and/or the accelerometer226and sends signals to the controller240to determine how much water is to be released. The controller240then sends a signal to the flow control box250to release water of a determined flow rate out of the pull down hose340to the spray head320through the use of the servo motors252,254.

FIG.7illustrates an example rotation700of the faucet handle220from an initial position to one side and from the initial position to the other side. In the example shown, the faucet handle220is connected to the movable faucet handle mount530that connects to the stationary faucet handle mount520, discussed in relation toFIG.5, which is connected to the faucet body310. The connections allow the faucet handle220to rotate as shown. There is one initial position of the faucet handle220and four other positions shown in phantom. In another embodiment, there is a plurality of positions that the faucet handle220can achieve between the fully extended left position to the fully extended right position.

In one embodiment, as the faucet handle220is rotated along the axis of rotation the temperature of water the flow control box250releases to the pull down hose340connected to the spray head320changes. The faucet handle220detects its position using the sensor PCBA510and sends a signal to the controller240. The controller240determines a temperature of the water to be released from the spray head320depending on the spatial orientation of the faucet and sends a signal to the flow control box250to output water of a certain temperature and flow rate through the pull down hose340to the spray head320as discussed above. The flow control box250can control the servo motors252,254to release a specific amount of cold and hot water from the water supply inlet hoses350to achieve the desired temperature for the water released from the pull down hose340to the spray head320.

In one embodiment, the fully extended left position of the faucet handle220could be for the release of the hottest water available. The fully extended right position of the faucet handle220can be for the release of the coldest water available. The initial position of the faucet handle220can be for the release of an even mix of hot and cold water available. The positions in between the fully extended left position of the faucet handle220and the fully extended right position of the faucet handle220can be varying mixes of hot and cold water to achieve relatively cold water or relatively hot water. The water can become progressively colder or hotter depending on which direction the faucet handle220is rotating towards. In another embodiment, the cold and hot directions may be switched so the fully extended left position of the faucet handle220can be for the release of the coldest water available and the fully extended right position of the faucet handle220can be for the release of the hottest water available.

FIG.8illustrates a table800showing an example distribution of water from water supply inlet hoses350released through flow control box250. The table covers the range of motion available for the faucet handle220. The sections are labeled with section numbers810and are located along a spectrum of percentage water flow820and a temperature turn value830. The sections further include a value for the servo motor 1 water inlet840and a value for the servo motor 2 water inlet850. In one embodiment, the value for the servo motor 1 water inlet840can represent the cold water value and the value for the servo motor 2 water inlet850can represent the hot water value. In another embodiment, the servo motor water inlet840,850values may be switched so that the value for servo motor 1 water inlet840represents the hot water value and the value for servo motor 2 water inlet850represents the cold water value. In the shown example, the percentage of water flow820ranges from 0 to 100% with four divisions. In one embodiment, the percentage of water flow820can be 25%, 50%, 75%, and 100%. In another embodiment, the percentage of water flow820may be divided in any way between 0 to 100%.

The temperature turn value830can represent the amount of rotation that is achieved for the faucet handle220. For example, P can represent the fully extended right position of the faucet handle220and P can represent the fully extended left position of the faucet handle220. In another embodiment, the positions may be switched so P can represent the fully extended left position of the faucet handle220and -P can represent the fully extended right position of the faucet handle220. In the shown example, there are five divisions along the spectrum of temperature turn values830. In another embodiment, there may be any number of divisions. In another embodiment, P may be divided into quarters and sixths. The temperature turn value830can be divided into a plurality of division.

The table is divided into several sections as shown inFIG.8. Each section represents a location the faucet handle220can be located during operation. If the faucet handle220is located within one of the sections then the faucet120would release water according to the values840,850within the section. For example, if the faucet handle220has been extended between 75% to 100% of the percentage of water flow820and the faucet handle220has been turned to a value between 2P/3 and P for the temperature turn value830, the faucet120would release 100% (or the maximum amount) of water from servo motor254and no water for servo motor252.

In another embodiment, the table shown inFIG.7can be divided into a plurality of sections such that a continuous change of water flow from water supply inlet hoses350through the servo motors252,254can be achieved as the faucet handle220changes location along the spectrum of percentage of water flow820and temperature turn value830. In the shown example, the values have a fixed maximum depending on where the faucet handle220is located along the spectrum of percentage of water flow820. The servo motor252or254side that the faucet handle220is located under has the maximum percentage of water flow820for the value for servo motor water inlet840or850and the other value for servo motor water inlet840or850is decremented down to zero on the far end depending on how many divisions there are for the temperature turn value830. In the shown example, there are five divisions and within the first division on each side both of the values for the servo motor water inlets840,850are at the maximum depending on where along the spectrum the faucet handle220falls on the percentage of water flow820. Within the next division, the value for the servo motor water inlet840or850for the side the faucet handle220is located stays the maximum value and the other value for the servo motor water inlet840or850drops to half of the maximum value. Within the last division, the value for the servo motor water inlet840or850for the side the faucet handle220is located stays the maximum value and the other value for the servo motor water inlet840or850drops to zero.

In another embodiment, the values for the servo motor water inlets840,850may be decremented in a different way. In another embodiment, the values840,850may be decremented by thirds. The settings for the divisions may be changed depending on user preference. More divisions can result in a more continuous change in water temperature and water flow. The fewer divisions can result in energy conservation since the servo motors252,254will not need to be changed in operation as frequently.

The controller240can receive the signals from the sensor PCBA510to detect the spatial orientation of the faucet handle220. The controller240can use an algorithm to calculate where in the spectrum of percentage of water flow values820and temperature turn values830the faucet handle220is located from the signals received from the sensor PCBA510. After crossing a threshold for either percentage of water flow values820or temperature turn values830, the controller240can send signals to the flow control box250to operate the servo motors252,254to release water of an updated temperature and water flow depending on the spatial orientation of the faucet handle220.

In another embodiment, the controller240can use a look-up table to see what values the controller240should set for the values of the servo motor water inlets840,850. The controller240determines the spatial orientation of the faucet handle220and determines which section the faucet handle220is located. If the faucet handle220located in section number16810, then the controller240sends a signal to the flow control box250to close the water supply inlet hose350for servo motor 1252and open the water supply inlet hose350for servo motor 2254to the maximum in order to achieve the value for servo motor 1 water inlet840of 0 and the value for servo motor 2 water inlet850of100.

FIG.9illustrates a flow chart showing an example operation of the faucet120. In the shown example, the faucet120uses an interrupt method900of controlling the operation of the flow control box250. In the shown example, the interrupt method900begins with operation910in which the controller240is in a sleep state to conserve energy waiting to receive an interrupt from the sensor PCBA510or inertial motion unit (IMU) sensor510or to receive a voice command from a user. After operation910, the process continues to operation920where there is a check for an interrupt from the IMU sensor510. If there is an interrupt received from the IMU sensor510, then the process continues to operation930. If an interrupt is not received, then the process returns to operation910for the controller240to sleep. In embodiments where the controller has received a voice command from a user rather than a movement in the position of the faucet handle220, operation920is skipped and the process continues to operation930upon the controller240identifying a control action by itself or receiving a control action from a server140or computing device130communicatively connected to the faucet120.

After the process continues to operation930, the controller240will read the IMU sensor510position or identified control action to determine the spatial orientation of the faucet handle220or identify the prospective spatial orientation of the faucet handle220corresponding to the identified control action. After the controller240reads the IMU sensor510or identified control action, the process continues to operation940where the controller240will use an algorithm to calculate the servo motor252,254positions or look-up table for the servo motor252,254positions according to the determined spatial orientation of the faucet handle. After the controller240determines the servo motor252,254positions, the process continues to operation950where the controller240sends a signal to the flow control box250to change the servo motor252or254position to change the cold water value being released through pull down hose340to spray head320. After the servo motor252or254position is changed, the process continues to operation960where the controller240sends a signal to the flow control box250to change the servo motor252or254position to change the hot water value being released through pull down hose340to spray head320. After both servo motor252,254positions are updated, the process returns to operation910. In another embodiment, the hot water value may be changed first before the cold water value and so the corresponding servo motor252or254would change.

In another embodiment, the controller240may further wait for another interrupt after receiving an initial interrupt from the IMU sensor510or another voice command to update the positions of the servo motors252or254. The delay can be to wait for the final position the user intends to position the faucet handle220. The delay may be a set predetermined period of time for the controller240to wait to receive additional interrupts. Therefore, the faucet120would only need to go through the process once instead of multiple times depending on how many sections the faucet handle220crosses.

FIG.10illustrates a flow chart showing an example operation of the faucet120. In the shown example, the faucet120uses a polling method1000of controlling the operation of the flow control box250. In the shown example, the polling method1000begins with operation1010in which the controller240starts and turns on. After the controller240is on, the process continues to operation1020where the controller240reads the IMU sensor510position to determine the spatial orientation of the faucet handle220and/or checks to see if any voice command has been issued. After the controller240reads the IMU sensor510, the process continues to operation1030where the controller240will use an algorithm to calculate the servo motor252,254positions or look-up table for the servo motor252,254positions according to the determined spatial orientation of the faucet handle220or identified control action. After the controller240determines the servo motor252,254positions, the process continues to operation1040where the controller240sends a signal to the flow control box250to change the servo motor252or254position to change the cold water value being released through pull down hose340to spray head320. After the servo motor252or254position is changed, the process continues to operation1050where the controller240sends a signal to the flow control box250to change the servo motor252or254position to change the hot water value being released through pull down hose340to spray head320. After both servo motor252,254positions are updated, the process returns to operation1010. In another embodiment, the hot water value may be changed first before the cold water value and so the corresponding servo motor252or254would change.

The polling method1000can allow for a more continuous change in water flow and temperature than the interrupt method900because there is not a wait for an interrupt by the IMU sensor510. However, the polling method1000expends more energy by constantly updating the process. In one embodiment, the user can set the method of operation for the faucet120. For example, there may be a switch (not shown) that can be used to change the method of operation for the faucet120.

FIGS.11A,11B,11C, and11Dillustrate example icons for use with the faucet120according to an embodiment of the disclosure.FIG.11Aillustrates an example pot icon. In some embodiments, the interface360may display the pot icon ofFIG.11Awhen the faucet120receives a command to fill a pot. For example, the faucet120may receive a voice command, such as “Faucet, fill 6 quart pot,” and the interface may illuminate to display the pot icon after receipt of the command and/or during operation of the faucet.FIG.11Billustrates an example sink icon that may be displayed by interface360after receiving a command (e.g., “Faucet, fill sink”) or during operation.FIG.11Cillustrates an example cup icon that may be displayed by interface360after receiving a command (e.g., “Faucet, fill cup” or “Faucet, fill 8 ounces”) or during operation.FIG.11Dillustrates an example filter icon that may be displayed by interface360after receiving a command (e.g., “Faucet, 8 ounces of filtered water”) or during operation.

FIG.12illustrates a perspective view of some components of a needle valve flow control box according to some embodiments.FIG.13is a cross-section view of the flow control box ofFIG.12.FIGS.12and13show some components of a flow control box1200, including linear stepper motors1260, needle valves1262, water supply inlet connections1264, mixed water outlet connection1266, and sensor(s)1268. The flow control box1200may be connected to other components, such as control circuitry, networking circuitry, embedded systems, or other components. For example, the linear stepper motors1260and the sensor(s)1268may be connected to the controller240, circuitry230, and/or signal wires330.

During operation according to some embodiments, hot and cold water supply inlet hoses are connected to the water supply inlet connections1264. The needle valves1262are coupled to the linear stepper motors1260such that the linear stepper motors1260can move the needle valves to increase or decrease the flow of water to the faucet. Based on the desired water output (e.g., as received from a voice command, a spatial orientation command, a mechanical command), the controller may actuate one or both of the linear stepper motors1260which in turn moves the needle valve and in turn increases or decreases the amount of cold or hot water that is provided to the faucet via the mixed water outlet connection1266.

One or more sensor(s)1268may be included with the faucet120and/or the flow control box1200. For example, a flow rate sensor (e.g., a Hall-effect sensor) may be included to meter or determine the amount of water. This may be beneficial if a desired volume of water is needed. For example, a voice-controlled faucet may be able to receive a command such as “Faucet, fill a cup of water” or “Faucet, fill 3 quarts of water” and use the flow rate sensor to dispense that specific volume of water or close to that specific volume of water. Other sensors1268may be used as well. For example, the flow control box1200may include a temperature sensor. This may be beneficial if a desired temperature of water is needed. For example, the faucet may receive a command such as “Faucet, dispense at 200 degrees” and use the temperature sensor to mix the proper amount of hot and cold water to dispense water at the requested temperature. Similarly, the faucet120and flow control box1200may work in tandem with other components (e.g., the controller240, circuitry230), or with custom or user-defined programming (e.g., IFTTT). For example, the faucet may receive a command such as “Faucet, fill a cup of filtered water for green tea,” look-up the correct temperate for steeping green tea (e.g., 175 degrees Fahrenheit), and dispense eight ounces of water at 175 degrees Fahrenheit.

FIGS.14A,14B, and14Cillustrate some components of a flow control box1400with servomotor controls, according to an example embodiment.FIG.14ACshow some component of a flow control box1400, including servomotors1460, servomotor gears1461, valves1462, valve gears1463, and water inlet supply connections1464. The flow control box1400may be connected to other components, such as control circuitry, networking circuitry, embedded systems, sensors, or other components and as described elsewhere for other flow control boxes herein.

Still referring toFIGS.14A-C, the two servomotors1260are coupled to the valves1262via the servomotor gears1461which are linked to valve respective valve gears1463. In operation, the servomotors1260drive the position of the valves1262. In some embodiments, the valves1262may be cartridge valves. For example, one valve could be connected to a cold supply line and another valve could be connected to a hot water line. Thus, a first servomotor could be used to control flow of cold water and a second servomotor could be used to control flow of hot water. As long as no obstructions or mechanical failures occur, the servomotors1260will drive its servomotor gear1461(via its output shaft) to the position of the control pulse. Thus, the faucet (e.g., via the controller240, circuitry230, or other circuitry) can safely assume the position of the valves1262. As an added measure of monitoring and to help minimize errors, position feedback may be used such that the servomotors1260can monitor the position of its output shaft and thus its servomotor gear. An example of position feedback includes adding a feedback wire to a potentiometer or rotary encoder used with the servomotor drive.

FIG.15illustrates a flow chart showing an example method1500of operation of the faucet120. In the shown example, faucet120determines if a voice command needs to be processed locally or if the voice command needs to be processed remotely with the assistance of a computing device130or server140. At operation1510, the faucet120receives a voice command. The faucet120may use a microphone232or another device capable of receiving commands, wherein the device is embedded in the faucet handle220or some other portion of the faucet120, to receive the voice command.

In some cases, the faucet120may be controlled by speaking to it with set voice commands, which may be initiated by a predetermined and recognized voice trigger, such as “Faucet,” “Computer,” etc. The voice command includes one or more control actions that the user wants the faucet120to perform.

At operation1520, after receiving the voice command, the faucet120sends the voice command to a processor242located in a controller240and communicatively connected to the microphone232or another type of processing unit or microcontroller circuit located within the faucet120itself. The processing unit helps parse and analyze the received voice command to determine the control action to be taken by the faucet120. In some embodiments, the voice recognition and processing application may be included as part of the processing unit. In other embodiments, the voice recognition and processing application may be included in a separate processing unit within the faucet120. When a voice command is received by the microphone associated with the faucet, the voice command is processed locally within the faucet by the voice recognition and processing application to interpret the command. If the voice recognition and processing application embedded within the faucet does not recognize one or more portions of the received voice command or otherwise has trouble interpreting the command, the voice command may be transmitted to the computing device130or server140for further processing. In some embodiments, the voice command may first be translated to a digital representation of the command by the locally installed voice recognition and processing software before being sent to the computing device130. In other embodiments, a recording of the voice command as received from the user or an audio signature of the voice command is sent to the computing device130or server140for further translation or interpretation and processing by a voice recognition and processing application that is available at the computing device130or server140. Other ways of processing the voice command locally or remotely are also possible.

The processing unit determines whether the voice command is a local command or an extensible command by determining if the voice command includes at least one of the predetermined key words or phrases. The processing unit makes the determination of whether the voice command includes at least one of the predetermined key words or phrases by comparing the voice command to a database of voice commands. In some embodiments, the database of voice commands is stored in memory246.

At operation1530, a decision is made regarding whether the received voice command includes at least one of the predetermined key phrases. For example, upon comparing the voice command to a database of predetermined voice commands, if the voice command, in full or in part, matches one or more voice commands included in the database of predetermined voice commands, then the voice command is classified as a “local” voice command. Local voice commands are voice commands that may be analyzed locally using the computing resources located within the faucet120itself. Once a command is classified as a local command, the command is not sent to remote servers to be analyzed. Analysis related to the command is done within the faucet itself.

Alternatively, if the voice command is not included in the list of voice commands included in the database of voice commands, then the received voice command is not recognized as a “local” voice command and the voice command is classified as an “extensible command.” An extensible command is a voice command that can be analyzed remotely using a computing device or server located outside of the faucet120and to which the faucet120is communicatively connected using networking circuitry236. If the voice command is classified as a “local” voice command at operation1530, then operation1530is followed by operations1540and1570. If the voice command is instead classified as an “extensible” voice command at operation1530, then operation1530is followed by operations1550,1560and1570.

At operation1540, the voice command is analyzed locally to determine the control action that needs to be taken by the faucet120. The processor242located in the faucet controller240or a microcontroller circuit located in in the faucet circuitry230or some other computing device located within the faucet120analyzes the received voice command and compares the voice command to a database of voice commands and associated control actions. In some embodiments, the database of voice commands and associated control actions may be stored in the memory246and can be the same as the database of predetermined voice commands discussed above in relation to operation1530. In other embodiments, the database of voice commands and associated control actions may be different than the database of predetermined voice commands.

Control actions described herein are not meant to be limiting and include, for example, turning the water flow on and off, adjusting the flow, temperature, rate, volume, and duration of water being dispensed by the faucet.

It is noted that the control action examples and voice triggers discussed above are intended as exemplary rather than limiting. For example, in association with faucet actuation control actions, one or more safety action could also be included. For example, in some cases where a control action includes actuating or opening a faucet valve to dispense water, a further control action can be preset to occur, such as to turn off or close the faucet within a predetermined amount of time or based on sensing a condition (e.g., water rising above a predetermined level) detected by sensors surrounding the faucet. Still further, other safety checks can be included in control actions, e.g., to determine a proximity of the user before dispensing water, or to adjust water flow gradually over time, such that a water flow rate tapers off near an end of a dispensing control action.

Alternatively, if the command is determined to be an “extensible” command at operation1530, then the voice command is sent to a remote computing system130or remote server communicatively connected to the faucet120in operation1550. In some examples, the received voice command is locally processed at the faucet120using a voice recognition and processing application and the digital representation of the command is sent to the remote computing system130or remote server140. In other examples, the audio signature or a recording of the voice command itself is sent to the computing system130or remote server140for voice recognition and processing.

In some examples, after the voice command is classified as an “extensible” command in operation1530, the voice command is transmitted to a computing device130communicatively connected to the faucet120. In some examples, the computing device130may be communicatively connected to a server140and the voice command received by the computing device130may be subsequently sent to the server140for analysis. In other examples, the voice command may be transmitted from the faucet120directly to the server140. The server140determines the control action to be taken by the faucet120based on a comparison of the voice command to a database of recognized voice commands that is stored in the server of another computing device or server that is communicatively connected to server140.

At operation1560, the server140sends, and the faucet120receives, the identified control action to be performed by the faucet120directly or via the computing device130.

At operation1570, the processor242causes one or more components of the faucet120to perform the control action. The control action to be performed by the faucet120is either determined locally within the processor242itself in case of “local” commands or is received from a remote computing system130or server140in case of an “extensible” command as further described in relation to operations1520to1560. For example, the processor242may transmit electronic signals to the flow control box250to control the flow volume and temperature of water being dispensed from the faucet120based on the identified control action. In some examples, the controller240is configured to receive input from one or more sensors integrated within the faucet120and adjust the flow volume and temperature of the water based on the control action and input from the sensors. The operations of the controller240and flow control box250in dispensing water is discussed in further detail in relation toFIGS.9-10and12-14.

FIG.16illustrates a perspective view of an example smart electronic faucet system1600. In some embodiments, the faucet120includes space to save a fixed number of local commands. For example,FIG.16shows that up to ten local commands can be stored within the faucet120itself. Other examples may allow for more or less number of commands to be stored locally depending on the memory space and processing power of the processing unit embedded within the faucet120. Typically commands that are used often and commands that need to be executed without significant time delays are the commands that are stored locally. Other commands may be stored remotely in server140and connected to the faucet120through a network connection. Accordingly, the memory space in the faucet may be maintained with limited capacity, and extensible commands may be provided to the faucet120by accessing such commands from the server140.

In some examples, one or more local commands that are time sensitive, such as “turn faucet on” and “turn faucet off,” may be locked-in as local commands because these commands require short execution delays and consequently always need to be stored locally. However, other slots within the local command roster may be changed periodically, manually or automatically, depending on the frequency of use of such commands. In other words, extensible commands that are typically stored remotely may be moved to be stored as a local command depending on the frequency of use of the command. For example, if a user dispenses 8 oz of water every time they fill a drinking glass with water, the command “dispense 8 ozs of water” will presumably be issued multiple times a day, every day. Therefore, even if the command “dispense 8 ozs of water” is initially stored as an extensible command, due to the frequent usage of the command, the command may be moved to the list of local commands.

In one example, the evaluation of whether to re-organize and update the local v. extensible command list may be performed periodically, such as every day or every week, during a time that is less inconvenient to the user. The evaluation and update may be performed automatically by the disclosed system or may be triggered by the user manually. For example, the user may connect to a remote application installed in a personal computer, or smart phone and trigger an evaluation and/or update process. The command may be received by the faucet120via networking circuitry236. Manual commands may include adding to the list of local commands, deleting a command from the list of local commands, moving a command classified as an extensible command to the list of local commands, updating the expected language of the command, and triggering a manual update of the voice analysis software and/or user preferences among other commands.