US20140001204A1 - Methods, Apparatuses, and Systems for Measuring the Amount of Material Dispensed from a Container Using an Accelerometer - Google Patents
Methods, Apparatuses, and Systems for Measuring the Amount of Material Dispensed from a Container Using an Accelerometer Download PDFInfo
- Publication number
- US20140001204A1 US20140001204A1 US12/688,839 US68883910A US2014001204A1 US 20140001204 A1 US20140001204 A1 US 20140001204A1 US 68883910 A US68883910 A US 68883910A US 2014001204 A1 US2014001204 A1 US 2014001204A1
- Authority
- US
- United States
- Prior art keywords
- container
- angle
- dispensed
- dispensing
- spout
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B67—OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
- B67D—DISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
- B67D3/00—Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
- B67D3/0051—Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes dispensing by tilting
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B67—OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
- B67D—DISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
- B67D3/00—Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
- B67D3/0054—Mounting or arrangements of dispensing apparatus in shops or bar counters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B67—OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
- B67D—DISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
- B67D3/00—Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
- B67D3/0058—Details
- B67D3/0077—Electronic circuitry
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F13/00—Apparatus for measuring by volume and delivering fluids or fluent solid materials, not provided for in the preceding groups
Definitions
- the invention relates to methods, apparatuses and systems for monitoring the amount of liquid, gels, powders, and solids dispensed from containers.
- Liquids, gels, powders and solids are dispensed from containers in various industries for retail, commercial and industrial use.
- the measurement and centralized tracking of the amounts of materials dispensed is important to a business to control costs, ensure quality control, monitor employee performance, manage inventories, and ensure revenue.
- Examples of materials that need to be measured and tracked include liquor, wine, beer, coffee, juices and premixed drinks in the hospitality industry, oil, fluids, materials used in industrial and machine environments, and liquids required in the creation of solutions in the medical and veterinary environments.
- dispensing devices use various methods to control or portion the quantities of materials dispensed.
- the amount of materials to be dispensed is not predetermined and is variable based on the arbitrary actions of a human operator or randomly or variably dispensed by a machine.
- Many of the methods and apparatuses of various embodiments disclosed herein relate to the tracking of inventory and the tracking of dispensed material. Some embodiments use monitoring devices of various kinds to measure the number of containers used or the amount of material dispensed from each container. The monitoring devices of such embodiments transmit their data to a central tracking system.
- Some embodiments track the amount of dispensed material by the use of electronic spouts inserted into the containers that contain the materials (e.g., a bottle that contains alcohol). Different embodiments track various actions by user of the devices. For example, some embodiments track whether a spout has been inserted into a container and/or whether the spout has been removed from the container. Some such embodiments include channels that allow fluid to leak if the spout is placed in the container in a way that does not activate the tracking circuitry.
- Some embodiments track the amount of a material that has been dispensed by measuring the angle at which the container is tilted (e.g., with an accelerometer on the spout or on the container). Given the angle at which material is dispensed and various other characteristics (e.g., viscosity of a liquid being poured), the methods of these embodiments are able to calculate how much of the material has been dispensed. Still other embodiments use a sonar system with an audio amplifier and a microphone to determine how much material is left in a container before and after material is poured out.
- Some embodiments provide power saving by deactivating or reducing the activity of monitoring devices when material is not pouring. For example, some embodiments include a tilt switch to determine when a container is in a position to pour out material. Some embodiments provide similar power saving by using a vibration sensor to determine when material is actually pouring out of a container based on the vibrations that such pouring creates in the container.
- Some embodiments include reprogrammable devices that are primed to accept new programming when the devices are shaken.
- the devices receive programming through infrared communications.
- the devices receive programming through wireless communications.
- Some embodiments provide a spout that detects whether it has been inserted into an open orifice of a container.
- the spouts of some embodiments include a first component for inserting into a container, a second component for inserting into the first component, a magnetic force sensor attached to one of the components, and a magnet attached to the component to which the magnetic force sensor is not attached.
- the insertion of the second component into the first component causes the magnet to affect the magnetic force sensor, thereby indicating that the spout is inserted into the container to seal the container.
- Other embodiments include a similar system in which the magnetic sensor and the magnet are internal parts of a spout that do not slide relative to one another.
- the magnetic sensor is activated when the pressure of the insertion on a pressure deformable part of the spout pushes the magnet close to the magnetic sensor (or pushes the magnetic sensor close to the magnet).
- Still other embodiments provide a pressure activation contact switch in which pressure on pressure deformable part of the spout due to an insertion causes an electrical contact to be made in the spout that indicates the insertion.
- Some embodiments provide a method for detecting when a spout is inserted into an open orifice of a container.
- the method detects that a magnetic sensor attached to a first component of the spout is affected by a magnet attached to a second component of the spout.
- One of the components is for inserting into the container and the other component is for inserting into the component that is for inserting into the container.
- a predetermined time after the detection the method determines whether the magnetic sensor remains affected by the magnet. When the magnetic sensor remains affected by the magnet, the method determines that the spout is inserted into the open orifice of the container.
- Other embodiments provide similar methods for detecting the insertion of spouts with magnetic sensors activated by pressure deformable material or pressure activation contact switches.
- Some embodiments provide a system for monitoring containers at an establishment, the system includes multiple spouts. At least one of the spouts includes a first component for inserting into a container, a second component for inserting into the first component, a magnetic force sensor attached to one of the components, and a magnet attached to the component to which the magnetic force sensor is not attached. The insertion of the second component into the first component causes the magnet to affect the magnetic force sensor, thereby indicating that the spout is inserted into the container to seal the container.
- the system also includes a local computer at the establishment for collecting data transmitted by the spouts.
- the systems of some embodiments are capable of monitoring containers with spouts of any of the types mentioned above. In some embodiments, the systems are capable of tracking containers with multiple spouts, or even containers that are tracked by devices other than spouts.
- Some embodiments provide a spout that attaches to a container (e.g., a bottle) in a novel manner.
- the spouts of these embodiments include a set of annular rings oriented parallel to a cross section of an opening of the container.
- the set of annular rings seals the opening of the container so that the spout becomes the only egress for the contents of the container.
- the spouts of these embodiments also include a set of ridges separate from the annular rings. The ridges are oriented perpendicular to the cross section of the opening. The set of ridges hold the spout in the container by frictional forces.
- Some embodiments provide a device that determines how much material is dispensed from a container by measuring the angle at which the container is tilted.
- such devices include an accelerometer for measuring an angle by which the container is tilted and an electronic component for transmitting data based on the angle measured by the accelerometer.
- the accelerometer measures the angle by which the container is tilted at a multiple different times.
- Some embodiments provide a method for measuring the amount of material dispensed from a container.
- the method measures an angle by which the container is tilted (e.g., using an accelerometer that is part of a device attached to the container.
- the method generates data based on the angle measurement and transmits the generated data to some external system.
- the external system receives data transmitted from such a device attached to a container.
- the data includes an estimate of the amount of material dispensed from the container that is generated based on measurements of angles by which the container is tilted.
- the data received by the external system is generated by the device based on an assumption that the material is a known, baseline material.
- the method of some embodiments identifies the material dispensed from the container based on an identifier in the received data. The method calculates the actual amount of material dispensed by using an offset that accounts for a difference in viscosity between the known, baseline material and the identified material.
- Some embodiments include devices with features that are only needed when the container is tilted.
- the devices of some such embodiments include a monitoring device for measuring data that is used to calculate the amount of material dispensed from the container.
- the monitoring device takes measurements at variable time intervals.
- the devices also include a tilt switch connected to the monitoring device that detects when the container is tilted by at least a particular tilting angle.
- the device can vary the time intervals at which measurements are taken (e.g., by the monitoring device) based on whether the container is tilted by at least the particular tilting angle. In some embodiments, decreasing the rate of monitoring when the tilt switch is not activated saves power.
- Some embodiments include a temperature sensor to help determine the volume of material dispensed. For example, the density or viscosity of a material may be affected by temperature, which would affect the calculations of the pour rate.
- Some embodiments provide devices with an accelerometer that detects frictional vibrations created when material is dispensed from the container. Such accelerometers can be used in a similar manner to the tilt switch described above. When the accelerometer detects frictional vibrations from material being dispensed, the device increases the frequency at which it monitors instruments that directly or indirectly measure the flow of material from a container.
- Some embodiments include devices, such as spouts for containers that are reprogrammable (e.g., for updating data and firmware updates).
- the spout of some embodiments includes a processor for controlling various electronic components of the spout according to a set of instructions, an electronic storage device for storing the set of instructions for the processor, and a sensor for receiving instructions via wireless transmission from an external source.
- the received instructions are used to modify the set of instructions stored on the electronic storage device of the spout.
- Some embodiments use an infrared sensor or a magnetic sensor. Some embodiments prepare to receive reprogramming when a vibration detecting sensor determines that the spout is being shaken. Other embodiments provide a spout with two-way communication to an external system that is able to signal the spout to accept reprogramming.
- FIG. 1 conceptually illustrates an overview of some embodiments.
- FIG. 2 illustrates the functionality of a sliding cork stem used in some embodiments.
- FIGS. 3A-3B illustrate some embodiments that use a magnet and magnetic sensor to determine when a pouring device is inserted or removed from a container.
- FIGS. 4A-4C illustrate some embodiments that use a cork designed to distinctly differentiate the functional purposes of frictional hold and liquid sealing.
- FIG. 5 illustrates some embodiments including a sliding cork stem that uses a magnet and a magnetic sensor to determine when the sliding cork stem is inserted or removed from a container.
- FIG. 6 conceptually illustrates a process used in some embodiments that uses a magnet and a magnetic sensor on a sliding cork stem to determine when a pouring device is inserted in a container.
- FIG. 7 illustrates a special cork used in some embodiments that includes pressure deforming material that expands with compression force on a fin or fins.
- FIGS. 8A-8C illustrate some embodiments that use pressure deforming material to activate a magnetic sensor which determines when a pouring device is inserted or removed from a container.
- FIG. 9 conceptually illustrates a process used in some embodiments that uses a magnet adjacent to pressure deforming material and a magnetic sensor to determine if a pouring device is inserted in a container.
- FIG. 10 illustrates a top down sectional view of some embodiments that use pressure deforming material to activate a magnetic sensor which determines when a pouring device is inserted or removed from a container.
- FIGS. 11A-11C illustrate some embodiments that use pressure-deforming material to activate a physical contact switch which determines when a pouring device is inserted or removed from a container.
- FIG. 12 conceptually illustrates a process used in some embodiments that uses a magnet adjacent to pressure deforming material and a magnetic sensor to determine when a pouring device is inserted in a container.
- FIG. 13 illustrates a top down sectional view of some embodiments that use pressure deforming material to activate a contact switch which determines when a pouring device is inserted or removed from a container.
- FIGS. 14A-14B illustrate some embodiments that provide an accelerometer on an electronic circuit board housed in a pouring device.
- FIG. 15 illustrates some embodiments that provide an accelerometer attached to the outside or inside of a container.
- FIG. 16 illustrates a circuit board with various electronic components included in some embodiments.
- FIG. 17 illustrates the use of an accelerometer to measure the angle of a container at different times.
- FIG. 18 illustrates the use of an accelerometer to measure the position of a container at different times.
- FIG. 19 illustrates the use of an accelerometer to measure the position and angle of a container at different times.
- FIG. 20 illustrates the use of a tilt switch to determine when a container has been moved from its non-inclined position.
- FIG. 21 conceptually illustrates a process of some embodiments for monitoring, recording, and transmitting pour data with an accelerometer.
- FIG. 22 conceptually illustrates a process of some embodiments for measuring the temperature of material being dispensed from a container and transmitting this information with other pour data.
- FIGS. 23A-23C illustrate graphs showing the relationship between the dispensing rate and the angle of dispensing, and the difference in dispensing rate of materials with a different viscosity or density.
- FIG. 24 conceptually illustrates a process of some embodiments of invention for calculating the volume of material dispensed from a container by measuring the angle of inclination and duration of time material is being dispensed.
- FIGS. 25A-25B illustrate a process of some embodiments for a device that calculates the volume of material dispensed from a monitored container by measuring the angle of inclination and duration of time material is being dispensed.
- FIG. 26 conceptually illustrates a process of some embodiments for a computer system to process data from a spout.
- FIG. 27 illustrates some embodiments that use an infrared or magnetic sensor that receives signals to change or reprogram the software for a circuit board on a spout.
- FIGS. 28-29 illustrate some embodiments that use a microphone and audio amplifier attached to the inside of a container to measure the change in volume of material in the container.
- FIG. 30 conceptually illustrates a process of some embodiments for changing or reprogramming the software for a circuit board on a spout.
- FIGS. 31A-31B illustrate some embodiments that use a physical resistance sensor in the dispensing channel of a container to measure the volume of material dispensed from the container.
- FIGS. 32A-32D illustrate flexible electronics boards used in some embodiments that are used in conjunction with a plastic holder and holding clips to allow for the smallest possible enclosures to house the electronics.
- FIGS. 33A-33B illustrate a battery stacked above or below the plane of a circuit board in order to reduce the overall dimensional area needed in engineering in some embodiments.
- FIG. 34 illustrates a computer system with which some embodiments are implemented.
- FIG. 1 shows an overview of some embodiments.
- Individual devices 105 (sometimes referred to herein as “pouring devices”, “dispensing orifices”, or “spouts”) are placed on containers 100 that dispense materials (e.g., liquids, gels, powders, or solids). For simplicity, only one device and one container are shown in FIG. 1 .
- the devices 105 measure the distribution of the materials from the containers 100 in real-time through various methods.
- the devices 105 can include an accelerometer 113 to measure angle of inclination of containers 100 as they pour/dispense material.
- the devices 105 can include a speaker 114 and microphone 116 in which a pulse of sound is emitted from the speaker 114 and heard by the microphone 116 in which the delay in time determines the amount of material in the container 100 .
- the electronics contained in the device will also include a physical contact switch or magnetic sensor (sometimes referred to as a magnetic switch) 110 , an internal processor 112 , a clock 117 , a transceiver 118 and an optimized antenna 120 .
- the information related to the distribution of the material from the monitoring device is communicated to a central computer either by wireless communication or via a directly wired connection.
- the device information is stored within internal device memory (not shown—in some embodiments, memory is part of the internal processor; other embodiments include internal memory outside the internal processor) until it is distributed to the central computer.
- the device information is transmitted in real-time from the transceiver 118 through a radio frequency communication to a transceiver 125 connected to a network, the Internet, or directly to a computer 130 .
- the information sent from the transceiver 118 is raw data from the device 105 .
- the internal processor of the device does not perform any of the calculations that determine how much material has been dispensed from the container.
- the internal processor 112 performs calculations on the raw data from the device 105 before sending the information. For instance, in some embodiments the internal processor performs some or all of the calculations that determine how much material (e.g., liquid, gel, powder, or solid) has been dispensed from a container based on the raw data.
- the information is received, processed, and stored on software that runs on a computer 140 , server 135 , etc. and includes information for one device or many devices in a distributed environment.
- Some embodiments receive, process, and store information from devices 105 that are at multiple establishments.
- an establishment is any location in which materials (e.g., liquids, powders, gels, or solids) are dispensed.
- the multiple establishments are multiple bars, restaurants, or other establishments that serve alcoholic beverages.
- any further processing is done by the software on computer 140 , server 135 , etc.
- Some embodiments provide two-way communication between the device and the servers 135 or computer 140 .
- the devices 105 not only send information to the software through a network, a network of networks (such as the Internet) or directly to a computer 130 , but the software is also able to communicate information, time/date coordination, commands, instructions, calibrations or firmware upgrades to the devices 105 through the transceiver 118 .
- the software of some embodiments provides the individual and aggregated device information, calculations and extrapolations on a computer 130 or 140 , server 135 , or other computing device.
- removable pouring devices monitor whether the device is placed on a pouring orifice of a container containing liquids, gels, powders, or solids. Some embodiments of removable pouring devices monitor whether the device is removed from a pouring orifice of a container containing liquids, gels, powders, or solids. In some embodiments, the devices monitor both whether the devices have been placed on a container and whether the devices have been removed from the container. Some embodiments of the devices measure the amount of time for which liquids, gels, powders, or solids are poured through a dispensing orifice.
- Some embodiments measure the angle of inclination of a container from which liquids, gels, powders, or solids are poured through a dispensing orifice. Some embodiments measure the temperature of materials within a container from which liquids, gels, powders, or solids are poured through a dispensing orifice. Some embodiments measure the displacement rate and volumes of air which pass into the container from which liquids, gels, powders, or solids are poured through the dispensing orifice. Some embodiments measure the actual volumes of material in a container, over a rapid sequence of time intervals, from which liquids, gels, powders, or solids are poured through the dispensing orifice.
- Some embodiments measure the pressure/force of liquids, gels, powders, or solids as they exit out of a container through a dispensing orifice.
- a person having ordinary skill in the art will realize that some embodiments will include only one of the above described features, while other embodiments will include more than one of the above described features.
- the spouts of some embodiments include a bottom portion that is inserted into the opening of a container (e.g., a liquor bottle).
- the bottom portion of the spout includes a “cork” that flexes to snuggly attach the spout to the container.
- the term “cork” as used herein refers to a portion of the spout that grips the container and provides a seal that prevents any material from flowing around the spout rather than through the spout.
- the term “cork” is used generically to identify the function of the cork, not to limit it to the tree based material called “cork”. Instead, the cork could be made of any material servicing these functions.
- the spouts described herein include a fluid-flow passageway to allow the liquids or other materials to flow/pass through the spout.
- the fluid flow passageway is designed to ensure laminar (smooth and unturbulent) flow of a liquid when a liquid container and hence the spout are inclined at a certain angle (e.g., 20 degrees) past the horizontal axis of the liquid container.
- the ratio of the passageway's length to its width (or diameter) is equal to or less than 20 in order to ensure laminar fluid flow.
- the spouts of some embodiments seal the containers, meaning that the fluid flow passageway of the spout becomes the only way for material to exit the container while the spout is in place.
- Various spouts are described in more detail below.
- FIG. 2 illustrates a sliding stem 200 (also referred to as a sliding cork stem), that is part of a spout that is inserted into a container used in some embodiments.
- the sliding stem 200 includes a sliding component 215 (also referred to as an “interior housing unit”) connect to the top of the spout 218 and a stationary component 210 (also referred to as an “exterior housing unit”).
- the stationary component 210 is stationary relative to the top of the container in which it is inserted (not shown), while the sliding component 215 slides relative to the top of the container in which it is inserted (not shown).
- the sliding component 215 includes a top lip 228 , a bottom lip 225 , and a hollow center 224 that allows liquid or other materials to pass through the sliding stem 200 .
- the stationary component 210 also includes a top lip 223 and a bottom lip 220 , both of which are hollow in the center to allow liquids or other materials to pass through the sliding stem 200 .
- the top lip 223 of the stationary component 210 is in contact with the bottom lip 225 of the sliding component 215 , providing an extension limit for the sliding stem 200 .
- the bottom lip 220 of the stationary component 210 is in contact with the bottom lip 225 of the sliding component 215 and the top lip 223 of the stationary component 210 is in contact with the top lip 228 of the sliding component 215 , providing physical contact between the stationary component 210 and sliding component 215 of the sliding stem 200 .
- Sliding stem 200 also includes a fin 245 made of malleable material and fluid flow channels 235 in some embodiments.
- a fin 245 made of malleable material and fluid flow channels 235 in some embodiments.
- material is able to flow freely through the fluid flow channels 235 .
- the fluid flow channels 235 are narrow tube, in other embodiments they extend around the stem.
- material would leak profusely from the container through the fluid flow channels 235 when a pour was attempted.
- section 260 when the sliding stem 200 is in a compressed state, the compression forces the fin 245 to block the fluid flow channels 235 . Because the sliding stem 200 leaks when extended, the user of the device is forced to make sure that the sliding stem 200 is fully compressed.
- the magnetic sensor of some embodiments is activated when the sliding stem 200 is in a compressed state, as further described below.
- frictional force holds the fin 245 in place and prevents the sliding component 215 and the stationary component 210 from separating.
- FIGS. 3A-3B illustrate a spout 305 that is inserted into a container 100 in some embodiments.
- the spout 305 includes a sliding stem that has a sliding component 315 and a stationary component 310 .
- the spout 305 also includes a magnet 320 and a magnetic sensor 325 .
- the action of connecting the spout 305 to the container 100 is detected through the sliding cork stem.
- the sliding component 315 of the stem includes the magnetic sensor 325 and a circuit board (not shown) and the stationary component 310 of the stem includes the magnet 320 .
- the sliding component 315 of the stem includes the magnet 320 and the stationary component 310 of the stem includes the magnetic sensor 325 and a circuit board (not shown).
- the magnet 320 In its non-inserted state (e.g., before the sliding stem is compressed during insertion of the spout into the container), illustrated in FIG. 3A , the magnet 320 has no effect on the magnetic sensor 325 .
- the force of the insertion pushes the stationary component 310 along the sliding component 315 of the stem so that the magnet 320 affects the magnetic sensor 325 .
- the state of the magnetic sensor 325 (inserted or non-inserted) is captured through a circuit board (not shown) and used to activate various functions within the firmware within the circuit board.
- FIG. 5 illustrates a sliding cork stem 500 that detects when it is inserted into a container in some embodiments.
- the sliding cork stem 500 includes a dispensing channel 540 , a magnetic sensor 525 attached to a circuit board 535 , and a magnet 520 that gives off a magnetic effect 550 .
- the magnetic sensor 525 is not activated by the magnetic effect 550 from the magnet 520 .
- the magnetic sensor 525 is activated by the magnetic effect 550 from the magnet 520 .
- the state of the magnetic sensor 525 (inserted or non-inserted) is captured through the circuit board 535 and used to activate various functions within the firmware within the circuit board 535 .
- the positions of the magnet 520 and the magnetic sensor 525 attached to the circuit board 535 are switched.
- FIGS. 4A-4C illustrate a cork designed to distinctly differentiate the functional purposes of frictional hold and liquid sealing capabilities in some embodiments.
- Typical cork designs use fins oriented to the cross-sectional plane of a liquid container opening. Such fins function with two primary purposes—to provide frictional hold and to provide a liquid seal.
- various cork fins are used for distinct functional purposes. As shown in FIG. 4A , one individual liquid sealing fin 420 or a set of multiple liquid sealing fins 420 are placed across (i.e., parallel to) the cross-section of the container opening and provide only liquid seal capabilities. A second individual or set of multiple fins, in this case frictional hold cork fins 425 , are placed at right angles (i.e., perpendicular to) to the cross-section of the container opening and provide frictional hold capabilities.
- the spout 305 When used in conjunction with the sliding cork stem described above, the spout 305 will not create a liquid seal when the spout 305 is not fully placed on a container 100 , as shown in FIG. 4B . This will cause liquid to leak profusely from the container 100 .
- the stationary component 410 creates a liquid seal with the sealing fin 420 , preventing liquid from leaking from the container 100 .
- the container 100 is sealed by the sealing fin 420 when the sealing fin 420 is flush with the opening. In other embodiments, the container 100 is sealed by the sealing fin 420 when the sealing fin 420 is partially or fully inserted into the container opening.
- the spout 305 shown in FIGS. 3A-3B also includes an individual (or set of multiple) liquid sealing fins and an individual (or set of multiple) frictional hold cork fins.
- the set of frictional hold cork fins 425 are utilized to provide force to mechanically slide the sliding component 415 of the sliding cork stem.
- the liquid sealing cork fin or fins 420 are positioned to prevent liquid from seeping/spilling from between the cork stem and the container opening. The seal occurs at the same distance of compression at which the magnet 320 affects the magnetic sensor 325 .
- the action of the sliding portion 415 of the cork stem is engineered to scrape/remove debris and detritus from the surfaces of the sliding and stationary parts of the cork stem and, therefore, providing a self cleaning function.
- FIG. 6 conceptually illustrates a process 600 of some embodiments by which a spout with a magnetic sensor that is activated by a sliding cork stem that brings the sensor in range of a magnet determines that it has been inserted into a container and signals that it has been inserted into a container.
- the process receives (at 605 ) a signal from a magnetic sensor indicating that the sensor has been triggered.
- the sensor is triggered by a sliding cork stem bringing the sensor into range of a magnet as described in relation to FIG. 5 .
- the process waits (at 610 ) for a predetermined period of time. After the predetermined period has expired, the process checks (at, 615 ) the sensor again. Next, the process determines (at 620 ) whether the sensor is still being triggered. Some embodiments provide continuous check over the predetermined time.
- the process When the sensor is no longer being triggered the process resets (at 625 ) the spout (e.g., activates all hardware interrupts) to await the next triggering of the sensor and the process ends. Otherwise, when the sensor is still being triggered the process recognizes (at 630 ) that the sensor is still being triggered.
- the process then prepares (at 635 ) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container.
- the prepared communication signal includes a serial number or other identifier of the spout.
- the process then sends (at 640 ) the communication signal identifying the contact event, e.g., to an inventory system.
- FIG. 7 illustrates a cork 700 that includes a section of pressure deforming material 710 that is used in some embodiments.
- the cork 700 includes fins 720 - 730 and sections of pressure deforming material 710 bulged inside the cork 700 .
- compression force is placed on the exterior of the cork 700 , causing the section of pressure deforming material 710 to bulge inside the cork.
- the bulging of the section of pressure deforming material 710 activates a sensor or switch.
- the cork will have fins 720 - 730 of different sizes. These fins 720 - 730 provide a liquid seal for different size containers.
- the cork can be inserted in a container with an opening too large for fins 725730 , since fin 720 can be large enough to provide a liquid seal.
- fin 720 may be too large to fit into a smaller container opening. In that case, the smaller fins 730 or 725 can provide a liquid seal.
- the fin 720 - 730 can be around the entire circumference of the cork 700 . In other embodiments, the fin 720 - 730 may be attached to the side of the cork 700 .
- FIGS. 8A-8C illustrate a spout 805 that is inserted into a container 100 in some embodiments.
- the spout 805 includes a set of fins 815 including a section of pressure deforming material 830 adjacent to a magnet 820 .
- the spout 805 also includes a fluid flow channel 840 and a magnetic sensor 825 connected to a circuit board 835 .
- the action of connecting the spout 805 to the container 100 causes the fins 815 to exert pressure and deform the pressure-deforming material 830 , pushing the magnet 820 towards the magnetic sensor 825 , activating the magnetic sensor 825 .
- FIG. 8B illustrates the spout 805 when the spout 805 is not placed on a container 100 in some embodiments.
- FIG. 8B there is no pressure on the pressure deforming material 830 , and therefore the magnet 820 is not close enough to the magnetic sensor 825 to activate the magnetic sensor 825 .
- the pressure deforming material 830 pushes the magnet 820 towards the magnetic sensor 825 .
- the new position of the magnet 820 activates the magnetic sensor 825 on the circuit board 835 .
- the circuit board 835 recognizes that the spout 805 has been placed on a container 100 .
- the removal of the spout 805 from the container 100 causes the pressure deforming material 830 to shrink, as shown in FIG. 8B .
- the pressure deforming material 830 shrinks, the magnet 820 moves away from the magnetic sensor 825 , which deactivates the magnetic sensor 825 .
- the circuit board 835 then recognizes that the spout 805 is no longer placed on the container 100 .
- FIG. 9 conceptually illustrates a process 900 of some embodiments by which a spout with a magnetic sensor that is activated by pressure on the spout determines that it has been inserted into a container and signals that it has been inserted into a container.
- the process receives (at 905 ) a signal from a magnetic sensor indicating that the sensor has been triggered.
- the sensor is triggered by pressure deforming material as described in relation to FIGS. 8A-8C .
- the process waits (at 910 ) for a predetermined period of time. After the predetermined period has expired, the process checks (at 915 ) the sensor again. Next, the process determines (at 920 ) whether the sensor is still being triggered.
- the process When the sensor is no longer being triggered, the process resets (at 925 ) the spout (e.g., activates all hardware interrupts) to await the next triggering of the sensor and the process ends. Otherwise, when the sensor is still being triggered, the process recognizes (at 930 ) that the sensor is still being triggered. The process then prepares (at 935 ) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container. In some embodiments, the prepared communication signal includes a serial number or other identifier of the spout. The process then sends (at 940 ) the communication signal identifying the contact event, e.g., to an inventory system.
- the spout e.g., activates all hardware interrupts
- FIG. 10 illustrates a top down sectional view of a spout 805 that detects when it is inserted into a container in some embodiments.
- the spout 805 includes a flexible cork 1050 and a dispensing channel 1040 .
- the spout 805 also includes, enclosed in a hard casing 1070 , a magnet 1020 adjacent to, or within, pressure deforming material 1060 bulged through a hole in the hard casing 1070 and a magnetic sensor 1025 attached to a circuit board 1035 .
- pressure is placed on the flexible cork 1050 .
- the pressure on the flexible cork 1050 causes the section of pressure deforming material 1060 to which the magnet 1020 is adjacent, or within, to push through the hole in the hard casing 1070 , pushing the magnet 1020 within range of the magnetic sensor 1025 , and activating the magnetic sensor 1025 .
- the removal of spout 805 from container removes the pressure from the flexible cork 1050 causing the section of pressure deforming material 1060 to shrink back through the hole in the hard casing 1070 .
- the section of pressure deforming material 1060 shrinks back, the magnet 1020 is no longer in range of the magnetic sensor 1025 , and the magnetic sensor 1025 is no longer activated.
- the state of the magnetic sensor 1025 (inserted or non-inserted) is captured through the circuit board 1035 and used to activate various functions within the firmware within the circuit board 1035 .
- FIGS. 11A-11C illustrate a spout 1105 that is inserted into a container 100 in some embodiments.
- the spout 1105 includes a set of fins 1115 , a contact switch 1125 , a circuit board 1135 , a fluid flow channel 1140 , and a section of pressure deforming material 1130 .
- the contact switch 1125 is connected to a circuit board 1135 and the section of pressure deforming material 1130 is adjacent to the contact switch 1125 .
- the action of connecting the spout 1105 to the container 100 causes the fins 1115 to exert pressure and deform the pressure-deforming material 1130 , pushing the contact switch 1125 .
- the contact switch 1125 , and the magnetic sensors that detect when a spout has been inserted into a container, as described in previous sections are generically referred to as “insertion detectors”.
- FIG. 11B illustrates section 1110 of the spout 1105 when the spout is not inserted in a container 100 .
- the pressure deforming material 1130 does not push on the contact switch 1125 , which therefore is not activated.
- the circuit board 1135 therefore, recognizes that the spout 1105 is not on the container 100 .
- FIG. 11C illustrates the section 1110 of the spout 1105 when the spout is placed on a container 100 . As shown in FIG. 11C , pressure from the fins 1115 deforms the pressure deforming material 1130 .
- the pressure deforming material 1130 pushes on the contact switch 1125 , activating the contact switch 1125 . Therefore, the circuit board 1135 recognizes that the spout 1105 is on the container 100 . Similarly, the removal of the spout 1105 from the container 100 causes the pressure deforming material 1130 to shrink back, as shown in FIG. 11B . When this occurs, the contact switch 1125 is no longer activated, and the circuit board 1135 recognizes that the spout 1105 is no longer on the container 100 .
- FIG. 12 conceptually illustrates a process of some embodiments by which a spout with a physical contact switch determines that it has been inserted into a container and signals that it has been inserted into a container.
- the process receives (at 1205 ) a signal from a physical contact switch indicating that the switch has been engaged.
- the switch is engaged by pressure deforming material as described in relation to FIGS. 11A-11C .
- the process waits (at 1210 ) for a predetermined period of time. After the predetermined period has expired, the process checks (at 1215 ) the physical contact switch again. Next, the process determines ( 1220 ) whether the physical contact switch is still engaged.
- the process When the switch is no longer engaged the process resets (at 1225 ) the spout (e.g., activates all hardware interrupts) to await the next activation of the switch and the process ends. Otherwise, when the switch is still engaged the process recognizes (at 1230 ) that the switch is still active. The process then prepares (at 1235 ) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container. In some embodiments, the prepared communication signal includes a serial number or other identifier of the spout. The process then sends (at 1240 ) the communication signal identifying the contact event, e.g., to an inventory system.
- FIG. 13 illustrates a top down, sectional view of a spout 1105 inserted into a container in some embodiments.
- the spout 1105 includes a flexible cork 1350 and a dispensing channel 1340 .
- the spout 1105 also includes, enclosed in a hard casing 1370 , a section of cork material 1360 bulging through the hard casing 1370 and a contact switch 1325 attached to a circuit board 1335 .
- pressure is placed on the flexible cork 1350 .
- the pressure on the flexible cork 1350 causes the section of pressure deforming material 1360 to push through the hole in the hard casing 1370 , and press the contact switch 1325 .
- the removal of spout 1105 from container 100 removes the pressure from the flexible cork 1350 causing the section of pressure deforming material 1360 to shrink back through the hole in the hard casing 1370 .
- the section of pressure deforming material 1360 shrinks back, it no longer presses the contact switch 1325 .
- the state of the contact switch 1325 (indicating that the spout is inserted or non-inserted) is captured through the circuit board 1335 and used to activate various functions within the firmware of the circuit board 1335 .
- FIGS. 14A-14B and FIG. 15 illustrate an accelerometer 1420 connected to a circuit board 1435 in some embodiments.
- the accelerometer is a micro-electromechanical system (MEMS).
- MEMS micro-electromechanical system
- the spout 1405 includes a fluid flow channel 1440 and an accelerometer 1420 connected to a circuit board 1435 .
- the accelerometer 1420 can be used to detect angles of inclination, time of inclination, and speed and direction of containers 100 and 1500 used to dispense liquids, gels, powders, and/or solid materials.
- the accelerometer 1420 connected to a circuit board 1435 is installed in spout 1405 through which the material is poured from the container 100 .
- FIG. 14A illustrates a circuit board 1435 and accelerometer 1420 that are aligned perpendicular to the fluid flow channel 1440 through which materials are poured from the container 100 .
- FIG. 14B illustrates a circuit board 1435 and accelerometer 1420 that are aligned parallel to the fluid flow channel 1440 through which materials are poured from the container 100 .
- FIG. 15 illustrates an accelerometer 1420 that is not part of a spout through which material flows from a container, but is instead attached to a container 1500 in some embodiments.
- the accelerometer 1420 can be attached to the inside of the container 1500 , as shown in 1510 , or attached to the outside of the container, as shown in 1515 .
- the accelerometer 1420 and circuit board 1435 may be enclosed in casing 1525 in some embodiments.
- FIG. 16 illustrates electronic components of some embodiments.
- the circuit board 1605 includes a chronometer 1610 , a transceiver 1615 , an antenna 1620 , a battery 1625 , a contact switch 1630 , a thermometer 1635 , a reprogramming sensor 1640 , a tilt switch 1645 , an accelerometer 1650 , and a processor 1655 .
- the circuit board 1605 can be a rigid or flexible board, and includes electronic components and electronic traces.
- the chronometer 1610 includes date and time information used to coordinate functions of the electronic components and the processor.
- the transceiver 1615 is modulated to a single or range of frequencies to transmit and/or receive data with coordinating devices.
- the antenna 1620 is set to an optimal length depending on the specific frequency (or frequencies) used and in some embodiments is etched on the circuit board.
- the battery 1625 can be either a primary or backup power source and can either be disposable or rechargeable.
- the contact switch 1630 can be either physical or magnetic in activation properties and is used as a method to sense the attachment or detachment of the device from a container.
- the contact switch 1630 is also used as a power saving method as it is, in effect, an on/off switch for the device in some embodiments.
- the thermometer 1635 measures the temperature of material dispensed from the container for calculating an accurate flow rate.
- the reprogramming sensor 1640 receives data from an outside transmission source to reprogram the functions conducted by the various components on the circuit board 1605 .
- the tilt switch 1645 is a contact switch using a metal ball and contacts or mercury and contacts that is oriented to a specific plane to the earth's horizon.
- the tilt switch 1645 When the tilt switch 1645 is moved beyond its plane of horizon, the metal ball or mercury touches a contact which sets the switch to active.
- the tilt switch 1645 can be used to activate sensor input, as a secondary on/off switch for the entire device, or both.
- the accelerometer 1650 measures speed, direction and angle of the unit in relation to a fixed point in either 2 dimensions (i.e. movement across a table) or 3 dimensions (i.e. movement up, down, left, right, forward, backwards).
- the processor 1655 of some embodiments includes the onboard memory, firmware program and logic functions.
- the processor 1655 can be either single cycle (i.e. one processing speed) or multi-cycle (i.e. multiple processing speeds). The slower the processor speed, the more time it takes to calculate/function but the less energy is used.
- a multi speed processor is used to optimize the performance of the calculations and the power utilization, which is particularly important when the device is used with a battery.
- FIG. 17 illustrates an example of using the accelerometer 1420 with circuit board 1435 to record multiple angles of inclination of a container in some embodiments.
- the accelerometer 1420 and circuit board 1435 are enclosed in casing 1525 .
- the accelerometer 1420 and circuit board 1435 are attached to the container or a spout (not shown) such that they are vertically aligned with the container when the container is upright in some embodiments.
- the accelerometer 1420 and circuit board 1435 are attached such that they are horizontally aligned with the container when the container is upright.
- FIG. 17 in portion 1705 , shows the accelerometer 1420 and circuit board 1435 measuring the angle at 0 degrees at time point 1.
- FIG. 17 in portion 1710 , shows the accelerometer 1420 and circuit beard 1435 measuring the angle at 90 degrees at time point 2.
- FIG. 17 in portion 1715 , shows the accelerometer 1420 and circuit board 1435 measuring the angle at 120 degrees at time point 3.
- the accelerometer 1420 and circuit board 1435 measure the angle of the container to which they are attached over the finite period of time from time point 1 to time point 2 to time point 3.
- FIG. 18 illustrates an accelerometer 1420 with circuit board 1435 that records multiple speeds and directions of a container through a series of motions or movements through a finite period of time in some embodiments. As shown, the accelerometer 1420 and circuit board 1435 are enclosed in casing 1525 .
- FIG. 18 in portion 1805 , shows the accelerometer 1420 and circuit board 1435 located at position A at time point 1.
- FIG. 18 , in portion 1810 shows the accelerometer 1420 and circuit board 1435 located at position B at time point 2.
- FIG. 18 , in portion 1815 shows the accelerometer 1420 and circuit board 1435 located at position Cat time point 3.
- the accelerometer 1420 and circuit board 1435 measure the speed and direction of the container (not shown) to which they are attached as it moves from position A to position B to position C over the finite period of time from time point 1 to time point 2 to time point 3.
- a practical application of measuring speed and direction is the ability to detect if dispensing occurs at one location or occurs at multiple locations. For instance, a bartender at a bar may dispense six ounces of fluid. If the dispensing occurs without a change in direction or speed, it can be deduced that only one container (e.g., a glass) was filled with fluid. However, if a bartender at a bar dispenses six ounces of fluid and speed and motion are detected simultaneously with the dispensing of the fluid, then it can be deduced that the fluid was dispensed over multiple containers (e.g., multiple glasses).
- An accelerometer or multiple accelerometers used in tandem can deduce speed and direction not just in 2 dimensions, but in 3 dimensions. Therefore, speed and direction can be determined for the directions up, down, left, right, forwards and backwards. Given a known starting point and the time of the motion while detecting speed and direction of motion in three dimensions, the ending point of the motion can be determined. For instance, if a bartender takes a bottle from a holder at the front of a bar and that bottle is known to start from the well and the bottle is carried behind the bartender to a shelf, then the bottle will be known to be placed on the shelf as the ending point because the speed, direction and time of travel is known.
- FIG. 19 illustrates an accelerometer 1420 with a circuit board 1435 that records one or more time intervals in which it detects angles, directions, and speeds in some embodiments.
- the accelerometer 1420 and circuit board 1435 are enclosed in casing 1525 .
- FIG. 19 in portion 1905 shows the accelerometer 1420 and circuit board 1435 located at position A and inclined at angle A at time point 1.
- FIG. 19 , in portion 1910 shows the accelerometer 1420 and circuit board 1435 located at position B and inclined at angle B at time point 2.
- FIG. 19 , in portion 1915 shows the accelerometer 1420 and circuit board 1435 located at position C and inclined at angle C at time point 3.
- the accelerometer 1420 and circuit board 1435 record the time intervals from time point 1 to time point 2 to time point 3, as well as the angle of the container (not shown) and speed and direction of the movement from position A to position B to position C over the same time intervals.
- a method is employed to reduce power consumption by the accelerometer.
- the software on a circuit board 1435 with an accelerometer 1420 is programmed to reduce the number of cycles or intervals of time in which measurements or readings are taken from the accelerometer 1420 while the accelerometer 1420 is not in motion.
- the software on the circuit board 1435 increases the number of cycles or intervals of time in which measurements or readings are taken from the accelerometer 1420 , until the accelerometer 1420 is no longer in motion.
- FIG. 20 illustrates a method to reduce power consumption by an accelerometer 1420 in some embodiments.
- the accelerometer 1420 and a tilt switch 2015 are attached to a circuit board 1435 , and enclosed in casing 1525 .
- the software controlling the circuit board 1435 is programmed such that the tilt switch 2015 being within a range of angles around a base angle fully deactivates the accelerometer or reduces the frequency with which measurements or readings are taken from the accelerometer 1420 .
- the software controlling the circuit board 1435 is programmed in such a way that the tilt switch 2015 being within a different range of angles fully activates the accelerometer or increases the frequency with which measurements or readings are taken from the accelerometer 1420 .
- the range of angles in which the tilt switch 2015 activates or increases the frequency with which measurements or readings are taken from the accelerometer 1420 is all angles except for the range of angles around the base angle at which the tilt switch 2015 fully deactivates the accelerometer or reduces the frequency with which measurements or readings are taken from the accelerometer 1420 .
- FIG. 20 shows the tilt switch 2015 at a base angle of 0 degrees, and therefore the power to the accelerometer 1420 is off and no measurements are taken.
- FIG. 20 shows the tilt switch 2015 at an angle 10 sufficiently far from the base angle that the power is supplied to the accelerometer 1420 and measurements from the accelerometer 1420 are taken.
- frictional vibrations detected when material is being dispensed from the container, are used to activate the device.
- the dispensing of liquids, gels, powders, or solids from a container creates frictional vibrations within the container.
- Some embodiments with an accelerometer measure the angles, times, speeds and directions of a container dispensing liquids, gels, powders, or solids, and also detects frictional vibrations with the accelerometer.
- software within the circuit board 1435 determines and indicates that the vibrations are caused by the liquids, gels, powders, or solids being dispensed. When these vibrations are not sensed by the accelerometer 1420 , software within the circuit board 1435 determines and indicates that vibrations from liquids, gels, powders, or solids being dispensed are not present.
- FIG. 21 conceptually illustrates a process 2100 of some embodiments for saving power of a spout.
- the process 2100 is performed by a microcontroller of a spout which controls an accelerometer of the spout.
- the process activates (at 2105 ) an accelerometer at preset intervals (e.g. 0.5 seconds, though other intervals are used in other embodiments) to check for motion, e.g., vibration or tilting.
- preset intervals e.g. 0.5 seconds, though other intervals are used in other embodiments
- motion e.g., vibration or tilting.
- the process determines (at 2110 ) whether a signal for the accelerometer indicates motion. When the process does not receive a signal from the accelerometer that indicates motion, the process returns to operation 2105 and keeps testing at the predetermined time intervals. Otherwise, when the process does receive a signal from the accelerometer that indicates motion, the process checks the accelerometer angle to determine whether the angle exceeds a threshold that indicates that material is being poured. Next, the process determines whether the angle does exceed the threshold. When the angle exceeds the threshold, the process proceeds to operation 2105 which was described above. Otherwise, when the angle does exceed the threshold, the process fully activates (at 2125 ) the accelerometer and monitors and records the angles of the spout at more frequent intervals (e.g., 0.125 seconds, though other intervals are used by other embodiments).
- the process determines (at 2110 ) whether a signal for the accelerometer indicates motion. When the process does not receive a signal from the accelerometer that indicates motion, the process returns to operation 2105 and keeps testing at the predetermined time intervals
- the process determines (at 2130 ) whether the material is still being poured. When the material is still being poured, the process returns to operation 2125 and continues to closely monitor the angle of the spout. Otherwise, when the process determines (at 2130 ) that the pouring has stopped (e.g., the angle of the spout drops below some threshold angle that in some embodiments is different from the threshold angle of operation 2120 ) then the process ends.
- the process resumes monitoring for motion (e.g., returns to operation 2105 ).
- a circuit board includes a temperature sensing component that is placed in close proximity to or in direct contact with the liquid, gel, powder, or solid flow channel. Placing the temperature sensing component in close proximity to or in direct contact with flow channel allows the temperature of the material dispensed to be recorded during dispensing. This information, once recorded, is stored and/or transmitted. The temperature is used to more accurately calculate the amount of liquid, gel, powder, or solid dispensed by providing a more accurate flow rate.
- software calculates the volume of liquids, gels, powders or solids dispensed as proportional to the length of time the material was dispensed, the angles at which the material was dispensed, and the flow rates. The flow rates are based on the dispensing angles and recorded temperature for the dispensed material.
- FIG. 22 conceptually illustrates a process 2200 of some embodiments by which a spout measures the temperature of material being dispensed from a container along with the pour data to increase the accuracy of the pour data.
- the process is performed by a spout.
- the process generates (at 2205 ) pour data regarding the dispensing of material from a container as discussed above.
- the process measures (at 2210 ) the temperature of the material being dispensed from the container.
- the process transmits (at 2215 ) the pour data and the measured temperature to a computer in some embodiments. In other embodiments, the process transmits the data to an external system.
- the process then ends.
- the accelerometer and other parts of the spout measure the angles, times, speeds and directions of a container that dispenses liquids, gels, powders, or solids for which the flow rate of the dispensed material at a given angle is known.
- software calculates the volume of liquid, gels, powders, or solids dispensed as a function of the length of time the material was dispensed, the angles at which the material was dispensed, and the flow rates at those angles for the dispensed material.
- the material to be dispensed will be known, whether the materials are liquids like pure water, vodka, or a sulfuric acid solution, a silicon based gel, or talcum powder, etc.
- the specific dispensing rate for a baseline material, such as pure water, for any specific container that is monitored will also be known.
- the dispensing rate is determined by a removable and specifically designed mechanical dispenser with a fixed and known diameter for pouring and specific pour characteristics.
- the specific dispensing rate is determined by direct measurements of the opening of a container with a spout and/or by trial dispensing with a baseline material, such as pure water, in order to determine the dispensing rate.
- a baseline material such as pure water
- FIG. 23A shows a series of dispensed volumes for the baseline material are recorded over a known sequence of time for a fixed angle.
- FIG. 23B shows a composite of the various angles are combined to create the dispensing rate slope.
- FIG. 23C shows slopes created for various materials compared to the baseline material based on the material viscosity for fluids and gels or the density for powders and solids.
- the baseline material may be more viscous and/or denser than some or all of the materials dispensed.
- the baseline material may be less viscous and/or less dense than some or all of the materials dispensed.
- V 1 DR 1 *t 1 [Angle 1 ] (A)
- V 1 is the volume dispensed for a given amount of time (t 1 ) and DR 1 equals the dispensing rate (volume/time), for a particular angle (Angle 1 ).
- V x is the volume dispensed for a given amount of time (t x ) with a varying number of angles (Angle x ) and the corresponding dispensing rate (DR x ) for each given angle in the series.
- V is the volume dispensed for a given amount of time (t 1 ) by multiplying time by the dispensing rate (DR 1 ) for the average of the sum of angles for an angular series recorded over that time period (Average of Angle x ).
- the material rushes from the base of the container to the mouth of the container. That is, when a container with liquid, gels, powders, or solids, first achieves enough inversion of angle to use gravity to dispense material the material usually has the additional acceleration from its fall from the base of the container.
- the acceleration of material can cause a degree of inaccuracy in predicting the amount of material dispensed as per the calculations described above.
- the calculated volume dispensed is multiplied by an offset number, greater than one if increasing the volume, less than one if decreasing the volume, or one to leave the volume the same, to compensate for the acceleration of material in the initial physical action of dispensing material. In effect, this changes the intercept of the pouring slope. This is accomplished through a simple formula: Volume ⁇ Offset.
- FIG. 24 conceptually illustrates a process 2400 of some embodiments for measuring a volume of material dispensed by tracking the angle of the container during the dispensing.
- the process determines (at 2405 ) whether a spout has been inserted into a container. When the spout has not been inserted into a container, the process ends. Otherwise, when the spout has been inserted into the container, the process measures (at 2410 ) the angle of the spout (or in some embodiments, the angle of the container). Next the process determines (at 2415 ) whether the current angle does not exceed a first threshold angle (e.g., an angle at which the material in the container begins to pour).
- a first threshold angle e.g., an angle at which the material in the container begins to pour.
- the process tracks (at 2425 ) the angle of the spout for a predetermined time interval. After that time interval, when the process determines (at 2425 ) that the current angle of the spout is greater than a second threshold angle (e.g., determines that the material is still being poured) then the process returns to operation 2420 . Otherwise, when the process determines that the current angle of the spout is less than a second threshold angle (e.g., determines that the material is no longer being poured), then the process uses (at 2430 ) the tracked angles over the time intervals to determine the volume poured and the process ends. A more detailed description of the process that some embodiments use to determine pour volume is illustrated in FIG. 25 .
- FIGS. 25A-25B conceptually illustrate a process of some embodiments for measuring pour volumes. Specifically, FIGS. 25A-25B show a time-angle-volume measurement process used by the spout of some embodiments to measure the duration of periods when material is being dispensed, the angle of inclination during these periods, and the calculation of volume dispensed from a monitored container in some embodiments.
- the process 2500 is triggered by the activation of an insertion detector (e.g., a hardware power connection switch) on the spout.
- the insertion detector may be a magnetic sensor or physical contact switch as described above.
- measurements and other actions in the process are controlled by an internal processor of the spout.
- an external processor may control the process.
- Operations 2502 - 2508 collectively determine whether the spout has been put on a container.
- the process receives an insertion detector signal (at 2502 ), e.g., a hardware interrupt that indicates that the spout has been placed in a container for pouring.
- the process checks (at 2504 ) the status of the detector.
- the process determines (at 2506 ) whether the detector continues to indicate that the spout is on the container (e.g., whether the detector was incidentally activated, such as by some accidental contact or whether the spout has been put on a container). When the detector does not continue to indicate that the spout is on the container, the process recognizes (at 2508 ) that the spout has not been inserted into a container and ends.
- the process 2500 measures (at 2510 ) a baseline angle of an angle monitor (e.g., an accelerometer used to measure the angle of inclination of the spout) in the spout.
- the baseline is the angle of the angle monitor when the container is upright.
- the process waits (at 2512 ) for a predetermined period of time (e.g., 0.125 seconds, though other embodiments use other time intervals), and measures (at 2513 ) the current angle of the angle monitor.
- the process determines (at 2514 ) the difference between the baseline angle and the current angle.
- the process compares (at 2516 ) the angular difference to a threshold value. When the angular difference does not exceed the threshold value, the process returns to operation 2512 , which was described above.
- the container is (at 2518 ) in a pouring state.
- Operations 2518 - 2574 are illustrated in FIG. 25B .
- the process sets (at 2518 ) a variable p_state to 1.
- the process also sets (at 2518 ) each of the following variables to zero: 1) a pouring variable P1, 2) a non-pouring variable NP1, 3) a first-time-period variable t1, and 4) all values of a multi-value angle variable A1 (e.g., an indexed variable, list, or other data structure) representing the angle of the pour at multiple times.
- A1 e.g., an indexed variable, list, or other data structure
- Operations 2518 - 2532 , 2540 , and 2542 collectively determine whether the container was only at a pouring angle for a brief moment, or is actually pouring, e.g., whether the bottle was merely jostled or is being held in a pouring position.
- the process waits (at 2520 ) for a predetermined amount of time, in some embodiments 0.125 seconds. In other embodiments the process waits for different amounts of time. After waiting, the process increments (at 2522 ) the index of the angle variable A1 by 1, stores the current angular measurement at the new index location of angle variable A1, and increments (at 2524 ) the time variable by 1. The process then takes (at 2526 ) a new angular measurement.
- the process determines (at 2528 ) whether the container is still pouring, e.g., whether the angular difference between the new angular measurement and the baseline measurement is less than the threshold angle. When the angular difference is less than the threshold value, the process increments (at 2530 ) the non-pour value NP1 by 1 and sets the pour variable P1 to 0. These settings for the variables indicate that, as of the new angular measurement, the container was not pouring. The process then determines (at 2532 ) whether the non-pour variable NP1 equals a preset number (for convenience, the number 3 is used as an example here and in FIG.
- the process determines (at 2532 ) that the container has been non-pouring for the previous three predetermined time periods, then the detection (back at 2516 ) of an angular difference exceeding the threshold angle is treated as a false pour detection signal.
- three predetermined periods of time are a short enough time to allow only a negligible amount of material to be dispensed from the container. Otherwise, when the process detects (at 2532 ) a false pour, the process clears (at 2534 ) the pour interrupt flag and enables all the interrupts. The process then ends.
- the process restarts from the beginning (at 2505 ) and again determines whether the spout is on a container.
- the process determines (at 2528 ) that material is still being dispensed it increments (at 2540 ) the pour variable P1 by 1 and sets the non-pour variable NP1 to 0. These settings for the variables indicate that, as of the new angular measurement, the container was pouring.
- the process determines (at 2542 ) whether the pour variable P1 equals a preset number (for convenience, the number 3 is used as an example here and in FIG. 25B , however other embodiments use other numbers), indicating that for all three of the previous three predetermined time periods the container has been at an angle which would result in pouring.
- the process determines (at 2542 ) that the container has been pouring for less than three of the predetermined time periods, the process returns to step 2520 to repeat the operations that check whether the container is pouring.
- the process determines (at 2542 ) that the container has been pouring for the previous three predetermined time periods, then the detection (back at 2516 ) of an angular difference exceeding the threshold angle is treated as a true pour detection signal.
- the validity of the pour detection signal is confirmed, and the container is confirmed as dispensing material because the angular difference between the baseline angle and the current angle remained beyond the threshold for longer than three of the predetermined time periods.
- the time period t1 measured until now represents the duration of the pour and all angular measurements A1 represent the angles during the time duration period t1 .
- the process sets (at 2544 ) a variable p_state to 2.
- the process also sets (at 2544 ) each of the following variables to zero: 1) a non-pouring variable NP1, 2) a second-time-period variable t2, and 3) all values of a multi-value angle variable A2 (e.g., an indexed variable, list, or other data structure) representing the angle of the pour at multiple times.
- the process then waits (at 2546 ) for a predetermined time interval then takes (at 2548 ) an angular measurement and increments (at 2550 ) t2 by 1, increments (at 2552 ) the index of angle variable A2 by 1 and stores the angular measurement in the new index location of angle variable A2.
- the process compares (at 2554 ) the total time of the pour to a maximum time value. When the process determines (at 2554 ) that the maximum value is exceeded, the process determines that the dispensing exceeded a reasonable period of time and the value for the amount poured should be discarded.
- the process transmits (at 2556 ) a maximum value flag through a transceiver, clears (at 2558 ) all interrupts, and ends.
- a maximum value flag through a transceiver, clears (at 2558 ) all interrupts, and ends.
- the process determines (at 2554 ) that the total time of the pour does not exceed its maximum value, it determines (at 2560 ) whether it is still pouring/dispensing material.
- the process sets (at 2562 ) the non-pour variable NP2 to 0, and then returns to operation 2546 , which was described above.
- the process increments (at 2564 ) the non-pour variable NP2 by 1.
- the process determines (at 2566 ) whether the non-pour variable equals a preset number (for convenience, the number 3 is used as an example here and in FIG.
- Operations 2568 - 2574 collectively calculate the volume of the pour.
- the process determines (at 2566 ) that the pouring is complete, the process adds (at 2568 ) the first and second time periods t1 and t2. The process also averages (at 2570 ) the first and second sets of angle values A1 and A2. The process then calculates (at 2572 ) the pour volume based on the time interval, average of the angles of pour and the baseline dispensing rates for the substance being poured from the container and any necessary offset numbers (to account for other factors, e.g., temperature, viscosity, etc). In the embodiment illustrated in FIG. 25A-25B , the pour volume is calculated based on the average of the angles during the pouring time.
- the pour volume is calculated by applying a pour rate algorithm, which relates the angle of the spout to the rate at which the material pours, to each angle value of A1 and A2 individually and adding the amounts determined by the algorithm for each angle, rather than averaging the angles first and applying a formula that uses the average angle.
- a pour rate algorithm which relates the angle of the spout to the rate at which the material pours
- the process then sends (at 2574 ) the pour information via a signal from the transceiver.
- this pour signal includes the volume value, transmission sequence number, unique device identifying number (serial number) and any additional relevant sensor data including time, date, temperature, and humidity.
- the process clears all interrupts and then enables them again (at 2558 ).
- the process then ends.
- the process restarts from the beginning (at 2505 ) and again determines whether the spout is on a container.
- FIG. 1 illustrates a spout working as part of a system in which computing devices 130 , 135 , and 140 receive the device data through various networking and communications topologies in some embodiments.
- the computing devices have software which allows the data from the pouring devices to be stored, processed and manipulated.
- the application uses lookup tables and algorithms to take the data based on a baseline material and apply viscosity and density modifiers to derive new volumes values that reflect the actual material dispensed.
- FIG. 26 conceptually illustrates a process of some embodiments by which a computer application is configured and processes data from a spout.
- the process receives (at 2610 ) the spout's unique serial number into a computer application either through manual or automatic number entry.
- materials on the list are each associated with viscosity and density modifiers.
- the viscosity and density modifiers are correlated with secondary information such as temperature ranges, humidity ranges, pressure ranges, solution concentration ranges, etc.
- the process retrieves (at 2614 ) the modifiers for the selected material.
- the process receives (at 2616 ) data (e.g., the serial number) at the application from the spout (e.g., from a transceiver of the spout to one or many computers running the application).
- the process examines (at 2618 ) the incoming data for redundancies. In some embodiments the examination is by the application while it runs on one or more computers.
- a redundancy is detected (at 2620 ), such as when the same spout sends the same data multiple times, the redundant data is discarded (at 2622 ) and the process ends. Otherwise, when a redundancy is not detected (at 2620 ), the process checks (at 2623 ) the data for errors.
- the data is written (at 2626 ) to an error file and the process ends. Otherwise, when an error is not detected (at 2624 ) then the application checks (at 2628 ) the serial number in the data and looks up the material assigned to the serial number based on the data/time stamp of the data.
- the process determines (at 2630 ) that no assignment has been made or that the assignment is the same material as the baseline material, the original volume is written (at 2632 ) to the database, a database flag is set (also at 2632 ) to indicate that no data modification took place and the process ends. Otherwise, when the process determines (at 2630 ) that an assignment has been made (of a material to the serial number), the process selects (at 2634 ) a material modifier based on the associated data from the device such as temperature, humidity, etc. and applies (also at 2634 ) the modifier to the baseline material volume data. The new volume data is written (at 2636 ) to the database and the process ends.
- a fully assembled and functioning spout can have a change made to its firmware programming, dispensing rate calculation methods and factors without having to physically open the spout.
- FIG. 27 illustrates a sensor 2715 attached to a circuit board 2735 located on a spout in some embodiments.
- sensor 2715 are magnetic sensors and infrared sensors.
- Various components on the circuit board 2735 such as an accelerometer 2720 , are controlled by software that operates on the circuit board. In some embodiments, the software is changed or reprogrammed through the sensor 2715 .
- the circuit board 2735 that includes the sensor 2715 is constantly active.
- the circuit board 2735 is activated by a sensor 2715 , is periodically activated, or is activated by a transmission that includes a coded signal.
- a sensor that measures vibrations or acceleration on the circuit board 2735 such as the accelerometer 2720 , recognizes a specific pattern of vibrations in order to activate the sensor 2715 .
- An outside transmission source 2730 is used to transmit modulated patterns which activate and can change the firmware/software on the circuit board 2735 .
- the outside transmission source transmits using infrared or magnetic signals. Data from the outside communication device 2730 is transmitted to the activated sensor 2715 on the circuit board 2735 .
- FIG. 30 conceptually illustrates a logical process 3000 by which a spout receives new programming in some embodiments.
- the process (at 3005 ) detects certain physical manipulations of the spout, such as the spout being shaken or the spout's pressure contact switch being pressed in rapid succession.
- the spout must continue to be manipulated for some period of time until the action is recognized by a firmware bootloader as a request by the spout to update the spout's firmware.
- a firmware update can be initiated through a transmission by a communication device or transceiver of a firmware change request.
- the process determines (at 3010 ) whether the spout has sent a reboot command. When the spout's reboot command is not recognized (at 3010 ) then the process ends. When the spout's reboot command is recognized (at 3010 ) then the process activates (at 3015 ) a countdown timer of the spout and stops all other activities of the spout, such as dispensing materials, etc. These activities remain stopped while the process listens (at 3020 ) for reboot instructions to be received at the spout for the duration of the countdown. In some embodiments, the reboot instructions are received from the central computer system. In other embodiments, the reboot instructions are received from a handheld device, or from some other computer system.
- the process sends (at 3030 ) a communication of a reboot failure from the spout and the spout goes back to its previous state of activation, and the process ends.
- the process checks (at 3035 ) the countdown timer. When the countdown timer has expired before the spout receives the reboot instructions, the process sends (at 3030 ), from the spout, a communication of a reboot failure, the spout goes back to its previous state of activation, and the process ends.
- the process sends (at 3040 ) a communication from the spout that the reboot instructions have been received.
- the process executes (at 3045 ), at the spout's processor, the firmware update instructions. If the instructions are not successfully executed (at 3050 ), the process sends (at 3030 ), from the spout, a communication of a reboot failure and the process ends.
- the process sends (at 3055 ) a communication from the spout that the update was successful and the process ends.
- FIG. 28 illustrates a device 2805 that can be attached to the inside of a container (not shown) containing liquids, gels, powders, or solids in some embodiments.
- the device 2805 includes an audio amplifier 2813 and a microphone 2810 connected to a circuit board 2835 .
- FIG. 29 illustrates the device 2805 attached to the inside of a container 2900 containing liquids, gels, powders, or solids in various embodiments.
- a sound pulse at a set frequency is transmitted by the audio amplifier 2813 into the container of liquids, gels, powders, or solids.
- the frequency is inaudible to human ears.
- the volume is undetectable by human ears.
- the fact that a pour has occurred is determined by the device 2805 .
- the sound pulse is distorted by the motions and a sensor, such as the microphone 2810 , notes the changes in its measurements.
- the fact that a pour has occurred is determined by a motion sensing component such as an accelerometer or tilt switch.
- the audio amplifier 2813 and microphone 2810 are combined on a circuit board 2835 with a sensor to measure tilt or angle of inclination or the presence of material in the dispensing channel of the container 2900 .
- Some embodiments determine the remaining volume using sound pulses reflected from the top of the container.
- the audio amplifier 2813 transmits sound pulses into the container 2900 .
- the microphone 2810 can sense the echo of the transmitted pulse off the other end of the container 2900 . Sound travels at different speeds through different materials, so the amount of material in the container 2900 can be calculated based on the elapsed time from the initiation of the pulse to the receipt of the pulse.
- the audio amplifier 2813 sends a sound pulse, the reflections of which are received by the microphone 2810 , which measures the amount of material remaining in the container 2900 .
- Successive measurements allow for the determination of the depletion of liquid, gel, powder, or solid with each physical change/movement of the container 2900 .
- the level of material in the container has dropped from 2925 . This change is determined by the difference in the time a pulse takes to return to the microphone 2810 through the material and through the air above the material.
- the sound pulse from the audio amplifier 2813 reflects off the interface between the liquid and the air.
- the device measures the time between audio amplifier 2813 sending the initial sound pulse and the time that the sound reflected from the interface takes to reach the microphone 2810 .
- the sensor Given a value for the speed of sound in the particular liquid, the sensor can determine the height of the liquid in the container. If the cross sectional area of the container at all heights is known, the volume remaining in the container can be determined as a function of the height of the remaining liquid. Based on the measurements of the reflected pulse, the volume of liquids, gels, powders, and solids dispensed can be calculated and stored on the circuit board 2835 or transmitted from the circuit board 2835 .
- the audio amplifier 2813 and microphone 2810 can also determine when there is no longer a presence of liquids, gels, powders, or solids.
- FIGS. 31A-31B illustrate a spout 3105 of some embodiments that uses a physical resistance sensor 3115 to calculate the amount of material, such as a liquid, gel, powder, or solid, dispensed from a container 3100 .
- a spout 3105 on a container 3100 includes a physical resistance sensor 3115 in a dispensing channel 3140 attached to a circuit board 3135 .
- the physical resistance sensor 3115 includes a physical plane or material that is oblique in angle to the dispensing channel in which the liquid, gel, powder, or solid flows out of the container 3100 . The material, when being dispensed, presses against the physical resistance sensor 3115 .
- FIG. 31A in section 3120 , shows, the dispensing channel 3140 with physical resistance sensor 3115 when no material is flowing through the dispensing channel 3140 in some embodiments.
- FIG. 31A in section 3125 , shows container 3100 has been tilted such that material is flowing out through the dispensing channel 3140 , and the physical resistance sensor 3115 is in an active state measuring the force placed on it by the material.
- the physical plane of material will have resistive properties that are known and measurable so that the amount of force exerted on the physical plane can be used to determine the flow rate of liquid, gel, powder, or solid through the dispensing channel 3140 .
- the amount of pressure and the time of the pressure are determined by the physical resistance sensor 3115 .
- the sensor information is combined with the known dimensions of the dispensing channel 3140 such that the flow rate of liquid, gel, powder, or solid is determined.
- FIG. 31B illustrates how the flow of material through a dispensing channel 3140 puts force on a physical resistance sensor 3115 and in turn indicates flow rate in some embodiments.
- the sensor 3115 is at full resistance.
- the sensor 3115 is at zero resistance. Any flow between no flow and full flow creates (at 3165 ) partial resistance for the sensor 3115 .
- the flow rate of the material can be determined.
- Two techniques include the use of flexible electronic circuit boards and the stacking of batteries above or below the plane of an electronic circuit board to reduce overall physical space requirements.
- FIGS. 32A-32D illustrate flexible electronics boards that are used in conjunction with a plastic holder and holding clips to allow for the smallest possible enclosures to house the electronics in some embodiments. Minimizing the size of the units enhances the overall mechanical engineering of pour detection devices.
- FIG. 32A illustrates a traditional, non-flexible electronics circuit board which allows for electronics to be mounted on a single plane in some embodiments.
- FIG. 32B illustrates a simple use of a flexible electronics circuit board (flex board) that can orient electronics on more than one plane in some embodiments.
- FIG. 32C illustrates how a flexible electronics circuit board (flex board) can be “wrapped” onto a rigid plastic holder to provide a stable platform for the placement and manufacturing of the electronics boards into solid casings in some embodiments.
- the circuit board can be held in place through chemical bonding, frictional holds or other holding methods.
- FIG. 32D illustrates how a flexible electronics circuit board (flex board) can be “wrapped” onto a rigid plastic holder and a supplemental compression holding clip can be used to hold the circuit board onto the plastic holder in some embodiments.
- the plastic holder itself can have prong and slot structures that provide the compression to hold the flexible circuit board to the plastic holder.
- FIGS. 33A-33B illustrate a battery stacked above or below the plane of a circuit board in order to reduce the overall footprint of the devices of some embodiments.
- FIG. 33A illustrates, in a top down view, how a battery placed on a holding and/or contact bracket can be used to place a battery to power a circuit board above or underneath the circuit board it is to power in some embodiments.
- FIG. 33B illustrates, in a side view, the same use of a battery orientated in the same general plane of a circuit board or slightly pitched in angular orientation depending on the design requirements of the mechanical engineering in some embodiments.
- FIG. 34 illustrates a computer system 3400 with which some embodiments are implemented.
- a computer system includes various types of computer readable mediums and interfaces for various other types of computer readable mediums.
- Computer system 3400 includes a bus 3405 , a processor 3410 , a system memory 3415 , a read-only memory (ROM) 3420 , a permanent storage device 3425 , input devices 3430 , and output devices 3435 .
- the components of the computer system 3400 are electronic devices that automatically perform operations based on digital and/or analog input signals.
- the computer system 3400 may be embodied in other specific forms without deviating from the spirit of the invention.
- the computer system may be implemented using various specific devices either alone or in combination.
- a cellular phone may include the input and output devices 3430 and 3435
- a remote personal computer (“PC”) may include the other devices 3405 - 3425 , with the cellular phone connected to the PC through a cellular network that accesses the PC through its network connection 3440 .
- the bus 3405 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 3400 .
- the bus 3405 communicatively connects the processor 3410 with the read-only memory 3420 , the system memory 3415 , and the permanent storage device 3425 . From these various memory units, the processor 3410 retrieves instructions to execute and data to process in order to execute the processes of the invention.
- the bus 3405 may include wireless and/or optical communication pathways in addition to or in place of wired connections.
- the input and/or output devices may be coupled to the system using a wireless local area network (W-LAN) connection, Bluetooth®, or some other wireless connection protocol or system.
- WLAN wireless local area network
- the read-only-memory (ROM) 3420 stores static data and instructions that are needed by the processor 3410 and other modules of the computer system.
- the permanent storage device 3425 is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the computer system 3400 is off. Some embodiments use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 3425 .
- the system memory 3415 is a read-and-write memory device.
- the system memory is a volatile read-and-write memory, such as a random access memory (RAM).
- the system memory stores some of the instructions and data that the processor needs at runtime.
- the sets of instructions used to implement invention's processes are stored in the system memory 3415 , the permanent storage device 3425 , and/or the read-only memory 3420 .
- the bus 3405 also connects to the input and output devices 3430 and 3435 .
- the input devices enable the user to communicate information and select commands to the computer system.
- the input devices 3430 include alphanumeric keyboards and pointing devices (also called “cursor control devices”).
- the input devices 3430 also include audio input devices (e.g., microphones, MIDI musical instruments, etc.) and video input devices (e.g., video cameras, still cameras, optical scanning devices, etc.).
- the output devices 3435 include printers, electronic display devices that display still or moving images, and electronic audio devices that play audio generated by the computer system. For instance, these display devices may display a graphical user interface (GUI).
- GUI graphical user interface
- the display devices include devices such as cathode ray tubes (CRT), liquid crystal displays (LCD), plasma display panels (PDP), surface-conduction electron-emitter displays (SED), etc.
- the audio devices include a PC's sound card and speakers, a speaker on a cellular phone, a Bluetooth® earpiece, etc. Some or all of these output devices may be wirelessly or optically connected to the computer system 3400 .
- bus 3405 also couples computer 3400 to a network 3440 through a network adapter (not shown).
- the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the internet.
- the computer 3400 may be coupled to a web server (network 3440 ) so that a web browser executing on the computer 3400 can interact with the web server as a user interacts with a GUI that operates in the web browser.
- the computer system 3400 may include one or more of a variety of different computer-readable media (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media).
- Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable blu-ray discs, ultra density optical discs, any other optical or magnetic media, and floppy disks.
- the computer-readable media may store a computer program that is executable by at least one processor and includes sets of instructions for
- the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people.
- server is a machine, not a human being who serves some function.
- display or displaying mean displaying on an electronic device.
- computer readable medium and “computer readable media” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.
- the illustrated embodiments of the sliding stems show the magnet on the sliding component and the magnetic sensor and circuit board on the stationary component.
- the magnet is on the stationary component and the magnetic sensor and circuit board are on the sliding component.
- monitoring devices shown in this application could include features of the devices described in the concurrently-filed application having attorney docket number CPTN.P0009, which is incorporated herein by reference.
- some embodiments of the processes conceptually illustrated herein may omit certain operations, combine certain operations, or perform certain operations in a different order than the order shown in the figures.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Fluid Mechanics (AREA)
- Containers And Packaging Bodies Having A Special Means To Remove Contents (AREA)
Abstract
Description
- This patent application claims benefit of an earlier-filed U.S. Provisional Patent Application entitled “Methods, Apparatuses, and Systems for Measuring and Tracking Dispensed Material,” filed on Mar. 23, 2008, and having Ser. No. 61/038,765; and U.S. Provisional Patent Application entitled “Method, Apparatus, and System for Measuring Amount of Material Dispensed from Containers,” filed on Mar. 23, 2008, and having Ser. No. 61/038,767. The contents of U.S. Provisional Patent Applications 61/038,765 and 61/038,767 are herein incorporated by reference.
- The invention relates to methods, apparatuses and systems for monitoring the amount of liquid, gels, powders, and solids dispensed from containers.
- Liquids, gels, powders and solids are dispensed from containers in various industries for retail, commercial and industrial use. The measurement and centralized tracking of the amounts of materials dispensed is important to a business to control costs, ensure quality control, monitor employee performance, manage inventories, and ensure revenue.
- Examples of materials that need to be measured and tracked include liquor, wine, beer, coffee, juices and premixed drinks in the hospitality industry, oil, fluids, materials used in industrial and machine environments, and liquids required in the creation of solutions in the medical and veterinary environments.
- In some of the commercial uses of liquids, gels, powders, and solids, dispensing devices use various methods to control or portion the quantities of materials dispensed. In some cases, the amount of materials to be dispensed is not predetermined and is variable based on the arbitrary actions of a human operator or randomly or variably dispensed by a machine.
- Therefore, a need exists for better methods and processes for monitoring, measuring, and tracking the dispensing of random and/or variable quantities of a liquid, gel, powder, or solid, and storing that information for various business purposes.
- Many of the methods and apparatuses of various embodiments disclosed herein relate to the tracking of inventory and the tracking of dispensed material. Some embodiments use monitoring devices of various kinds to measure the number of containers used or the amount of material dispensed from each container. The monitoring devices of such embodiments transmit their data to a central tracking system.
- Some embodiments track the amount of dispensed material by the use of electronic spouts inserted into the containers that contain the materials (e.g., a bottle that contains alcohol). Different embodiments track various actions by user of the devices. For example, some embodiments track whether a spout has been inserted into a container and/or whether the spout has been removed from the container. Some such embodiments include channels that allow fluid to leak if the spout is placed in the container in a way that does not activate the tracking circuitry.
- Some embodiments track the amount of a material that has been dispensed by measuring the angle at which the container is tilted (e.g., with an accelerometer on the spout or on the container). Given the angle at which material is dispensed and various other characteristics (e.g., viscosity of a liquid being poured), the methods of these embodiments are able to calculate how much of the material has been dispensed. Still other embodiments use a sonar system with an audio amplifier and a microphone to determine how much material is left in a container before and after material is poured out.
- Some embodiments provide power saving by deactivating or reducing the activity of monitoring devices when material is not pouring. For example, some embodiments include a tilt switch to determine when a container is in a position to pour out material. Some embodiments provide similar power saving by using a vibration sensor to determine when material is actually pouring out of a container based on the vibrations that such pouring creates in the container.
- Some embodiments include reprogrammable devices that are primed to accept new programming when the devices are shaken. In some such embodiments, the devices receive programming through infrared communications. In other embodiments, the devices receive programming through wireless communications. The following paragraphs describe some more specific aspects of various embodiments.
- Some embodiments provide a spout that detects whether it has been inserted into an open orifice of a container. The spouts of some embodiments include a first component for inserting into a container, a second component for inserting into the first component, a magnetic force sensor attached to one of the components, and a magnet attached to the component to which the magnetic force sensor is not attached. In some embodiments, the insertion of the second component into the first component causes the magnet to affect the magnetic force sensor, thereby indicating that the spout is inserted into the container to seal the container. Other embodiments include a similar system in which the magnetic sensor and the magnet are internal parts of a spout that do not slide relative to one another. In some such embodiments, the magnetic sensor is activated when the pressure of the insertion on a pressure deformable part of the spout pushes the magnet close to the magnetic sensor (or pushes the magnetic sensor close to the magnet). Still other embodiments provide a pressure activation contact switch in which pressure on pressure deformable part of the spout due to an insertion causes an electrical contact to be made in the spout that indicates the insertion.
- Some embodiments provide a method for detecting when a spout is inserted into an open orifice of a container. The method detects that a magnetic sensor attached to a first component of the spout is affected by a magnet attached to a second component of the spout. One of the components is for inserting into the container and the other component is for inserting into the component that is for inserting into the container. A predetermined time after the detection, the method determines whether the magnetic sensor remains affected by the magnet. When the magnetic sensor remains affected by the magnet, the method determines that the spout is inserted into the open orifice of the container. Other embodiments provide similar methods for detecting the insertion of spouts with magnetic sensors activated by pressure deformable material or pressure activation contact switches.
- Some embodiments provide a system for monitoring containers at an establishment, the system includes multiple spouts. At least one of the spouts includes a first component for inserting into a container, a second component for inserting into the first component, a magnetic force sensor attached to one of the components, and a magnet attached to the component to which the magnetic force sensor is not attached. The insertion of the second component into the first component causes the magnet to affect the magnetic force sensor, thereby indicating that the spout is inserted into the container to seal the container. The system also includes a local computer at the establishment for collecting data transmitted by the spouts. The systems of some embodiments are capable of monitoring containers with spouts of any of the types mentioned above. In some embodiments, the systems are capable of tracking containers with multiple spouts, or even containers that are tracked by devices other than spouts.
- Some embodiments provide a spout that attaches to a container (e.g., a bottle) in a novel manner. The spouts of these embodiments include a set of annular rings oriented parallel to a cross section of an opening of the container. The set of annular rings seals the opening of the container so that the spout becomes the only egress for the contents of the container. The spouts of these embodiments also include a set of ridges separate from the annular rings. The ridges are oriented perpendicular to the cross section of the opening. The set of ridges hold the spout in the container by frictional forces.
- Some embodiments provide a device that determines how much material is dispensed from a container by measuring the angle at which the container is tilted. In some embodiments, such devices include an accelerometer for measuring an angle by which the container is tilted and an electronic component for transmitting data based on the angle measured by the accelerometer. In some embodiments, the accelerometer measures the angle by which the container is tilted at a multiple different times.
- Some embodiments provide a method for measuring the amount of material dispensed from a container. The method measures an angle by which the container is tilted (e.g., using an accelerometer that is part of a device attached to the container. The method generates data based on the angle measurement and transmits the generated data to some external system.
- In some embodiments, the external system receives data transmitted from such a device attached to a container. In some embodiments, the data includes an estimate of the amount of material dispensed from the container that is generated based on measurements of angles by which the container is tilted. In some embodiments, the data received by the external system is generated by the device based on an assumption that the material is a known, baseline material. The method of some embodiments identifies the material dispensed from the container based on an identifier in the received data. The method calculates the actual amount of material dispensed by using an offset that accounts for a difference in viscosity between the known, baseline material and the identified material.
- Some embodiments include devices with features that are only needed when the container is tilted. The devices of some such embodiments include a monitoring device for measuring data that is used to calculate the amount of material dispensed from the container. The monitoring device takes measurements at variable time intervals. The devices also include a tilt switch connected to the monitoring device that detects when the container is tilted by at least a particular tilting angle. Thus the device can vary the time intervals at which measurements are taken (e.g., by the monitoring device) based on whether the container is tilted by at least the particular tilting angle. In some embodiments, decreasing the rate of monitoring when the tilt switch is not activated saves power.
- Some embodiments include a temperature sensor to help determine the volume of material dispensed. For example, the density or viscosity of a material may be affected by temperature, which would affect the calculations of the pour rate.
- Some embodiments provide devices with an accelerometer that detects frictional vibrations created when material is dispensed from the container. Such accelerometers can be used in a similar manner to the tilt switch described above. When the accelerometer detects frictional vibrations from material being dispensed, the device increases the frequency at which it monitors instruments that directly or indirectly measure the flow of material from a container. Some embodiments include devices, such as spouts for containers that are reprogrammable (e.g., for updating data and firmware updates). The spout of some embodiments includes a processor for controlling various electronic components of the spout according to a set of instructions, an electronic storage device for storing the set of instructions for the processor, and a sensor for receiving instructions via wireless transmission from an external source. The received instructions are used to modify the set of instructions stored on the electronic storage device of the spout. Some embodiments use an infrared sensor or a magnetic sensor. Some embodiments prepare to receive reprogramming when a vibration detecting sensor determines that the spout is being shaken. Other embodiments provide a spout with two-way communication to an external system that is able to signal the spout to accept reprogramming.
-
FIG. 1 conceptually illustrates an overview of some embodiments. -
FIG. 2 illustrates the functionality of a sliding cork stem used in some embodiments. -
FIGS. 3A-3B illustrate some embodiments that use a magnet and magnetic sensor to determine when a pouring device is inserted or removed from a container. -
FIGS. 4A-4C illustrate some embodiments that use a cork designed to distinctly differentiate the functional purposes of frictional hold and liquid sealing. -
FIG. 5 illustrates some embodiments including a sliding cork stem that uses a magnet and a magnetic sensor to determine when the sliding cork stem is inserted or removed from a container. -
FIG. 6 conceptually illustrates a process used in some embodiments that uses a magnet and a magnetic sensor on a sliding cork stem to determine when a pouring device is inserted in a container. -
FIG. 7 illustrates a special cork used in some embodiments that includes pressure deforming material that expands with compression force on a fin or fins. -
FIGS. 8A-8C illustrate some embodiments that use pressure deforming material to activate a magnetic sensor which determines when a pouring device is inserted or removed from a container. -
FIG. 9 conceptually illustrates a process used in some embodiments that uses a magnet adjacent to pressure deforming material and a magnetic sensor to determine if a pouring device is inserted in a container. -
FIG. 10 illustrates a top down sectional view of some embodiments that use pressure deforming material to activate a magnetic sensor which determines when a pouring device is inserted or removed from a container. -
FIGS. 11A-11C illustrate some embodiments that use pressure-deforming material to activate a physical contact switch which determines when a pouring device is inserted or removed from a container. -
FIG. 12 conceptually illustrates a process used in some embodiments that uses a magnet adjacent to pressure deforming material and a magnetic sensor to determine when a pouring device is inserted in a container. -
FIG. 13 illustrates a top down sectional view of some embodiments that use pressure deforming material to activate a contact switch which determines when a pouring device is inserted or removed from a container. -
FIGS. 14A-14B illustrate some embodiments that provide an accelerometer on an electronic circuit board housed in a pouring device. -
FIG. 15 illustrates some embodiments that provide an accelerometer attached to the outside or inside of a container. -
FIG. 16 illustrates a circuit board with various electronic components included in some embodiments. -
FIG. 17 illustrates the use of an accelerometer to measure the angle of a container at different times. -
FIG. 18 illustrates the use of an accelerometer to measure the position of a container at different times. -
FIG. 19 illustrates the use of an accelerometer to measure the position and angle of a container at different times. -
FIG. 20 illustrates the use of a tilt switch to determine when a container has been moved from its non-inclined position. -
FIG. 21 conceptually illustrates a process of some embodiments for monitoring, recording, and transmitting pour data with an accelerometer. -
FIG. 22 conceptually illustrates a process of some embodiments for measuring the temperature of material being dispensed from a container and transmitting this information with other pour data. -
FIGS. 23A-23C illustrate graphs showing the relationship between the dispensing rate and the angle of dispensing, and the difference in dispensing rate of materials with a different viscosity or density. -
FIG. 24 conceptually illustrates a process of some embodiments of invention for calculating the volume of material dispensed from a container by measuring the angle of inclination and duration of time material is being dispensed. -
FIGS. 25A-25B illustrate a process of some embodiments for a device that calculates the volume of material dispensed from a monitored container by measuring the angle of inclination and duration of time material is being dispensed. -
FIG. 26 conceptually illustrates a process of some embodiments for a computer system to process data from a spout. -
FIG. 27 illustrates some embodiments that use an infrared or magnetic sensor that receives signals to change or reprogram the software for a circuit board on a spout. -
FIGS. 28-29 illustrate some embodiments that use a microphone and audio amplifier attached to the inside of a container to measure the change in volume of material in the container. -
FIG. 30 conceptually illustrates a process of some embodiments for changing or reprogramming the software for a circuit board on a spout. -
FIGS. 31A-31B illustrate some embodiments that use a physical resistance sensor in the dispensing channel of a container to measure the volume of material dispensed from the container. -
FIGS. 32A-32D illustrate flexible electronics boards used in some embodiments that are used in conjunction with a plastic holder and holding clips to allow for the smallest possible enclosures to house the electronics. -
FIGS. 33A-33B illustrate a battery stacked above or below the plane of a circuit board in order to reduce the overall dimensional area needed in engineering in some embodiments. -
FIG. 34 illustrates a computer system with which some embodiments are implemented. - In the following description, numerous details are set forth for purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of every specific detail. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail.
- The invention is directed towards methods, apparatuses, and systems for monitoring the amount of a material (e.g., liquid, gels, powders, and solids) dispensed from a container. In some embodiments, the material is an alcoholic beverage.
FIG. 1 shows an overview of some embodiments. Individual devices 105 (sometimes referred to herein as “pouring devices”, “dispensing orifices”, or “spouts”) are placed oncontainers 100 that dispense materials (e.g., liquids, gels, powders, or solids). For simplicity, only one device and one container are shown inFIG. 1 . - The
devices 105 measure the distribution of the materials from thecontainers 100 in real-time through various methods. In some embodiments, thedevices 105 can include anaccelerometer 113 to measure angle of inclination ofcontainers 100 as they pour/dispense material. In other embodiments, thedevices 105 can include aspeaker 114 andmicrophone 116 in which a pulse of sound is emitted from thespeaker 114 and heard by themicrophone 116 in which the delay in time determines the amount of material in thecontainer 100. In some embodiments, the electronics contained in the device will also include a physical contact switch or magnetic sensor (sometimes referred to as a magnetic switch) 110, aninternal processor 112, aclock 117, atransceiver 118 and an optimizedantenna 120. - The information related to the distribution of the material from the monitoring device is communicated to a central computer either by wireless communication or via a directly wired connection. In some embodiments, the device information is stored within internal device memory (not shown—in some embodiments, memory is part of the internal processor; other embodiments include internal memory outside the internal processor) until it is distributed to the central computer. In other embodiments, the device information is transmitted in real-time from the
transceiver 118 through a radio frequency communication to atransceiver 125 connected to a network, the Internet, or directly to acomputer 130. - In some embodiments, the information sent from the
transceiver 118 is raw data from thedevice 105. In some such embodiments, the internal processor of the device does not perform any of the calculations that determine how much material has been dispensed from the container. In other embodiments, theinternal processor 112 performs calculations on the raw data from thedevice 105 before sending the information. For instance, in some embodiments the internal processor performs some or all of the calculations that determine how much material (e.g., liquid, gel, powder, or solid) has been dispensed from a container based on the raw data. Ultimately, the information is received, processed, and stored on software that runs on acomputer 140,server 135, etc. and includes information for one device or many devices in a distributed environment. - Some embodiments receive, process, and store information from
devices 105 that are at multiple establishments. Generically, an establishment is any location in which materials (e.g., liquids, powders, gels, or solids) are dispensed. In some embodiments, the multiple establishments are multiple bars, restaurants, or other establishments that serve alcoholic beverages. In the case of embodiments that partially perform calculations on thedevice 105, any further processing is done by the software oncomputer 140,server 135, etc. Some embodiments provide two-way communication between the device and theservers 135 orcomputer 140. In these embodiments, thedevices 105 not only send information to the software through a network, a network of networks (such as the Internet) or directly to acomputer 130, but the software is also able to communicate information, time/date coordination, commands, instructions, calibrations or firmware upgrades to thedevices 105 through thetransceiver 118. The software of some embodiments provides the individual and aggregated device information, calculations and extrapolations on acomputer server 135, or other computing device. - Various embodiments include a variety of different features. Some of the embodiments of removable pouring devices monitor whether the device is placed on a pouring orifice of a container containing liquids, gels, powders, or solids. Some embodiments of removable pouring devices monitor whether the device is removed from a pouring orifice of a container containing liquids, gels, powders, or solids. In some embodiments, the devices monitor both whether the devices have been placed on a container and whether the devices have been removed from the container. Some embodiments of the devices measure the amount of time for which liquids, gels, powders, or solids are poured through a dispensing orifice. Some embodiments measure the angle of inclination of a container from which liquids, gels, powders, or solids are poured through a dispensing orifice. Some embodiments measure the temperature of materials within a container from which liquids, gels, powders, or solids are poured through a dispensing orifice. Some embodiments measure the displacement rate and volumes of air which pass into the container from which liquids, gels, powders, or solids are poured through the dispensing orifice. Some embodiments measure the actual volumes of material in a container, over a rapid sequence of time intervals, from which liquids, gels, powders, or solids are poured through the dispensing orifice. Some embodiments measure the pressure/force of liquids, gels, powders, or solids as they exit out of a container through a dispensing orifice. A person having ordinary skill in the art will realize that some embodiments will include only one of the above described features, while other embodiments will include more than one of the above described features.
- The spouts of some embodiments include a bottom portion that is inserted into the opening of a container (e.g., a liquor bottle). In some embodiments, the bottom portion of the spout includes a “cork” that flexes to snuggly attach the spout to the container. The term “cork” as used herein refers to a portion of the spout that grips the container and provides a seal that prevents any material from flowing around the spout rather than through the spout. The term “cork” is used generically to identify the function of the cork, not to limit it to the tree based material called “cork”. Instead, the cork could be made of any material servicing these functions. Some embodiments provide removable corks in different sizes in order to fit different types of containers. The spouts described herein include a fluid-flow passageway to allow the liquids or other materials to flow/pass through the spout. In some embodiments, the fluid flow passageway is designed to ensure laminar (smooth and unturbulent) flow of a liquid when a liquid container and hence the spout are inclined at a certain angle (e.g., 20 degrees) past the horizontal axis of the liquid container. For example, in some embodiments, the ratio of the passageway's length to its width (or diameter) is equal to or less than 20 in order to ensure laminar fluid flow. When properly placed, the spouts of some embodiments seal the containers, meaning that the fluid flow passageway of the spout becomes the only way for material to exit the container while the spout is in place. Various spouts are described in more detail below.
-
FIG. 2 illustrates a sliding stem 200 (also referred to as a sliding cork stem), that is part of a spout that is inserted into a container used in some embodiments. As shown, the slidingstem 200 includes a sliding component 215 (also referred to as an “interior housing unit”) connect to the top of thespout 218 and a stationary component 210 (also referred to as an “exterior housing unit”). Thestationary component 210 is stationary relative to the top of the container in which it is inserted (not shown), while the slidingcomponent 215 slides relative to the top of the container in which it is inserted (not shown). The slidingcomponent 215 includes atop lip 228, abottom lip 225, and ahollow center 224 that allows liquid or other materials to pass through the slidingstem 200. Thestationary component 210 also includes atop lip 223 and abottom lip 220, both of which are hollow in the center to allow liquids or other materials to pass through the slidingstem 200. When the slidingstem 200 is in an extended state, insection 230, thetop lip 223 of thestationary component 210 is in contact with thebottom lip 225 of the slidingcomponent 215, providing an extension limit for the slidingstem 200. When the slidingstem 200 is in a compressed state, insection 240, thebottom lip 220 of thestationary component 210 is in contact with thebottom lip 225 of the slidingcomponent 215 and thetop lip 223 of thestationary component 210 is in contact with thetop lip 228 of the slidingcomponent 215, providing physical contact between thestationary component 210 and slidingcomponent 215 of the slidingstem 200. - Sliding
stem 200 also includes afin 245 made of malleable material andfluid flow channels 235 in some embodiments. As shown, insection 250, when the slidingstem 200 is in an extended state, material is able to flow freely through thefluid flow channels 235. In some embodiments, thefluid flow channels 235 are narrow tube, in other embodiments they extend around the stem. In the extended state of the slidingstem 200, material would leak profusely from the container through thefluid flow channels 235 when a pour was attempted. As shown, insection 260, when the slidingstem 200 is in a compressed state, the compression forces thefin 245 to block thefluid flow channels 235. Because the slidingstem 200 leaks when extended, the user of the device is forced to make sure that the slidingstem 200 is fully compressed. This is useful because the magnetic sensor of some embodiments is activated when the slidingstem 200 is in a compressed state, as further described below. In the compressed state of the slidingstem 200, frictional force holds thefin 245 in place and prevents the slidingcomponent 215 and thestationary component 210 from separating. - A. Sliding Activation of Magnetic Sensor
-
FIGS. 3A-3B illustrate aspout 305 that is inserted into acontainer 100 in some embodiments. As shown, thespout 305 includes a sliding stem that has a slidingcomponent 315 and astationary component 310. Thespout 305 also includes amagnet 320 and amagnetic sensor 325. In the embodiments illustrated inFIG. 3A-3B , the action of connecting thespout 305 to thecontainer 100 is detected through the sliding cork stem. In some embodiments, the slidingcomponent 315 of the stem includes themagnetic sensor 325 and a circuit board (not shown) and thestationary component 310 of the stem includes themagnet 320. In other embodiments, the slidingcomponent 315 of the stem includes themagnet 320 and thestationary component 310 of the stem includes themagnetic sensor 325 and a circuit board (not shown). In its non-inserted state (e.g., before the sliding stem is compressed during insertion of the spout into the container), illustrated inFIG. 3A , themagnet 320 has no effect on themagnetic sensor 325. When the sliding stem is placed within a container 100 (inserted state), as illustrated inFIG. 3B , the force of the insertion pushes thestationary component 310 along the slidingcomponent 315 of the stem so that themagnet 320 affects themagnetic sensor 325. In some embodiments, the state of the magnetic sensor 325 (inserted or non-inserted) is captured through a circuit board (not shown) and used to activate various functions within the firmware within the circuit board. -
FIG. 5 illustrates a slidingcork stem 500 that detects when it is inserted into a container in some embodiments. As shown, the slidingcork stem 500 includes a dispensingchannel 540, amagnetic sensor 525 attached to acircuit board 535, and amagnet 520 that gives off amagnetic effect 550. When the slidingcork stem 500 is in an extended state, i.e., not inserted in a container, insection 505, themagnetic sensor 525 is not activated by themagnetic effect 550 from themagnet 520. When the slidingcork stem 500 is in a compressed state, i.e., inserted in a container, insection 510, themagnetic sensor 525 is activated by themagnetic effect 550 from themagnet 520. The state of the magnetic sensor 525 (inserted or non-inserted) is captured through thecircuit board 535 and used to activate various functions within the firmware within thecircuit board 535. In some embodiments, the positions of themagnet 520 and themagnetic sensor 525 attached to thecircuit board 535 are switched. - B. Multiple Fins with Distinct Functions
-
FIGS. 4A-4C illustrate a cork designed to distinctly differentiate the functional purposes of frictional hold and liquid sealing capabilities in some embodiments. Typical cork designs use fins oriented to the cross-sectional plane of a liquid container opening. Such fins function with two primary purposes—to provide frictional hold and to provide a liquid seal. In some embodiments, various cork fins are used for distinct functional purposes. As shown inFIG. 4A , one individualliquid sealing fin 420 or a set of multipleliquid sealing fins 420 are placed across (i.e., parallel to) the cross-section of the container opening and provide only liquid seal capabilities. A second individual or set of multiple fins, in this case frictionalhold cork fins 425, are placed at right angles (i.e., perpendicular to) to the cross-section of the container opening and provide frictional hold capabilities. - When used in conjunction with the sliding cork stem described above, the
spout 305 will not create a liquid seal when thespout 305 is not fully placed on acontainer 100, as shown inFIG. 4B . This will cause liquid to leak profusely from thecontainer 100. When thespout 305 is fully placed on acontainer 100, as shown inFIG. 4C , thestationary component 410 creates a liquid seal with the sealingfin 420, preventing liquid from leaking from thecontainer 100. In some embodiments, thecontainer 100 is sealed by the sealingfin 420 when the sealingfin 420 is flush with the opening. In other embodiments, thecontainer 100 is sealed by the sealingfin 420 when the sealingfin 420 is partially or fully inserted into the container opening. - C. Combination of Magnetic Sensor and Multiple Fins with Distinct Functions
- In some embodiments, the
spout 305 shown inFIGS. 3A-3B also includes an individual (or set of multiple) liquid sealing fins and an individual (or set of multiple) frictional hold cork fins. As shown inFIGS. 4A-4C , the set of frictionalhold cork fins 425 are utilized to provide force to mechanically slide the slidingcomponent 415 of the sliding cork stem. As shown inFIG. 4C , when the slidingcomponent 415 is forced to its full position of connection, the liquid sealing cork fin orfins 420 are positioned to prevent liquid from seeping/spilling from between the cork stem and the container opening. The seal occurs at the same distance of compression at which themagnet 320 affects themagnetic sensor 325. - In some embodiments, the action of the sliding
portion 415 of the cork stem is engineered to scrape/remove debris and detritus from the surfaces of the sliding and stationary parts of the cork stem and, therefore, providing a self cleaning function. - D. Process of Verifying Insertion
-
FIG. 6 conceptually illustrates aprocess 600 of some embodiments by which a spout with a magnetic sensor that is activated by a sliding cork stem that brings the sensor in range of a magnet determines that it has been inserted into a container and signals that it has been inserted into a container. The process receives (at 605) a signal from a magnetic sensor indicating that the sensor has been triggered. In some embodiments, the sensor is triggered by a sliding cork stem bringing the sensor into range of a magnet as described in relation toFIG. 5 . Once the sensor has been triggered, the process waits (at 610) for a predetermined period of time. After the predetermined period has expired, the process checks (at, 615) the sensor again. Next, the process determines (at 620) whether the sensor is still being triggered. Some embodiments provide continuous check over the predetermined time. - When the sensor is no longer being triggered the process resets (at 625) the spout (e.g., activates all hardware interrupts) to await the next triggering of the sensor and the process ends. Otherwise, when the sensor is still being triggered the process recognizes (at 630) that the sensor is still being triggered. The process then prepares (at 635) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container. In some embodiments, the prepared communication signal includes a serial number or other identifier of the spout. The process then sends (at 640) the communication signal identifying the contact event, e.g., to an inventory system.
-
FIG. 7 illustrates acork 700 that includes a section ofpressure deforming material 710 that is used in some embodiments. As shown, thecork 700 includes fins 720-730 and sections ofpressure deforming material 710 bulged inside thecork 700. As shown, compression force is placed on the exterior of thecork 700, causing the section ofpressure deforming material 710 to bulge inside the cork. In some embodiments, the bulging of the section ofpressure deforming material 710 activates a sensor or switch. In some embodiments, the cork will have fins 720-730 of different sizes. These fins 720-730 provide a liquid seal for different size containers. For instance, the cork can be inserted in a container with an opening too large for fins 725730, sincefin 720 can be large enough to provide a liquid seal. Similarly,fin 720 may be too large to fit into a smaller container opening. In that case, thesmaller fins cork 700. In other embodiments, the fin 720-730 may be attached to the side of thecork 700. -
FIGS. 8A-8C illustrate aspout 805 that is inserted into acontainer 100 in some embodiments. As shown, thespout 805 includes a set offins 815 including a section ofpressure deforming material 830 adjacent to amagnet 820. Thespout 805 also includes afluid flow channel 840 and amagnetic sensor 825 connected to acircuit board 835. In these embodiments, the action of connecting thespout 805 to thecontainer 100 causes thefins 815 to exert pressure and deform the pressure-deformingmaterial 830, pushing themagnet 820 towards themagnetic sensor 825, activating themagnetic sensor 825. -
FIG. 8B illustrates thespout 805 when thespout 805 is not placed on acontainer 100 in some embodiments. As shown inFIG. 8B , there is no pressure on thepressure deforming material 830, and therefore themagnet 820 is not close enough to themagnetic sensor 825 to activate themagnetic sensor 825. When thespout 805 is placed on thecontainer 100, as illustrated inFIG. 8C , thepressure deforming material 830 pushes themagnet 820 towards themagnetic sensor 825. The new position of themagnet 820 activates themagnetic sensor 825 on thecircuit board 835. When themagnetic sensor 825 is activated, thecircuit board 835 recognizes that thespout 805 has been placed on acontainer 100. Similarly, the removal of thespout 805 from thecontainer 100 causes thepressure deforming material 830 to shrink, as shown inFIG. 8B . When thepressure deforming material 830 shrinks, themagnet 820 moves away from themagnetic sensor 825, which deactivates themagnetic sensor 825. Thecircuit board 835 then recognizes that thespout 805 is no longer placed on thecontainer 100. -
FIG. 9 conceptually illustrates aprocess 900 of some embodiments by which a spout with a magnetic sensor that is activated by pressure on the spout determines that it has been inserted into a container and signals that it has been inserted into a container. The process receives (at 905) a signal from a magnetic sensor indicating that the sensor has been triggered. In some embodiments, the sensor is triggered by pressure deforming material as described in relation toFIGS. 8A-8C . Once the sensor has been triggered, the process waits (at 910) for a predetermined period of time. After the predetermined period has expired, the process checks (at 915) the sensor again. Next, the process determines (at 920) whether the sensor is still being triggered. - When the sensor is no longer being triggered, the process resets (at 925) the spout (e.g., activates all hardware interrupts) to await the next triggering of the sensor and the process ends. Otherwise, when the sensor is still being triggered, the process recognizes (at 930) that the sensor is still being triggered. The process then prepares (at 935) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container. In some embodiments, the prepared communication signal includes a serial number or other identifier of the spout. The process then sends (at 940) the communication signal identifying the contact event, e.g., to an inventory system.
-
FIG. 10 illustrates a top down sectional view of aspout 805 that detects when it is inserted into a container in some embodiments. As shown, thespout 805 includes aflexible cork 1050 and adispensing channel 1040. Thespout 805 also includes, enclosed in ahard casing 1070, amagnet 1020 adjacent to, or within,pressure deforming material 1060 bulged through a hole in thehard casing 1070 and amagnetic sensor 1025 attached to acircuit board 1035. Whenspout 805 is inserted into container, pressure is placed on theflexible cork 1050. The pressure on theflexible cork 1050 causes the section ofpressure deforming material 1060 to which themagnet 1020 is adjacent, or within, to push through the hole in thehard casing 1070, pushing themagnet 1020 within range of themagnetic sensor 1025, and activating themagnetic sensor 1025. Similarly, the removal ofspout 805 from container removes the pressure from theflexible cork 1050 causing the section ofpressure deforming material 1060 to shrink back through the hole in thehard casing 1070. When the section ofpressure deforming material 1060 shrinks back, themagnet 1020 is no longer in range of themagnetic sensor 1025, and themagnetic sensor 1025 is no longer activated. In some embodiments, the state of the magnetic sensor 1025 (inserted or non-inserted) is captured through thecircuit board 1035 and used to activate various functions within the firmware within thecircuit board 1035. -
FIGS. 11A-11C illustrate aspout 1105 that is inserted into acontainer 100 in some embodiments. As shown, thespout 1105 includes a set offins 1115, acontact switch 1125, acircuit board 1135, afluid flow channel 1140, and a section ofpressure deforming material 1130. As shown, thecontact switch 1125 is connected to acircuit board 1135 and the section ofpressure deforming material 1130 is adjacent to thecontact switch 1125. In these embodiments, the action of connecting thespout 1105 to thecontainer 100 causes thefins 1115 to exert pressure and deform the pressure-deformingmaterial 1130, pushing thecontact switch 1125. In some embodiments, thecontact switch 1125, and the magnetic sensors that detect when a spout has been inserted into a container, as described in previous sections, are generically referred to as “insertion detectors”. -
FIG. 11B illustratessection 1110 of thespout 1105 when the spout is not inserted in acontainer 100. In this configuration, there is no pressure on thepressure deforming material 1130. Therefore, thepressure deforming material 1130 does not push on thecontact switch 1125, which therefore is not activated. Thecircuit board 1135, therefore, recognizes that thespout 1105 is not on thecontainer 100.FIG. 11C illustrates thesection 1110 of thespout 1105 when the spout is placed on acontainer 100. As shown inFIG. 11C , pressure from thefins 1115 deforms thepressure deforming material 1130. Thepressure deforming material 1130 pushes on thecontact switch 1125, activating thecontact switch 1125. Therefore, thecircuit board 1135 recognizes that thespout 1105 is on thecontainer 100. Similarly, the removal of thespout 1105 from thecontainer 100 causes thepressure deforming material 1130 to shrink back, as shown inFIG. 11B . When this occurs, thecontact switch 1125 is no longer activated, and thecircuit board 1135 recognizes that thespout 1105 is no longer on thecontainer 100. -
FIG. 12 conceptually illustrates a process of some embodiments by which a spout with a physical contact switch determines that it has been inserted into a container and signals that it has been inserted into a container. The process receives (at 1205) a signal from a physical contact switch indicating that the switch has been engaged. In some embodiments, the switch is engaged by pressure deforming material as described in relation toFIGS. 11A-11C . Once the switch has been activated, the process waits (at 1210) for a predetermined period of time. After the predetermined period has expired, the process checks (at 1215) the physical contact switch again. Next, the process determines (1220) whether the physical contact switch is still engaged. - When the switch is no longer engaged the process resets (at 1225) the spout (e.g., activates all hardware interrupts) to await the next activation of the switch and the process ends. Otherwise, when the switch is still engaged the process recognizes (at 1230) that the switch is still active. The process then prepares (at 1235) a communication signal for the contact event, e.g., to notify a system such as an inventory management computer that the spout has been inserted into a container. In some embodiments, the prepared communication signal includes a serial number or other identifier of the spout. The process then sends (at 1240) the communication signal identifying the contact event, e.g., to an inventory system.
-
FIG. 13 illustrates a top down, sectional view of aspout 1105 inserted into a container in some embodiments. As shown, thespout 1105 includes aflexible cork 1350 and adispensing channel 1340. Thespout 1105 also includes, enclosed in ahard casing 1370, a section ofcork material 1360 bulging through thehard casing 1370 and acontact switch 1325 attached to acircuit board 1335. Whenspout 1105 is inserted into container, pressure is placed on theflexible cork 1350. The pressure on theflexible cork 1350 causes the section ofpressure deforming material 1360 to push through the hole in thehard casing 1370, and press thecontact switch 1325. Similarly, the removal ofspout 1105 fromcontainer 100 removes the pressure from theflexible cork 1350 causing the section ofpressure deforming material 1360 to shrink back through the hole in thehard casing 1370. When the section ofpressure deforming material 1360 shrinks back, it no longer presses thecontact switch 1325. The state of the contact switch 1325 (indicating that the spout is inserted or non-inserted) is captured through thecircuit board 1335 and used to activate various functions within the firmware of thecircuit board 1335. -
FIGS. 14A-14B andFIG. 15 illustrate anaccelerometer 1420 connected to acircuit board 1435 in some embodiments. In some embodiments, the accelerometer is a micro-electromechanical system (MEMS). As shown, thespout 1405 includes afluid flow channel 1440 and anaccelerometer 1420 connected to acircuit board 1435. Theaccelerometer 1420 can be used to detect angles of inclination, time of inclination, and speed and direction ofcontainers FIGS. 14A-14B theaccelerometer 1420 connected to acircuit board 1435 is installed inspout 1405 through which the material is poured from thecontainer 100.FIG. 14A illustrates acircuit board 1435 andaccelerometer 1420 that are aligned perpendicular to thefluid flow channel 1440 through which materials are poured from thecontainer 100.FIG. 14B illustrates acircuit board 1435 andaccelerometer 1420 that are aligned parallel to thefluid flow channel 1440 through which materials are poured from thecontainer 100. -
FIG. 15 illustrates anaccelerometer 1420 that is not part of a spout through which material flows from a container, but is instead attached to acontainer 1500 in some embodiments. Theaccelerometer 1420 can be attached to the inside of thecontainer 1500, as shown in 1510, or attached to the outside of the container, as shown in 1515. Theaccelerometer 1420 andcircuit board 1435 may be enclosed incasing 1525 in some embodiments. -
FIG. 16 illustrates electronic components of some embodiments. As shown, thecircuit board 1605 includes achronometer 1610, atransceiver 1615, anantenna 1620, abattery 1625, acontact switch 1630, athermometer 1635, areprogramming sensor 1640, atilt switch 1645, anaccelerometer 1650, and aprocessor 1655. Thecircuit board 1605 can be a rigid or flexible board, and includes electronic components and electronic traces. Thechronometer 1610 includes date and time information used to coordinate functions of the electronic components and the processor. Thetransceiver 1615 is modulated to a single or range of frequencies to transmit and/or receive data with coordinating devices. Theantenna 1620 is set to an optimal length depending on the specific frequency (or frequencies) used and in some embodiments is etched on the circuit board. Thebattery 1625 can be either a primary or backup power source and can either be disposable or rechargeable. - The
contact switch 1630 can be either physical or magnetic in activation properties and is used as a method to sense the attachment or detachment of the device from a container. Thecontact switch 1630 is also used as a power saving method as it is, in effect, an on/off switch for the device in some embodiments. Thethermometer 1635 measures the temperature of material dispensed from the container for calculating an accurate flow rate. Thereprogramming sensor 1640 receives data from an outside transmission source to reprogram the functions conducted by the various components on thecircuit board 1605. Thetilt switch 1645 is a contact switch using a metal ball and contacts or mercury and contacts that is oriented to a specific plane to the earth's horizon. When thetilt switch 1645 is moved beyond its plane of horizon, the metal ball or mercury touches a contact which sets the switch to active. Thetilt switch 1645 can be used to activate sensor input, as a secondary on/off switch for the entire device, or both. Theaccelerometer 1650 measures speed, direction and angle of the unit in relation to a fixed point in either 2 dimensions (i.e. movement across a table) or 3 dimensions (i.e. movement up, down, left, right, forward, backwards). Theprocessor 1655 of some embodiments includes the onboard memory, firmware program and logic functions. Theprocessor 1655 can be either single cycle (i.e. one processing speed) or multi-cycle (i.e. multiple processing speeds). The slower the processor speed, the more time it takes to calculate/function but the less energy is used. A multi speed processor is used to optimize the performance of the calculations and the power utilization, which is particularly important when the device is used with a battery. - A. Measuring of Angles
-
FIG. 17 illustrates an example of using theaccelerometer 1420 withcircuit board 1435 to record multiple angles of inclination of a container in some embodiments. As shown, theaccelerometer 1420 andcircuit board 1435 are enclosed incasing 1525. InFIG. 17 , theaccelerometer 1420 andcircuit board 1435 are attached to the container or a spout (not shown) such that they are vertically aligned with the container when the container is upright in some embodiments. In some embodiments, theaccelerometer 1420 andcircuit board 1435 are attached such that they are horizontally aligned with the container when the container is upright.FIG. 17 , inportion 1705, shows theaccelerometer 1420 andcircuit board 1435 measuring the angle at 0 degrees attime point 1.FIG. 17 , inportion 1710, shows theaccelerometer 1420 andcircuit beard 1435 measuring the angle at 90 degrees attime point 2.FIG. 17 , inportion 1715, shows theaccelerometer 1420 andcircuit board 1435 measuring the angle at 120 degrees attime point 3. Theaccelerometer 1420 andcircuit board 1435 measure the angle of the container to which they are attached over the finite period of time fromtime point 1 totime point 2 totime point 3. - B. Measuring Speeds and Directions
-
FIG. 18 illustrates anaccelerometer 1420 withcircuit board 1435 that records multiple speeds and directions of a container through a series of motions or movements through a finite period of time in some embodiments. As shown, theaccelerometer 1420 andcircuit board 1435 are enclosed incasing 1525.FIG. 18 , inportion 1805, shows theaccelerometer 1420 andcircuit board 1435 located at position A attime point 1.FIG. 18 , inportion 1810, shows theaccelerometer 1420 andcircuit board 1435 located at position B attime point 2.FIG. 18 , inportion 1815, shows theaccelerometer 1420 andcircuit board 1435 located at positionCat time point 3. Theaccelerometer 1420 andcircuit board 1435 measure the speed and direction of the container (not shown) to which they are attached as it moves from position A to position B to position C over the finite period of time fromtime point 1 totime point 2 totime point 3. - A practical application of measuring speed and direction is the ability to detect if dispensing occurs at one location or occurs at multiple locations. For instance, a bartender at a bar may dispense six ounces of fluid. If the dispensing occurs without a change in direction or speed, it can be deduced that only one container (e.g., a glass) was filled with fluid. However, if a bartender at a bar dispenses six ounces of fluid and speed and motion are detected simultaneously with the dispensing of the fluid, then it can be deduced that the fluid was dispensed over multiple containers (e.g., multiple glasses).
- An accelerometer or multiple accelerometers used in tandem can deduce speed and direction not just in 2 dimensions, but in 3 dimensions. Therefore, speed and direction can be determined for the directions up, down, left, right, forwards and backwards. Given a known starting point and the time of the motion while detecting speed and direction of motion in three dimensions, the ending point of the motion can be determined. For instance, if a bartender takes a bottle from a holder at the front of a bar and that bottle is known to start from the well and the bottle is carried behind the bartender to a shelf, then the bottle will be known to be placed on the shelf as the ending point because the speed, direction and time of travel is known.
- C. Measuring Time of Inclination, Speed and Direction
-
FIG. 19 illustrates anaccelerometer 1420 with acircuit board 1435 that records one or more time intervals in which it detects angles, directions, and speeds in some embodiments. As shown, theaccelerometer 1420 andcircuit board 1435 are enclosed incasing 1525.FIG. 19 inportion 1905, shows theaccelerometer 1420 andcircuit board 1435 located at position A and inclined at angle A attime point 1.FIG. 19 , inportion 1910, shows theaccelerometer 1420 andcircuit board 1435 located at position B and inclined at angle B attime point 2.FIG. 19 , inportion 1915, shows theaccelerometer 1420 andcircuit board 1435 located at position C and inclined at angle C attime point 3. Theaccelerometer 1420 andcircuit board 1435 record the time intervals fromtime point 1 totime point 2 totime point 3, as well as the angle of the container (not shown) and speed and direction of the movement from position A to position B to position C over the same time intervals. - D. Power Saving Methods
- In some embodiments, a method is employed to reduce power consumption by the accelerometer. In some embodiments, the software on a
circuit board 1435 with anaccelerometer 1420 is programmed to reduce the number of cycles or intervals of time in which measurements or readings are taken from theaccelerometer 1420 while theaccelerometer 1420 is not in motion. When motion is detected, the software on thecircuit board 1435 increases the number of cycles or intervals of time in which measurements or readings are taken from theaccelerometer 1420, until theaccelerometer 1420 is no longer in motion. -
FIG. 20 illustrates a method to reduce power consumption by anaccelerometer 1420 in some embodiments. As shown, theaccelerometer 1420 and atilt switch 2015 are attached to acircuit board 1435, and enclosed incasing 1525. In these embodiments, the software controlling thecircuit board 1435 is programmed such that thetilt switch 2015 being within a range of angles around a base angle fully deactivates the accelerometer or reduces the frequency with which measurements or readings are taken from theaccelerometer 1420. The software controlling thecircuit board 1435 is programmed in such a way that thetilt switch 2015 being within a different range of angles fully activates the accelerometer or increases the frequency with which measurements or readings are taken from theaccelerometer 1420. In some embodiments, the range of angles in which thetilt switch 2015 activates or increases the frequency with which measurements or readings are taken from theaccelerometer 1420 is all angles except for the range of angles around the base angle at which thetilt switch 2015 fully deactivates the accelerometer or reduces the frequency with which measurements or readings are taken from theaccelerometer 1420. Inportion 2005,FIG. 20 shows thetilt switch 2015 at a base angle of 0 degrees, and therefore the power to theaccelerometer 1420 is off and no measurements are taken. Inportion 2010,FIG. 20 shows thetilt switch 2015 at an angle 10 sufficiently far from the base angle that the power is supplied to theaccelerometer 1420 and measurements from theaccelerometer 1420 are taken. - In some embodiments, frictional vibrations, detected when material is being dispensed from the container, are used to activate the device. The dispensing of liquids, gels, powders, or solids from a container creates frictional vibrations within the container. Some embodiments with an accelerometer measure the angles, times, speeds and directions of a container dispensing liquids, gels, powders, or solids, and also detects frictional vibrations with the accelerometer. In some embodiments, when an
accelerometer 1420 detects these frictional vibrations, software within thecircuit board 1435 determines and indicates that the vibrations are caused by the liquids, gels, powders, or solids being dispensed. When these vibrations are not sensed by theaccelerometer 1420, software within thecircuit board 1435 determines and indicates that vibrations from liquids, gels, powders, or solids being dispensed are not present. -
FIG. 21 conceptually illustrates aprocess 2100 of some embodiments for saving power of a spout. In some embodiments, theprocess 2100 is performed by a microcontroller of a spout which controls an accelerometer of the spout. The process activates (at 2105) an accelerometer at preset intervals (e.g. 0.5 seconds, though other intervals are used in other embodiments) to check for motion, e.g., vibration or tilting. By activating the accelerometer at relatively infrequent intervals, rather than keeping the accelerometer constantly active, the process saves energy that would be consumed by more frequent checks for motion. - Next, the process determines (at 2110) whether a signal for the accelerometer indicates motion. When the process does not receive a signal from the accelerometer that indicates motion, the process returns to
operation 2105 and keeps testing at the predetermined time intervals. Otherwise, when the process does receive a signal from the accelerometer that indicates motion, the process checks the accelerometer angle to determine whether the angle exceeds a threshold that indicates that material is being poured. Next, the process determines whether the angle does exceed the threshold. When the angle exceeds the threshold, the process proceeds tooperation 2105 which was described above. Otherwise, when the angle does exceed the threshold, the process fully activates (at 2125) the accelerometer and monitors and records the angles of the spout at more frequent intervals (e.g., 0.125 seconds, though other intervals are used by other embodiments). - Next, the process determines (at 2130) whether the material is still being poured. When the material is still being poured, the process returns to
operation 2125 and continues to closely monitor the angle of the spout. Otherwise, when the process determines (at 2130) that the pouring has stopped (e.g., the angle of the spout drops below some threshold angle that in some embodiments is different from the threshold angle of operation 2120) then the process ends. One of ordinary skill in the art will understand that in some embodiments, when the process ends, the process then resumes monitoring for motion (e.g., returns to operation 2105). - E. Temperature Sensing Component
- In some embodiments, a circuit board includes a temperature sensing component that is placed in close proximity to or in direct contact with the liquid, gel, powder, or solid flow channel. Placing the temperature sensing component in close proximity to or in direct contact with flow channel allows the temperature of the material dispensed to be recorded during dispensing. This information, once recorded, is stored and/or transmitted. The temperature is used to more accurately calculate the amount of liquid, gel, powder, or solid dispensed by providing a more accurate flow rate. In these embodiments, software calculates the volume of liquids, gels, powders or solids dispensed as proportional to the length of time the material was dispensed, the angles at which the material was dispensed, and the flow rates. The flow rates are based on the dispensing angles and recorded temperature for the dispensed material.
-
FIG. 22 conceptually illustrates aprocess 2200 of some embodiments by which a spout measures the temperature of material being dispensed from a container along with the pour data to increase the accuracy of the pour data. In some embodiments, the process is performed by a spout. The process generates (at 2205) pour data regarding the dispensing of material from a container as discussed above. The process measures (at 2210) the temperature of the material being dispensed from the container. The process then transmits (at 2215) the pour data and the measured temperature to a computer in some embodiments. In other embodiments, the process transmits the data to an external system. The process then ends. - F. Measuring the Volume of Liquids, Gels, Powders, or Solids Dispensed
- In some embodiments, the accelerometer and other parts of the spout measure the angles, times, speeds and directions of a container that dispenses liquids, gels, powders, or solids for which the flow rate of the dispensed material at a given angle is known. In these embodiments, software calculates the volume of liquid, gels, powders, or solids dispensed as a function of the length of time the material was dispensed, the angles at which the material was dispensed, and the flow rates at those angles for the dispensed material.
- In the measuring of the dispensing of liquids, gels, powders, or solids, the material to be dispensed will be known, whether the materials are liquids like pure water, vodka, or a sulfuric acid solution, a silicon based gel, or talcum powder, etc. The specific dispensing rate for a baseline material, such as pure water, for any specific container that is monitored will also be known. In some embodiments, the dispensing rate is determined by a removable and specifically designed mechanical dispenser with a fixed and known diameter for pouring and specific pour characteristics. In other embodiments, the specific dispensing rate is determined by direct measurements of the opening of a container with a spout and/or by trial dispensing with a baseline material, such as pure water, in order to determine the dispensing rate. When the dispensing rate is determined through trial dispensing of a baseline material, the trials and measurements are performed at multiple angles, since the angle of dispensing affects flow rates.
-
FIG. 23A shows a series of dispensed volumes for the baseline material are recorded over a known sequence of time for a fixed angle.FIG. 23B shows a composite of the various angles are combined to create the dispensing rate slope.FIG. 23C shows slopes created for various materials compared to the baseline material based on the material viscosity for fluids and gels or the density for powders and solids. In some embodiments, the baseline material may be more viscous and/or denser than some or all of the materials dispensed. In some embodiments, the baseline material may be less viscous and/or less dense than some or all of the materials dispensed. - The following are mathematical formulas for determining the volume of material dispensed using this principle. Determining the volume over a time sequence at a fixed angle is expressed by the following equation (A).
-
V 1 =DR 1 *t 1[Angle1] (A) - Where, V1 is the volume dispensed for a given amount of time (t1) and DR1 equals the dispensing rate (volume/time), for a particular angle (Angle1).
- Determining the volume over a time sequence at a various angles is expressed by the following equation (B).
-
V=ΣV x=Σ(DR x *t x[Anglex]) (B) - Where, Vx is the volume dispensed for a given amount of time (tx) with a varying number of angles (Anglex) and the corresponding dispensing rate (DRx) for each given angle in the series.
- Determining the volume over a sequence of time using angular average is expressed by the following equation (C).
-
V=DR 1 *t 1[Average of Anglex] (C) - Where, V is the volume dispensed for a given amount of time (t1) by multiplying time by the dispensing rate (DR1) for the average of the sum of angles for an angular series recorded over that time period (Average of Anglex).
- G. Offset Compensator to Adjust for Dispensing Momentum from a Non-Dispensing State to a Dispensing State
- When a container begins to pour out a material, the material rushes from the base of the container to the mouth of the container. That is, when a container with liquid, gels, powders, or solids, first achieves enough inversion of angle to use gravity to dispense material the material usually has the additional acceleration from its fall from the base of the container. The acceleration of material can cause a degree of inaccuracy in predicting the amount of material dispensed as per the calculations described above. In some circumstances, the calculated volume dispensed is multiplied by an offset number, greater than one if increasing the volume, less than one if decreasing the volume, or one to leave the volume the same, to compensate for the acceleration of material in the initial physical action of dispensing material. In effect, this changes the intercept of the pouring slope. This is accomplished through a simple formula: Volume×Offset.
- H. Time, Angle and Volume Measurement Process
-
FIG. 24 conceptually illustrates aprocess 2400 of some embodiments for measuring a volume of material dispensed by tracking the angle of the container during the dispensing. The process determines (at 2405) whether a spout has been inserted into a container. When the spout has not been inserted into a container, the process ends. Otherwise, when the spout has been inserted into the container, the process measures (at 2410) the angle of the spout (or in some embodiments, the angle of the container). Next the process determines (at 2415) whether the current angle does not exceed a first threshold angle (e.g., an angle at which the material in the container begins to pour). When the current angle does not exceed the first threshold, the process returns tooperation 2410. Otherwise, the process tracks (at 2425) the angle of the spout for a predetermined time interval. After that time interval, when the process determines (at 2425) that the current angle of the spout is greater than a second threshold angle (e.g., determines that the material is still being poured) then the process returns tooperation 2420. Otherwise, when the process determines that the current angle of the spout is less than a second threshold angle (e.g., determines that the material is no longer being poured), then the process uses (at 2430) the tracked angles over the time intervals to determine the volume poured and the process ends. A more detailed description of the process that some embodiments use to determine pour volume is illustrated inFIG. 25 . -
FIGS. 25A-25B conceptually illustrate a process of some embodiments for measuring pour volumes. Specifically,FIGS. 25A-25B show a time-angle-volume measurement process used by the spout of some embodiments to measure the duration of periods when material is being dispensed, the angle of inclination during these periods, and the calculation of volume dispensed from a monitored container in some embodiments. - The
process 2500 is triggered by the activation of an insertion detector (e.g., a hardware power connection switch) on the spout. In some embodiments, the insertion detector may be a magnetic sensor or physical contact switch as described above. In some embodiments, measurements and other actions in the process are controlled by an internal processor of the spout. In other embodiments, an external processor may control the process. Operations 2502-2508 collectively determine whether the spout has been put on a container. The process receives an insertion detector signal (at 2502), e.g., a hardware interrupt that indicates that the spout has been placed in a container for pouring. The process checks (at 2504) the status of the detector. The process determines (at 2506) whether the detector continues to indicate that the spout is on the container (e.g., whether the detector was incidentally activated, such as by some accidental contact or whether the spout has been put on a container). When the detector does not continue to indicate that the spout is on the container, the process recognizes (at 2508) that the spout has not been inserted into a container and ends. - Otherwise, when the detector does continue to indicate that the spout is on the container, then the
process 2500 measures (at 2510) a baseline angle of an angle monitor (e.g., an accelerometer used to measure the angle of inclination of the spout) in the spout. In some embodiments, the baseline is the angle of the angle monitor when the container is upright. The process waits (at 2512) for a predetermined period of time (e.g., 0.125 seconds, though other embodiments use other time intervals), and measures (at 2513) the current angle of the angle monitor. The process determines (at 2514) the difference between the baseline angle and the current angle. Next the process compares (at 2516) the angular difference to a threshold value. When the angular difference does not exceed the threshold value, the process returns tooperation 2512, which was described above. - Otherwise, when the angular difference exceeds the threshold value, the container is (at 2518) in a pouring state. Operations 2518-2574 are illustrated in
FIG. 25B . The process sets (at 2518) a variable p_state to 1. The process also sets (at 2518) each of the following variables to zero: 1) a pouring variable P1, 2) a non-pouring variable NP1, 3) a first-time-period variable t1, and 4) all values of a multi-value angle variable A1 (e.g., an indexed variable, list, or other data structure) representing the angle of the pour at multiple times. - Operations 2518-2532, 2540, and 2542 collectively determine whether the container was only at a pouring angle for a brief moment, or is actually pouring, e.g., whether the bottle was merely jostled or is being held in a pouring position. The process waits (at 2520) for a predetermined amount of time, in some embodiments 0.125 seconds. In other embodiments the process waits for different amounts of time. After waiting, the process increments (at 2522) the index of the angle variable A1 by 1, stores the current angular measurement at the new index location of angle variable A1, and increments (at 2524) the time variable by 1. The process then takes (at 2526) a new angular measurement.
- The process determines (at 2528) whether the container is still pouring, e.g., whether the angular difference between the new angular measurement and the baseline measurement is less than the threshold angle. When the angular difference is less than the threshold value, the process increments (at 2530) the non-pour value NP1 by 1 and sets the pour variable P1 to 0. These settings for the variables indicate that, as of the new angular measurement, the container was not pouring. The process then determines (at 2532) whether the non-pour variable NP1 equals a preset number (for convenience, the
number 3 is used as an example here and inFIG. 25B , however other embodiments use other numbers), indicating that for all three of the previous three predetermined time periods the container has not been at an angle which would result in pouring. When the container has been non-pouring for less than three of the predetermined time periods, the process'returns to 2520 to repeat the operations that check whether the container is pouring. - When the process determines (at 2532) that the container has been non-pouring for the previous three predetermined time periods, then the detection (back at 2516) of an angular difference exceeding the threshold angle is treated as a false pour detection signal. In some embodiments, three predetermined periods of time are a short enough time to allow only a negligible amount of material to be dispensed from the container. Otherwise, when the process detects (at 2532) a false pour, the process clears (at 2534) the pour interrupt flag and enables all the interrupts. The process then ends. One of ordinary skill in the art will understand that in some embodiments, when the process ends, the process then restarts from the beginning (at 2505) and again determines whether the spout is on a container.
- When the process determines (at 2528) that material is still being dispensed it increments (at 2540) the pour variable P1 by 1 and sets the non-pour variable NP1 to 0. These settings for the variables indicate that, as of the new angular measurement, the container was pouring. The process then determines (at 2542) whether the pour variable P1 equals a preset number (for convenience, the
number 3 is used as an example here and inFIG. 25B , however other embodiments use other numbers), indicating that for all three of the previous three predetermined time periods the container has been at an angle which would result in pouring. When the process determines (at 2542) that the container has been pouring for less than three of the predetermined time periods, the process returns to step 2520 to repeat the operations that check whether the container is pouring. - Otherwise, when the process determines (at 2542) that the container has been pouring for the previous three predetermined time periods, then the detection (back at 2516) of an angular difference exceeding the threshold angle is treated as a true pour detection signal. The validity of the pour detection signal is confirmed, and the container is confirmed as dispensing material because the angular difference between the baseline angle and the current angle remained beyond the threshold for longer than three of the predetermined time periods. The time period t1 measured until now represents the duration of the pour and all angular measurements A1 represent the angles during the time duration period t1 .
- The process sets (at 2544) a variable p_state to 2. The process also sets (at 2544) each of the following variables to zero: 1) a non-pouring variable NP1, 2) a second-time-period variable t2, and 3) all values of a multi-value angle variable A2 (e.g., an indexed variable, list, or other data structure) representing the angle of the pour at multiple times. The process then waits (at 2546) for a predetermined time interval then takes (at 2548) an angular measurement and increments (at 2550) t2 by 1, increments (at 2552) the index of angle variable A2 by 1 and stores the angular measurement in the new index location of angle variable A2. The process compares (at 2554) the total time of the pour to a maximum time value. When the process determines (at 2554) that the maximum value is exceeded, the process determines that the dispensing exceeded a reasonable period of time and the value for the amount poured should be discarded. The process transmits (at 2556) a maximum value flag through a transceiver, clears (at 2558) all interrupts, and ends. One of ordinary skill in the art will understand that in some embodiments, when the process ends, the process then restarts from the beginning (at 2505) and again determines whether the spout is on a container.
- Otherwise, when the process determines (at 2554) that the total time of the pour does not exceed its maximum value, it determines (at 2560) whether it is still pouring/dispensing material. When the container is determined (at 2560) to be still pouring, then the process sets (at 2562) the non-pour variable NP2 to 0, and then returns to
operation 2546, which was described above. Otherwise, when the container is determined (at 2560) not to be pouring, then the process increments (at 2564) the non-pour variable NP2 by 1. The process then determines (at 2566) whether the non-pour variable equals a preset number (for convenience, thenumber 3 is used as an example here and inFIG. 25B , however other embodiments use other numbers) and thus whether the pouring has been stopped for three consecutive predetermined time periods. When the process determines (at 2566) that the non-pour variable does not equal the preset number, the process returns tooperation 2546, which was described above. - Operations 2568-2574 collectively calculate the volume of the pour. When the process determines (at 2566) that the pouring is complete, the process adds (at 2568) the first and second time periods t1 and t2. The process also averages (at 2570) the first and second sets of angle values A1 and A2. The process then calculates (at 2572) the pour volume based on the time interval, average of the angles of pour and the baseline dispensing rates for the substance being poured from the container and any necessary offset numbers (to account for other factors, e.g., temperature, viscosity, etc). In the embodiment illustrated in
FIG. 25A-25B , the pour volume is calculated based on the average of the angles during the pouring time. However, in some embodiments, the pour volume is calculated by applying a pour rate algorithm, which relates the angle of the spout to the rate at which the material pours, to each angle value of A1 and A2 individually and adding the amounts determined by the algorithm for each angle, rather than averaging the angles first and applying a formula that uses the average angle. - The process then sends (at 2574) the pour information via a signal from the transceiver. In some embodiments, this pour signal includes the volume value, transmission sequence number, unique device identifying number (serial number) and any additional relevant sensor data including time, date, temperature, and humidity. After transmission, the process clears all interrupts and then enables them again (at 2558). The process then ends. One of ordinary skill in the art will understand that in some embodiments, when the process ends, the process then restarts from the beginning (at 2505) and again determines whether the spout is on a container.
- I. Software Based Adjustments to Volume Transmissions Based on Sensor Data
-
FIG. 1 illustrates a spout working as part of a system in whichcomputing devices -
FIG. 26 conceptually illustrates a process of some embodiments by which a computer application is configured and processes data from a spout. The process receives (at 2610) the spout's unique serial number into a computer application either through manual or automatic number entry. The process receives (at 2612) a selection of a material, from a list of materials provided by the application and associates that material with the serial number. In some embodiments, materials on the list are each associated with viscosity and density modifiers. In some embodiments, the viscosity and density modifiers are correlated with secondary information such as temperature ranges, humidity ranges, pressure ranges, solution concentration ranges, etc. In some such embodiments, the process retrieves (at 2614) the modifiers for the selected material. - The process receives (at 2616) data (e.g., the serial number) at the application from the spout (e.g., from a transceiver of the spout to one or many computers running the application). The process examines (at 2618) the incoming data for redundancies. In some embodiments the examination is by the application while it runs on one or more computers. When a redundancy is detected (at 2620), such as when the same spout sends the same data multiple times, the redundant data is discarded (at 2622) and the process ends. Otherwise, when a redundancy is not detected (at 2620), the process checks (at 2623) the data for errors. When an error is detected (at 2624) then the data is written (at 2626) to an error file and the process ends. Otherwise, when an error is not detected (at 2624) then the application checks (at 2628) the serial number in the data and looks up the material assigned to the serial number based on the data/time stamp of the data.
- When the process determines (at 2630) that no assignment has been made or that the assignment is the same material as the baseline material, the original volume is written (at 2632) to the database, a database flag is set (also at 2632) to indicate that no data modification took place and the process ends. Otherwise, when the process determines (at 2630) that an assignment has been made (of a material to the serial number), the process selects (at 2634) a material modifier based on the associated data from the device such as temperature, humidity, etc. and applies (also at 2634) the modifier to the baseline material volume data. The new volume data is written (at 2636) to the database and the process ends.
- V. Reprogramming a Spout through an Infrared or Magnetic Sensor
- A fully assembled and functioning spout can have a change made to its firmware programming, dispensing rate calculation methods and factors without having to physically open the spout.
-
FIG. 27 illustrates asensor 2715 attached to acircuit board 2735 located on a spout in some embodiments. Examples ofsensor 2715 are magnetic sensors and infrared sensors. Various components on thecircuit board 2735, such as anaccelerometer 2720, are controlled by software that operates on the circuit board. In some embodiments, the software is changed or reprogrammed through thesensor 2715. In some embodiments, thecircuit board 2735 that includes thesensor 2715 is constantly active. In some embodiments, thecircuit board 2735 is activated by asensor 2715, is periodically activated, or is activated by a transmission that includes a coded signal. In some embodiments, a sensor that measures vibrations or acceleration on thecircuit board 2735, such as theaccelerometer 2720, recognizes a specific pattern of vibrations in order to activate thesensor 2715. - An
outside transmission source 2730 is used to transmit modulated patterns which activate and can change the firmware/software on thecircuit board 2735. In some embodiments, the outside transmission source transmits using infrared or magnetic signals. Data from theoutside communication device 2730 is transmitted to the activatedsensor 2715 on thecircuit board 2735. -
FIG. 30 conceptually illustrates alogical process 3000 by which a spout receives new programming in some embodiments. The process (at 3005) detects certain physical manipulations of the spout, such as the spout being shaken or the spout's pressure contact switch being pressed in rapid succession. In some embodiments, the spout must continue to be manipulated for some period of time until the action is recognized by a firmware bootloader as a request by the spout to update the spout's firmware. In other embodiments, where the spout has bidirectional communication capabilities, a firmware update can be initiated through a transmission by a communication device or transceiver of a firmware change request. - The process determines (at 3010) whether the spout has sent a reboot command. When the spout's reboot command is not recognized (at 3010) then the process ends. When the spout's reboot command is recognized (at 3010) then the process activates (at 3015) a countdown timer of the spout and stops all other activities of the spout, such as dispensing materials, etc. These activities remain stopped while the process listens (at 3020) for reboot instructions to be received at the spout for the duration of the countdown. In some embodiments, the reboot instructions are received from the central computer system. In other embodiments, the reboot instructions are received from a handheld device, or from some other computer system.
- When reboot instruction are not received (at 3025) by the spout during the countdown, the process sends (at 3030) a communication of a reboot failure from the spout and the spout goes back to its previous state of activation, and the process ends. When reboot instructions are received (at 3025) by the spout during the countdown, the process checks (at 3035) the countdown timer. When the countdown timer has expired before the spout receives the reboot instructions, the process sends (at 3030), from the spout, a communication of a reboot failure, the spout goes back to its previous state of activation, and the process ends. When the countdown timer has not expired (at 3035) before the spout receives the reboot instructions, the process sends (at 3040) a communication from the spout that the reboot instructions have been received. The process executes (at 3045), at the spout's processor, the firmware update instructions. If the instructions are not successfully executed (at 3050), the process sends (at 3030), from the spout, a communication of a reboot failure and the process ends. When the instructions are successfully executed (at 3050), the process sends (at 3055) a communication from the spout that the update was successful and the process ends.
- VI. Sonar Method to Measure the Dispensing of Materials from Containers
-
FIG. 28 illustrates adevice 2805 that can be attached to the inside of a container (not shown) containing liquids, gels, powders, or solids in some embodiments. As shown, thedevice 2805 includes anaudio amplifier 2813 and amicrophone 2810 connected to acircuit board 2835.FIG. 29 illustrates thedevice 2805 attached to the inside of acontainer 2900 containing liquids, gels, powders, or solids in various embodiments. A sound pulse at a set frequency is transmitted by theaudio amplifier 2813 into the container of liquids, gels, powders, or solids. In some embodiments, the frequency is inaudible to human ears. In other embodiments, the volume is undetectable by human ears. - In some embodiments, the fact that a pour has occurred is determined by the
device 2805. When liquids, gels, powders, or solids are poured through a flow channel in thecontainer 2900, the sound pulse is distorted by the motions and a sensor, such as themicrophone 2810, notes the changes in its measurements. In other embodiments, the fact that a pour has occurred is determined by a motion sensing component such as an accelerometer or tilt switch. In some embodiments, theaudio amplifier 2813 andmicrophone 2810 are combined on acircuit board 2835 with a sensor to measure tilt or angle of inclination or the presence of material in the dispensing channel of thecontainer 2900. - Some embodiments determine the remaining volume using sound pulses reflected from the top of the container. As shown in
portion 2920 inFIG. 29 , theaudio amplifier 2813 transmits sound pulses into thecontainer 2900. As shown inportion 2925, themicrophone 2810 can sense the echo of the transmitted pulse off the other end of thecontainer 2900. Sound travels at different speeds through different materials, so the amount of material in thecontainer 2900 can be calculated based on the elapsed time from the initiation of the pulse to the receipt of the pulse. - When the sensor detects a change in tilt or angle of inclination or the presence of material in the dispensing channel of the
container 2900 and a return to a non-inclined or non-motion state then theaudio amplifier 2813 sends a sound pulse, the reflections of which are received by themicrophone 2810, which measures the amount of material remaining in thecontainer 2900. Successive measurements allow for the determination of the depletion of liquid, gel, powder, or solid with each physical change/movement of thecontainer 2900. As shown inportion 2930, the level of material in the container has dropped from 2925. This change is determined by the difference in the time a pulse takes to return to themicrophone 2810 through the material and through the air above the material. - In other embodiments, the sound pulse from the
audio amplifier 2813 reflects off the interface between the liquid and the air. The device measures the time betweenaudio amplifier 2813 sending the initial sound pulse and the time that the sound reflected from the interface takes to reach themicrophone 2810. Given a value for the speed of sound in the particular liquid, the sensor can determine the height of the liquid in the container. If the cross sectional area of the container at all heights is known, the volume remaining in the container can be determined as a function of the height of the remaining liquid. Based on the measurements of the reflected pulse, the volume of liquids, gels, powders, and solids dispensed can be calculated and stored on thecircuit board 2835 or transmitted from thecircuit board 2835. The inventory tracking computers of some embodiments, and internal processors on thecircuit board 2835 of the device in other embodiments, determine the volume dispensed from a pour by subtracting the volume after the pour from the volume before the pour. Theaudio amplifier 2813 andmicrophone 2810 can also determine when there is no longer a presence of liquids, gels, powders, or solids. -
FIGS. 31A-31B illustrate aspout 3105 of some embodiments that uses aphysical resistance sensor 3115 to calculate the amount of material, such as a liquid, gel, powder, or solid, dispensed from a container 3100. As shown inFIG. 31A , aspout 3105 on a container 3100 includes aphysical resistance sensor 3115 in adispensing channel 3140 attached to acircuit board 3135. Thephysical resistance sensor 3115 includes a physical plane or material that is oblique in angle to the dispensing channel in which the liquid, gel, powder, or solid flows out of the container 3100. The material, when being dispensed, presses against thephysical resistance sensor 3115.FIG. 31A , insection 3120, shows, the dispensingchannel 3140 withphysical resistance sensor 3115 when no material is flowing through the dispensingchannel 3140 in some embodiments.FIG. 31A , insection 3125, shows container 3100 has been tilted such that material is flowing out through the dispensingchannel 3140, and thephysical resistance sensor 3115 is in an active state measuring the force placed on it by the material. The physical plane of material will have resistive properties that are known and measurable so that the amount of force exerted on the physical plane can be used to determine the flow rate of liquid, gel, powder, or solid through the dispensingchannel 3140. The amount of pressure and the time of the pressure are determined by thephysical resistance sensor 3115. The sensor information is combined with the known dimensions of the dispensingchannel 3140 such that the flow rate of liquid, gel, powder, or solid is determined. -
FIG. 31B illustrates how the flow of material through a dispensingchannel 3140 puts force on aphysical resistance sensor 3115 and in turn indicates flow rate in some embodiments. As shown, when no material is dispensed (at 3160), thesensor 3115 is at full resistance. When the full flow of material passes (at 3170) through thechannel 3140, thesensor 3115 is at zero resistance. Any flow between no flow and full flow creates (at 3165) partial resistance for thesensor 3115. By calibrating the resistance to various materials, the flow rate of the material can be determined. - There are several methods of engineering to minimize the overall physical size of any device. Two techniques include the use of flexible electronic circuit boards and the stacking of batteries above or below the plane of an electronic circuit board to reduce overall physical space requirements.
- A. Flexible Circuit Boards to Minimize Mechanical Design Size
-
FIGS. 32A-32D illustrate flexible electronics boards that are used in conjunction with a plastic holder and holding clips to allow for the smallest possible enclosures to house the electronics in some embodiments. Minimizing the size of the units enhances the overall mechanical engineering of pour detection devices.FIG. 32A illustrates a traditional, non-flexible electronics circuit board which allows for electronics to be mounted on a single plane in some embodiments.FIG. 32B illustrates a simple use of a flexible electronics circuit board (flex board) that can orient electronics on more than one plane in some embodiments.FIG. 32C illustrates how a flexible electronics circuit board (flex board) can be “wrapped” onto a rigid plastic holder to provide a stable platform for the placement and manufacturing of the electronics boards into solid casings in some embodiments. In some embodiments, the circuit board can be held in place through chemical bonding, frictional holds or other holding methods.FIG. 32D illustrates how a flexible electronics circuit board (flex board) can be “wrapped” onto a rigid plastic holder and a supplemental compression holding clip can be used to hold the circuit board onto the plastic holder in some embodiments. In some embodiments, the plastic holder itself can have prong and slot structures that provide the compression to hold the flexible circuit board to the plastic holder. - B. Battery Holder to Minimize Physical Space
-
FIGS. 33A-33B illustrate a battery stacked above or below the plane of a circuit board in order to reduce the overall footprint of the devices of some embodiments.FIG. 33A illustrates, in a top down view, how a battery placed on a holding and/or contact bracket can be used to place a battery to power a circuit board above or underneath the circuit board it is to power in some embodiments.FIG. 33B illustrates, in a side view, the same use of a battery orientated in the same general plane of a circuit board or slightly pitched in angular orientation depending on the design requirements of the mechanical engineering in some embodiments. -
FIG. 34 illustrates acomputer system 3400 with which some embodiments are implemented. Such a computer system includes various types of computer readable mediums and interfaces for various other types of computer readable mediums.Computer system 3400 includes abus 3405, aprocessor 3410, asystem memory 3415, a read-only memory (ROM) 3420, apermanent storage device 3425,input devices 3430, andoutput devices 3435. The components of thecomputer system 3400 are electronic devices that automatically perform operations based on digital and/or analog input signals. - One of ordinary skill in the art will recognize that the
computer system 3400 may be embodied in other specific forms without deviating from the spirit of the invention. For instance, the computer system may be implemented using various specific devices either alone or in combination. For example, a cellular phone may include the input andoutput devices network connection 3440. - The
bus 3405 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of thecomputer system 3400. For instance, thebus 3405 communicatively connects theprocessor 3410 with the read-only memory 3420, thesystem memory 3415, and thepermanent storage device 3425. From these various memory units, theprocessor 3410 retrieves instructions to execute and data to process in order to execute the processes of the invention. In some cases, thebus 3405 may include wireless and/or optical communication pathways in addition to or in place of wired connections. For example, the input and/or output devices may be coupled to the system using a wireless local area network (W-LAN) connection, Bluetooth®, or some other wireless connection protocol or system. - The read-only-memory (ROM) 3420 stores static data and instructions that are needed by the
processor 3410 and other modules of the computer system. Thepermanent storage device 3425, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when thecomputer system 3400 is off. Some embodiments use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as thepermanent storage device 3425. - Other embodiments use a removable storage device (such as a floppy disk, flash drive, or CD-ROM) as the permanent storage device. Like the
permanent storage device 3425, thesystem memory 3415 is a read-and-write memory device. However, unlikestorage device 3425, the system memory is a volatile read-and-write memory, such as a random access memory (RAM). The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the sets of instructions used to implement invention's processes are stored in thesystem memory 3415, thepermanent storage device 3425, and/or the read-only memory 3420. - The
bus 3405 also connects to the input andoutput devices input devices 3430 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). Theinput devices 3430 also include audio input devices (e.g., microphones, MIDI musical instruments, etc.) and video input devices (e.g., video cameras, still cameras, optical scanning devices, etc.). Theoutput devices 3435 include printers, electronic display devices that display still or moving images, and electronic audio devices that play audio generated by the computer system. For instance, these display devices may display a graphical user interface (GUI). The display devices include devices such as cathode ray tubes (CRT), liquid crystal displays (LCD), plasma display panels (PDP), surface-conduction electron-emitter displays (SED), etc. The audio devices include a PC's sound card and speakers, a speaker on a cellular phone, a Bluetooth® earpiece, etc. Some or all of these output devices may be wirelessly or optically connected to thecomputer system 3400. - Finally, as shown in
FIG. 34 ,bus 3405 also couplescomputer 3400 to anetwork 3440 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the internet. For example, thecomputer 3400 may be coupled to a web server (network 3440) so that a web browser executing on thecomputer 3400 can interact with the web server as a user interacts with a GUI that operates in the web browser. - As mentioned above, the
computer system 3400 may include one or more of a variety of different computer-readable media (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable blu-ray discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processor and includes sets of instructions for performing various operations. - As used in this specification and any claims of this application, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For example as used in this application “server” is a machine, not a human being who serves some function. For the purposes of this specification, the terms display or displaying mean displaying on an electronic device.
- As used in this specification and any claims of this application, the terms “computer readable medium” and “computer readable media” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.
- It should be recognized by one of ordinary skill in the art that any or all of the components of
computer system 3400 may be used in conjunction with the invention. Moreover, one of ordinary skill in the art will appreciate that any other system configuration may also be used in conjunction with the invention or components of the invention. - Though the specification describes various components that work together as being in one or another place on the described devices, one of ordinary skill in the art will realize that in some embodiments, the positions are reversed. For example, the illustrated embodiments of the sliding stems show the magnet on the sliding component and the magnetic sensor and circuit board on the stationary component. However, in some embodiments, the magnet is on the stationary component and the magnetic sensor and circuit board are on the sliding component.
- While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. For example, the monitoring devices shown in this application could include features of the devices described in the concurrently-filed application having attorney docket number CPTN.P0009, which is incorporated herein by reference. Furthermore, some embodiments of the processes conceptually illustrated herein may omit certain operations, combine certain operations, or perform certain operations in a different order than the order shown in the figures.
- Furthermore, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.
Claims (35)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/688,839 US8608026B1 (en) | 2008-03-23 | 2010-01-15 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
US14/099,865 US9476902B2 (en) | 2008-03-23 | 2013-12-06 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3876708P | 2008-03-23 | 2008-03-23 | |
US3876508P | 2008-03-23 | 2008-03-23 | |
US38346209A | 2009-03-23 | 2009-03-23 | |
US27411009P | 2009-03-23 | 2009-03-23 | |
US12/688,839 US8608026B1 (en) | 2008-03-23 | 2010-01-15 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US38346209A Continuation | 2008-03-23 | 2009-03-23 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/099,865 Continuation US9476902B2 (en) | 2008-03-23 | 2013-12-06 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
Publications (2)
Publication Number | Publication Date |
---|---|
US8608026B1 US8608026B1 (en) | 2013-12-17 |
US20140001204A1 true US20140001204A1 (en) | 2014-01-02 |
Family
ID=49725626
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/688,839 Active 2030-12-10 US8608026B1 (en) | 2008-03-23 | 2010-01-15 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
US14/099,865 Active US9476902B2 (en) | 2008-03-23 | 2013-12-06 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/099,865 Active US9476902B2 (en) | 2008-03-23 | 2013-12-06 | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer |
Country Status (1)
Country | Link |
---|---|
US (2) | US8608026B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150193844A1 (en) * | 2013-12-19 | 2015-07-09 | Twin Harbor Labs, LLC | Alerting Servers Using Vibrational Signals |
US9434597B2 (en) * | 2013-03-13 | 2016-09-06 | Capton, Inc. | Spout apparatus, systems and methods |
US20210394363A1 (en) * | 2018-10-12 | 2021-12-23 | Sony Corporation | Injection apparatus, injection method, and injection program |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090277931A1 (en) | 2008-05-08 | 2009-11-12 | Achim Philipp Zapp | Wireless spout and system for free-and pre-measured dispensing |
US8961781B2 (en) * | 2011-09-29 | 2015-02-24 | Brita Lp | Filter status techniques adapted for use with a container based filtration device |
CA2861219C (en) * | 2012-01-19 | 2019-03-26 | Nike Innovate C.V. | Power management in an activity monitoring device |
US10329061B2 (en) | 2013-11-07 | 2019-06-25 | Thermos L.L.C. | System and methods for managing a container or its contents |
US20160275576A1 (en) * | 2013-12-19 | 2016-09-22 | Twin Harbor Labs, LLC | System and Method for Alerting Servers Using Vibrational Signals |
US10617805B2 (en) | 2014-03-20 | 2020-04-14 | Exploramed Nc7, Inc. | Fluid measuring reservoir for breast pumps |
US9718665B2 (en) | 2014-03-19 | 2017-08-01 | Creative Beverage Solutions, Llc. | Pour spout signaling apparatus |
US10557737B2 (en) | 2014-07-07 | 2020-02-11 | Board Of Trustees Of Michigan State University | System and methods for a smart water bottle converter |
US10378944B2 (en) * | 2015-04-02 | 2019-08-13 | Lin Sun | Water intake tracker for a container |
EP4039287A1 (en) * | 2015-04-08 | 2022-08-10 | Willow Innovations, Inc. | Fluid measuring reservoir for breast pumps |
WO2016183394A1 (en) | 2015-05-12 | 2016-11-17 | Ajaelo Ikem C | Electronic drop dispensing device and method of operation thereof |
GB2538501A (en) * | 2015-05-18 | 2016-11-23 | Rosemount Measurement Ltd | Improvements in or relating to level switches |
JP6852673B2 (en) * | 2015-09-09 | 2021-03-31 | ソニー株式会社 | Sensor device, sensor system and information processing device |
US9677923B1 (en) * | 2016-05-23 | 2017-06-13 | Thirsti Ltd | Universal device for monitoring and reporting fluid consumption and method using same |
US20180201493A1 (en) * | 2017-01-19 | 2018-07-19 | Absolute Minds LLC | Electronic Pourer For Inventory Management |
US10480503B2 (en) | 2017-09-29 | 2019-11-19 | Midea Group Co., Ltd. | Portable foodstuff container |
US11926493B2 (en) | 2019-07-26 | 2024-03-12 | International Business Machines Corporation | Moving product using self-stabilizing platform assembly |
US11181380B2 (en) | 2019-07-26 | 2021-11-23 | International Business Machines Corporation | Self-stabilizing platform assemblies |
CN118324562B (en) * | 2024-06-13 | 2024-09-03 | 江门市澳保生物科技有限公司 | Fish pond fish manure fermentation device and fermentation method thereof |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3170597A (en) | 1962-02-12 | 1965-02-23 | Arthur M Reichenberger | Materials dispenser and recording means |
US3920149A (en) | 1973-11-23 | 1975-11-18 | Frank J Fortino | Beverage dispensing apparatus and method |
US4278186A (en) | 1978-09-08 | 1981-07-14 | Williamson Robert D | Method and apparatus for beverage dispensing control and quantity monitoring |
US4327784A (en) * | 1980-06-09 | 1982-05-04 | Rockwell International Corporation | Apparatus for refueling an aircraft from a ship at sea |
US4433795A (en) | 1981-07-31 | 1984-02-28 | Romaine R. Maiefski | Liquid metering and dispensing system |
US4736871A (en) * | 1986-11-19 | 1988-04-12 | Luciani Dorian E | Liquid measuring dispenser |
US5051920A (en) | 1989-08-04 | 1991-09-24 | Accurate Metering Systems, Inc. | Flow-meter data collection and processing system |
US5044521A (en) | 1990-02-09 | 1991-09-03 | Arganius Peckels | Volumetrically controlled drink dispenser |
US5505349A (en) | 1990-02-09 | 1996-04-09 | Berg Company, A Division Of Dec International, Inc. | Electronic dispensing heads |
US5291004A (en) | 1991-01-25 | 1994-03-01 | Michael S. Frank | Card-controlled beverage distribution system |
US5279481A (en) * | 1992-08-25 | 1994-01-18 | Air Tractor Inc. | Airborne liquid-spreading system |
US5318197A (en) * | 1992-10-22 | 1994-06-07 | Automatic Bar Controls | Method and apparatus for control and monitoring of beverage dispensing |
US5603430A (en) * | 1995-02-10 | 1997-02-18 | Dec International, Inc. | Beverage dispensing system with bottle identification mechanism |
US6036055A (en) | 1996-11-12 | 2000-03-14 | Barmate Corporation | Wireless liquid portion and inventory control system |
US6606602B1 (en) | 1998-07-20 | 2003-08-12 | Usa Technologies, Inc. | Vending machine control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions |
US6718311B1 (en) | 1998-11-16 | 2004-04-06 | Sprint Enterprises Inc. | Variance alerting dispenser system and variance detector apparatus and method |
US6669051B1 (en) | 1999-11-09 | 2003-12-30 | Niagara Pump Corporation | High speed beverage dispensing method and apparatus |
US7750817B2 (en) | 1999-12-10 | 2010-07-06 | Beverage Metrics Holding Ltd | System and method using a scale for monitoring the dispensing of a beverage |
US6504481B2 (en) | 1999-12-10 | 2003-01-07 | David M. Teller | Service transaction monitoring system, method, and device |
US6354468B1 (en) * | 2000-10-18 | 2002-03-12 | Dec International, Inc. | Beverage dispenser transponder identification system |
AU2002250257A1 (en) | 2001-03-09 | 2002-09-24 | Vitallink Business Systems, Inc. | Method, apparatus, and system for monitoring amount of liquid poured from liquid containers |
US7224273B2 (en) | 2002-05-23 | 2007-05-29 | Forster Ian J | Device and method for identifying a container |
US20080195251A1 (en) | 2004-08-25 | 2008-08-14 | Andrew Milner | Beverage Control System |
US7321833B2 (en) | 2004-10-13 | 2008-01-22 | Emerson Electric Co. | Fluid flow rate sensor |
US7333899B2 (en) | 2004-10-13 | 2008-02-19 | Therm-O-Disc, Incorporated | Fluid flow rate sensor and method of operation |
US20070214055A1 (en) | 2006-03-04 | 2007-09-13 | Seth Temko | System for beverage dispensing and sales tracking |
US20070205203A1 (en) | 2006-03-04 | 2007-09-06 | Seth Temko | Method, apparatus, and system for monitoring amount of liquid poured from liquid containers |
US20070208541A1 (en) | 2006-03-04 | 2007-09-06 | Seth Temko | Method, apparatus, and system for monitoring amount of liquid poured from liquid containers |
WO2008055929A1 (en) | 2006-11-08 | 2008-05-15 | Valgate Ltd | An inventory system for liquids dispensed from a container |
US20090048945A1 (en) * | 2007-08-15 | 2009-02-19 | Deline Jonathan E | Fuel dispenser |
WO2009055034A1 (en) * | 2007-10-24 | 2009-04-30 | Nuvasive, Inc. | Surgical trajectory monitoring system and related methods |
US7900799B2 (en) | 2007-11-01 | 2011-03-08 | Bartlomiej Maciej Kuzar | Dispenser apparatus and a dispensing system for dispensing a liquid from a bottle |
US8116993B2 (en) * | 2008-07-11 | 2012-02-14 | James Cebulski | Apparatus and methods for monitoring quantities of fluid in a container |
CA2787831A1 (en) | 2010-01-28 | 2011-08-04 | Liquor Monitor, Llc | Dispensing monitor |
-
2010
- 2010-01-15 US US12/688,839 patent/US8608026B1/en active Active
-
2013
- 2013-12-06 US US14/099,865 patent/US9476902B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9434597B2 (en) * | 2013-03-13 | 2016-09-06 | Capton, Inc. | Spout apparatus, systems and methods |
US20150193844A1 (en) * | 2013-12-19 | 2015-07-09 | Twin Harbor Labs, LLC | Alerting Servers Using Vibrational Signals |
US9355418B2 (en) * | 2013-12-19 | 2016-05-31 | Twin Harbor Labs, LLC | Alerting servers using vibrational signals |
US20210394363A1 (en) * | 2018-10-12 | 2021-12-23 | Sony Corporation | Injection apparatus, injection method, and injection program |
US11897138B2 (en) * | 2018-10-12 | 2024-02-13 | Sony Corporation | Injection apparatus, injection method, and injection program |
Also Published As
Publication number | Publication date |
---|---|
US20140095103A1 (en) | 2014-04-03 |
US9476902B2 (en) | 2016-10-25 |
US8608026B1 (en) | 2013-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8608026B1 (en) | Methods, apparatuses, and systems for measuring the amount of material dispensed from a container using an accelerometer | |
US10267667B2 (en) | Sensor device configuration | |
US20180328776A1 (en) | Beam focuser | |
US20180164143A1 (en) | Content quantity detection signal processing | |
US10591345B2 (en) | Sensor device configuration | |
US20200249070A1 (en) | Automatically detecting container depletion and switch | |
US9434597B2 (en) | Spout apparatus, systems and methods | |
US20180164142A1 (en) | Transmitter and receiver configuration for detecting content level | |
US20200033179A1 (en) | Using a provided indication of fill level to track amount of content in a container | |
US7202780B2 (en) | Service transaction monitoring system, method and device | |
US20200003602A1 (en) | Fouling mitigation and measuring vessel with container fill sensor | |
US20110180563A1 (en) | Dispensing Monitor | |
JP7547351B2 (en) | Beverage distribution system monitoring | |
US20200180937A1 (en) | Apparatus and method for liquid dispensing using optical time of flight sensor | |
US10969262B1 (en) | Filtering container with time-based capacitive flow monitoring | |
CN113557209A (en) | Wall-mounted beverage dispensing system | |
US20190186979A1 (en) | Liquid level measuring device | |
JP2023514849A (en) | Monitoring balance and distribution of fluid distribution systems to improve quality and efficiency | |
WO2018209266A1 (en) | Content amount detection and analysis | |
CN110312001A (en) | Skid off method for detecting position, detection components and the electronic device of structure | |
CN111547362B (en) | Measuring device for a cover for covering a container | |
WO2018165326A1 (en) | Transmitter and receiver configuration and signal processing for detecting content level | |
US20200249066A1 (en) | Dispense sensor device | |
JP2022539234A (en) | surveillance device | |
JP6656350B1 (en) | Beverage server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CAPTON, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONTROL ALT DESIGN, LTD.;REEL/FRAME:030581/0742 Effective date: 20100611 Owner name: CAPTON, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TEMKO, SETH W.;REEL/FRAME:030581/0782 Effective date: 20130418 Owner name: CONTROL ALT DESIGN, LTD., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RACZYNSKI, WALTER V.;ZIMNICKI, CHARLES L.;SIGNING DATES FROM 20100610 TO 20100611;REEL/FRAME:030581/0713 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |