The present invention relates to lighting and, in particular, to apparatus, systems, and methods for producing lighting and lighting effects that simulate the appearance of a flame or flames.
The following represents a simplified summary of the disclosure in order to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify critical elements of the disclosure or to delineate the scope of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form a prelude to the more detailed description that is presented elsewhere.
According to one embodiment of the invention, a lighting device includes a housing with a shroud and a base. The shroud includes an emission area. A plurality of LEDs is encased in the shroud for emitting light through the emission area. A power interface transmits electricity to the plurality of LEDs, and a control circuit in communication with each of the LEDs causes the plurality of LEDs to simulate a flame. Specifically, the control circuit (i) uses an initial fuel value to determine an actuation value (A1) for a lowermost grouping of the LEDs; (ii) uses the initial fuel value to determine an actuation value (B1) for a second grouping of the LEDs; and (iii) uses the initial fuel value to determine an actuation value (C1) for a third grouping of the LEDs. The second grouping of the LEDs are upwardly adjacent the lowermost grouping of the LEDs, and the third grouping of the LEDs are upwardly adjacent the second grouping of the LEDs. The control circuit further: (iv) uses a second fuel value to determine an actuation value (A2) for the lowermost grouping of the LEDs; (v) uses the second fuel value to determine an actuation value (B2) for the second grouping of the LEDs; and (vi) uses a third fuel value to determine an actuation value (A3) for the lowermost grouping of the LEDs. The control circuit (vii) at time T1, actuates the lowermost grouping of the LEDs in accordance with the actuation value (A1); (viii) at time T2: actuates the lowermost grouping of the LEDs in accordance with the actuation value (A2), and actuates the second grouping of the LEDs in accordance with the actuation value (B1); and (ix) at time T3: actuates the lowermost grouping of the LEDs in accordance with the actuation value (A3), actuates the second grouping of the LEDs in accordance with the actuation value (B2), and actuates the third grouping of the LEDs in accordance with the actuation value (C1). Time T1 occurs before time T2, and time T2 occurs before time T3.
According to another embodiment of the invention, a lighting device includes a housing with a shroud and a base. The shroud includes an emission area. A plurality of LEDs is encased in the shroud for emitting light through the emission area. A power interface transmits electricity to the plurality of LEDs, and a control circuit in communication with each of the LEDs causes the plurality of LEDs to simulate a flame. Specifically, the control circuit (i) determines a midpoint of the simulated flame based on an initial fuel value; (ii) uses an initial distance between the midpoint of the simulated flame and a lowermost grouping of the LEDs to determine an actuation value (A0′) for the lowermost grouping of the LEDs and actuates the lowermost grouping of the LEDs in accordance with the actuation value (A0′); (iii) uses a second distance between the midpoint of the simulated flame and a second grouping of the LEDs to determine an actuation value (B0′) for the second grouping of the LEDs and actuates the second grouping of the LEDs; and (iv) uses a third distance between the midpoint of the simulated flame and a third grouping of the LEDs to determine an actuation value (C0′) and actuates the third grouping of the LEDs. The second grouping of the LEDs are upwardly adjacent the lowermost grouping of the LEDs.
According to still another embodiment of the invention, a lighting device includes a housing with a shroud and a base. The shroud includes an emission area. A plurality of LEDs is encased in the shroud for emitting light through the emission area. A power interface transmits electricity to the plurality of LEDs, and a control circuit in communication with each of the LEDs causes the plurality of LEDs to simulate a flame. Specifically, the control circuit (i) determines a midpoint of the simulated flame using an initial fuel value; the midpoint defining a first grouping of LEDs, and having a first actuation value; (ii) uses the midpoint to determine a second actuation value of a second grouping of LEDs arranged downwardly from the midpoint; and (iii) uses the midpoint to determine a third actuation value of a third grouping of LEDs arranged upwardly from the midpoint. The control circuit may further (iv) actuates the respective first, second, and third grouping of LEDs in accordance with the respective first, second, and third actuation values. The respective actuation values are dependent on distances between the midpoint and the respective grouping of LEDs. An intensity of the light from the respective groupings of LEDs decreases outwardly from the midpoint.
According to still yet another embodiment of the invention, a lighting device includes a housing with a shroud and a base. The shroud includes an emission area. A plurality of LEDs is encased in the shroud for emitting light through the emission area. A power interface transmits electricity to the plurality of LEDs, and a control circuit in communication with each of the LEDs causes the plurality of LEDs to simulate a flame. Specifically, the control circuit (i) uses an initial distance to an initial wind point to determine actuation values for each LED in a first grouping of the LEDs and actuates the first grouping of the LEDs in accordance with the actuation values; and (ii) uses a second distance to a second wind point to determine actuation values for each LED in a second grouping of the LEDs and actuates the second grouping of the LEDs in accordance with the actuation values.
According to a further embodiment of the invention, a lighting device includes a plurality of LEDs. A power interface transmits electricity to the plurality of LEDs, and a control circuit in communication with each of the LEDs causes the plurality of LEDs to simulate a flame. Specifically, the control circuit (i) assigns a fuel value to a grouping of LEDs; (ii) assigns a wind point of the grouping of LEDs; and (iii) determines an actuation value for each LED in the grouping of LEDs. The actuation value is based on the fuel value and a distance of the LED to the wind point. The control circuit further (iv) actuates each LED in the grouping of the LEDs in accordance with the actuation value for each LED.
According to still another embodiment of the invention, a lighting device includes a plurality of discrete light emission points (DLEPs). A power interface transmits electricity to the plurality of discrete light emission points, and a control circuit in communication with each of the discrete light emission points causes the plurality of discrete light emission points to simulate a flame. Specifically, the control circuit (i) uses an initial value to determine an actuation value (A1) for a first grouping of DLEPs and actuates the first grouping of the DLEPs in accordance with the actuation value (A1); and uses the initial value to determine an actuation value (B1) for a second grouping of the DLEPs and actuates the second grouping of the DLEPs in accordance with the actuation value (B1). The actuation of the second grouping of DLEPs occurs after the actuation of the first grouping of DLEPs.
In still a further embodiment of the invention, a lighting device has a power interface and a control circuit in communication with a program and the LEDs to simulate a flame. The program determines a first group of LED control integers to simulate a perpetual middle with a perpetual middle center and a perpetual middle range within which one or more of the LEDs are to be at least partially actuated. At least one LED is actuated based on the first group of LED control integers. A first target for simulating movement of the perpetual middle center toward the first target and a first acceleration value is defined. The program determines a second group of LED control integers based on the first target and the first acceleration value such that the perpetual middle center becomes closer to the first target. One or more of the LEDs is actuated based on the second group of LED control integers.
According to yet another embodiment of the invention, a lighting device, includes a plurality of LEDs for emitting light; a power interface for transmitting electricity to the plurality of LEDs; and a control circuit in communication with a program and each of the LEDs to cause the plurality of LEDs to simulate a flame. The program determines a first group of LED control integers for simulating a perpetual middle with a perpetual middle center and a perpetual middle range within which one or more of the LEDs are to be at least partially actuated. The program further determines a second group of LED control integers for simulating a spark with a spark center and a spark range within which one or more of the LEDs are to be at least partially actuated. A value for wind speed within a wind speed range is set. The program determines a third group of LED control integers by adding the first group of LED control integers to the second group of LED control integers, wherein the third group of LED control integers is further based on the wind speed value. A first value for wind speed target and a first value for wind speed acceleration is set. The program determines a fourth group of LED control integers for simulating a change in brightness of the perpetual middle based on the first value for wind speed acceleration, a fifth group of LED control integers for simulating a change in brightness of the spark based the first value for wind speed acceleration, and a sixth group of LED control integers by adding the fourth group of LED control integers to the fifth group of LED control integers. The program then actuates one or more of the LEDs based on the sixth group of LED control integers.
Many embodiments are described herein in the context of devices called light engines or modules that may have the form factor of a light bulb with a threaded base that can be threaded into a conventional light bulb socket to provide electrical power. Therefore, embodiments can be substituted in virtually any light fixture that has such a socket. It is to be understood, however, that embodiments can take a variety of other forms. Embodiments can be scaled up or down within practical limits and do not have to be packaged with a conventional (e.g., threaded) light bulb base. Different interfaces to electrical power and different mounts in a fixture are of course possible within the current disclosure.
Further, the disclosure is not necessarily limited to solid-state light sources (which give off light by solid state electroluminescence rather than thermal radiation or fluorescence); other types of light sources may be driven in a similar regimen. And solid-state sources (e.g., LEDs, OLEDS, PLEDs, and laser diodes) themselves can vary. In one embodiment, the light source may be a red-green-blue (RGB) type LED comprising 5 wire connections (+, −, r, g, b). In another embodiment, the light source may be a red-green-blue-white (RGBW) type LED comprising 6 wire connections (+, −, r, g, b, w). In still another embodiment, the light source may be a single-color type LED which may be, in addition to red/green/blue/white, orange/warm white with a low color temperature of less than or equal to 4000 Kelvin, or bluish/cold white with a high color temperature of more than 4000 Kelvin. In embodiments, one or more light sources, individually or in combination, may be controlled and actuated with a controller, a control data line, a power line, a communication line, or any combination of these parts. In another embodiment, two groups of single color light sources (e.g., warm/orange color LEDs and cold/bluish color LEDs) may be arranged in an alternating pattern, and could be controlled and actuated with or without a control data line. For example, one acceptable type of LED is the NeoPixel® by Adafruit. In one embodiment, one or more light sources, individually or in combination, may be mounted on or into substrates which can be either rigid or flexible. In another embodiment, one or more light sources, individually or in combination, may be rigidly or flexibly connected by a power line, a data control line, a communication line, or any combination of them. Accordingly, while LEDs are used in the examples provided herein, it shall be understood that an LED can be any discrete light emission point including but not limited to LEDs or other light sources which are now known or later developed.
The control module 140 is in communication with each of the plurality of LEDs and drives them individually, in combination, or all to cause lighting effects such as simulating a flame or flames. The lighting device 100 may further comprise a power interface for transmitting electricity to the plurality of LEDs. In the embodiment shown in
For example,
Moving on, in
Substantially simultaneously, the row 1 LEDs are actuated by a new actuation value A2 determined by the second fuel value in accordance with the process described above.
The actuation value C1 actuates the row 3 LEDs and generally corresponds to desired characteristics (such as intensity, color, color temperature, size, diameter, pausing, and flickering) of the output light of the row 3 LEDs.
Substantially simultaneously with the actuation of the row 3 LEDs, the second fuel value is passed from the row 1 LEDs to the row 2 LEDs, and a third fuel value is generated for the row 1 LEDs. The row 1 LEDs are now actuated by the new actuation value A3 determined by the third fuel value, and the row 2 LEDs are now actuated by a new actuation value B2 determined by the second fuel value.
The actuation value D1 actuates the row 4 LEDs and generally corresponds to desired characteristics (such as intensity, color, color temperature, size, diameter, pausing, and flickering) of the output light of the row 4 LEDs.
Similarly as described above, at time T4 (or substantially at time T4), the row 1 LEDs are actuated by an actuation value A4 determined based on a fourth fuel value, the row 2 LEDs are actuated by an actuation value B3 determined based on the third fuel value, and the row 3 LEDs are actuated by an actuation value C2 determined based on the second fuel value.
Similarly as described above, at time T5 (or substantially at time T5), the row 1 LEDs are actuated by an actuation value A5 determined based on a fifth fuel value, the row 2 LEDs are actuated by an actuation value B4 determined based on the fourth fuel value, the row 3 LEDs are actuated by an actuation value C3 determined based on the third fuel value, and the row 4 LEDs are actuated by an actuation value D2 determined based on the second fuel value
Newly introduced “lim” is a simple function that constrains the value or r to be larger than 0 and smaller than 255. The actuation value F1 actuates the row 6 LEDs and generally corresponds to desired characteristics (such as intensity, color, color temperature, size, diameter, pausing, and flickering) of the output light of row 6 LEDs.
Similarly as described above, at time T6 (or substantially at time T6), the row 1 LEDs are actuated by an actuation value A6 determined based on a sixth fuel value, the row 2 LEDs are actuated by an actuation value B5 determined based on the fifth fuel value, the row 3 LEDs are actuated by an actuation value C4 determined based on the fourth fuel value, the row 4 LEDs are actuated by an actuation value D3 determined based on the third fuel value, and the row 5 LEDs are actuated by an actuation value E2 determined based on the second fuel value.
At time T7 (or substantially at time T7), the row 1 LEDs are actuated by an actuation value A7 determined based on a seventh fuel value, the row 2 LEDs are actuated by an actuation value B6 determined based on the sixth fuel value, the row 3 LEDs are actuated by an actuation value C5 determined based on the fifth fuel value, the row 4 LEDs are actuated by an actuation value D4 determined based on the fourth fuel value, the row 5 LEDs are actuated by an actuation value E3 determined based on the third fuel value, and the row 6 LEDs are actuated by an actuation value F2 determined based on the second fuel value.
Substantially at time T8, the row 1 LEDs are actuated by an actuation value A8 determined based on an eighth fuel value, the row 2 LEDs are actuated by an actuation value B7 determined based on the seventh fuel value, the row 3 LEDs are actuated by an actuation value C6 determined based on the sixth fuel value, the row 4 LEDs are actuated by an actuation value D5 determined based on the fifth fuel value, the row 5 LEDs are actuated by an actuation value E4 determined based on the fourth fuel value, the row 6 LEDs are actuated by an actuation value F3 determined based on the third fuel value, and the row 7 LEDs are actuated by an actuation value G2 determined based on the second fuel value.
As described above, in order to simulate a flame by the lighting device, a fuel value is created and passed all the way up the formed LED rows. In embodiments, the fuel value is a number between 35 and 256, and is randomly generated by a random fuel value generator. Within this range, different numbers can yield different effects of simulated flames based on environmental conditions (e.g., in the wind). Such different effects may help to simulate a real flame, as real flames are susceptible to environmental conditions, such as wind. For example, if the random fuel value generator creates values between 230 and 256 for the row 1 LEDs, the flickering effects of flames would be very low because the intensity of the “flame” would be very high; however, if the random fuel value generator creates values between 100 and 256 for row 1 LEDs, the flickering effects of flames may greatly increase because the intensity of the “flame” is less. In other words, a high random fuel value number (such as 240-256) may simulate small amounts of wind while a small random fuel value number (such as 25-160) may simulate large amounts of wind.
In embodiments, different types of simulated fuel sources may correspond to different number ranges within the above 35 to 256 fuel range. Such a simulated fuel may be selected from the group consisting of: wax, paraffin, tallow, beeswax, spermaceti, stearin, gasoline, diesel, kerosene, and gel. For example, the range of fuel values of gas would be different from that of paraffin.
It is to be understood that the invention is not necessarily limited to utilizing a fuel value solely generated by a random number generator. While each new fuel value can be manually entered by a user in an alternative embodiment, the fuel value may also be generated by utilizing both a random number generator and manual entry.
It is to be further understood that time T1, T2, T3, etc. are consecutive time intervals. Although 25 milliseconds are used in the above example as the time interval, such a consecutive time interval may be any length of time period longer than 1 nanosecond. Furthermore, the time intervals may, but need not be equal. For example, T1 may be 25 milliseconds, T2 may be 30 milliseconds, etc. Or, T1 may be 25 milliseconds, and T2 may be 10 milliseconds.
It is to be further understood that while only 8 rows of LEDs are illustrated herein, the invention is not necessarily limited to 8 rows of LEDs and such a lighting device may comprise other numbers of rows of LEDs, individually or in combination, in achieving similar functions.
Here, b is the fuel number of a given row (which may be assigned to the row, or passed on from a previous row as described herein); c is the height of the given LED row, which is a number ranging from 1 to 255; “hZone” is a percentage value representing the distance of the given row to the midpoint of the simulated flame. A larger “hZone” value corresponds to a given row being closer to the midpoint, while a smaller “hZone” value corresponds to a given row being farther away from the midpoint. In this case, “warmScale” is used to scale down the “hZone” values so that smaller (shorter) flames appear more orange in color (warmer) and larger (higher) flames are more bluish in color (colder). In this case, if the fuel value is low (e.g., 50), the “warmScale” causes the flame to have no white color added to any row, thus making the flame appear more orange in color (warmer); if the fuel value is high (e.g., 250), the “warmScale” does nothing, thus making the flame larger (higher) and appear more bluish in color (colder).
Referring still to
The “bri” variable is simply the initial fuel value of row 0′. The “0” in the parentheses of the “setRows” function represents the row number, and the “200” in the parentheses of the “setRows” function represents a wind circle for row 0′. In embodiments, wind circle values are pre-determined for row 0′ and row 1′, and are calculated for rows 2′-10′. In this case, a small value means a wind circle with a small radius of a given row, and a large value means a wind circle with a large radius of a given row. How different radii of wind circles affect the lighting of LEDs of different rows is further discussed in more detail below with reference to
Row 1′ is upwardly adjacent row 0′. At time T1′ (e.g., 25 milliseconds after time T0′), an actuation value B0′ is determined for the row 1′ LEDs. The actuation value B0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 1′ LEDs, and may be calculated as the “setRows” by the following code:
The actuation value B0′ actuates the row 1′ LEDs and generally corresponds to desired characteristics (such as intensity, color, color temperature, size, diameter, pausing, and flickering) of the output light of row 1′ LEDs. Substantially simultaneously at Time T1′, the row 0′ LEDs are actuated by an actuation value A1′ determined by a second fuel value.
Row 2′ is upwardly adjacent row 1′. At time T2′ (e.g., 25 milliseconds after time T1′), an actuation value C0′ is determined for the row 2′ LEDs. The actuation value C0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 2′ LEDs, and may be calculated as the “setRows” by the following code:
Row 3′ is upwardly adjacent row 2′. At time T3′ (e.g., 25 milliseconds after time T2′), an actuation value DO′ is determined for the row 3′ LEDs. The actuation value DO′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 3′ LEDs, and may be calculated as the “setRows” by the following code:
Row 4′ is upwardly adjacent row 3′. At time T4′ (e.g., 25 milliseconds after time T3′), an actuation value is determined for the row 4′ LEDs. The actuation value E0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 4′ LEDs, and may be calculated as the “setRows” by the following code:
Substantially simultaneously at time T4′, the row 3′ LEDs are actuated by an actuation value D1′ determined based on the second fuel value, the row 2′ LEDs are actuated by an actuation value C2′ determined based on the third fuel value, the row 1′ LEDs are actuated by an actuation value B3′ determined based on the fourth fuel value, and the row 0′ LEDs are actuated by an actuation value A4′ determined based on a fifth fuel value.
Row 5′ is upwardly adjacent row 4′. At time T5′ (e.g., 25 milliseconds after time T4′), an actuation value F0′ is determined for the row 5′ LEDs. The actuation value F0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 5′ LEDs, and may be calculated as the “setRows” by the following code:
Similarly as described above, substantially simultaneously at time T5′, the row 4′ LEDs are actuated by an actuation value E1′ determined based on the second fuel value, the row 3′ LEDs are actuated by an actuation value D2′ determined based on the third fuel value, the row 2′ LEDs are actuated by an actuation value C3′ determined based on the fourth fuel value, the row 1′ LEDs are actuated by an actuation value B4′ determined based on the fifth fuel value, and the row 0′ LEDs are actuated by an actuation value A5′ determined based on a sixth fuel value.
Row 6′ is upwardly adjacent row 5′. At time T6′ (e.g., 25 milliseconds after time T5′), an actuation value G0′ is determined for the row 6′ LEDs. The actuation value G0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 6′ LEDs, and may be calculated as the “setRows” by the following code:
Similarly as described above, substantially simultaneously at time T6′, the row 5′ LEDs are actuated by an actuation value F1′ determined based on the second fuel value, the row 4′ LEDs are actuated by an actuation value E2′ determined based on the third fuel value, the row 3′ LEDs are actuated by an actuation value D3′ determined based on the fourth fuel value, the row 2′ LEDs are actuated by an actuation value C4′ determined based on the fifth fuel value, the row 1′ LEDs are actuated by an actuation value B5′ determined based on the sixth fuel value, and the row 0′ LEDs are actuated by an actuation value A6′ determined based on a seventh fuel value.
Row 7′ is upwardly adjacent row 6′. At time T7′ (e.g., 25 milliseconds after time T6′), an actuation value H0′ is determined for the row 7′ LEDs. The actuation value H0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 7′ LEDs, and may be calculated as the “setRows” by the following code:
Substantially simultaneously at Time T7′, the row 6′ LEDs are actuated by an actuation value G1′ determined based on the second fuel value, the row 5′ LEDs are actuated by an actuation value F2′ determined based on the third fuel value, the row 4′ LEDs are actuated by an actuation value E3′ determined based on the fourth fuel value, the row 3′ LEDs are actuated by an actuation value D4′ determined based on the fifth fuel value, the row 2′ LEDs are actuated by an actuation value C5′ determined based on the sixth fuel value, the row 1′ LEDs are actuated by an actuation value B6′ determined based on the seventh fuel value, and the row 0′ LEDs are actuated by an actuation value A7′ determined based on an eighth fuel value.
Row 8′ is upwardly adjacent row 7′. At time T8′ (e.g., 25 milliseconds after time T7′), an actuation value TO′ is determined for the row 8′ LEDs. The actuation value TO′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 8′ LEDs, and may be calculated as the “setRows” by the following code:
Substantially simultaneously at Time T8′, the row 7′ LEDs are actuated by an actuation value H1′ determined based on the second fuel value, the row 6′ LEDs are actuated by an actuation value G2′ determined based on the third fuel value, the row 5′ LEDs are actuated by an actuation value F3′ determined based on the fourth fuel value, the row 4′ LEDs are actuated by an actuation value E4′ determined based on the fifth fuel value, the row 3′ LEDs are actuated by an actuation value D5′ determined based on the sixth fuel value, the row 2′ LEDs are actuated by an actuation value C6′ determined based on the seventh fuel value, the row 1′ LEDs are actuated by an actuation value B7′ determined based on the eighth fuel value, and the row 0′ LEDs are actuated by an actuation value A8′ determined based on an ninth fuel value.
Row 9′ is upwardly adjacent row 8′. At time T9′ (e.g., 25 milliseconds after time T8′), an actuation value J0′ is determined for the LEDs in row 3′. The actuation value J0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 9′ LEDs, and may be calculated as the “setRows” by the following code:
Substantially simultaneously, the row 8′ LEDs are actuated by an actuation value I1′ determined based on the second fuel value, the row 7′ LEDs are actuated by an actuation value H2′ determined based on the third fuel value, the row 6′ LEDs are actuated by an actuation value G3′ determined based on the fourth fuel value, the row 5′ LEDs are actuated by an actuation value F4′ determined based on the fifth fuel value, the row 4′ LEDs are actuated by an actuation value E5′ determined based on the sixth fuel value, the row 3′ LEDs are actuated by an actuation value D6′ determined based on the seventh fuel value, the row 2′ LEDs are actuated by an actuation value C7′ determined based on the eighth fuel value, the row 1′ LEDs are actuated by an actuation value B8′ determined based on the ninth fuel value, and the row 0′ LEDs are actuated by an actuation value A9′ determined based on an tenth fuel value.
Row 10′ is upwardly adjacent row 9′. At time T10′ (e.g., 25 milliseconds after time T9′), an actuation value K0′ is determined for the LEDs in row 3′. The actuation value K0′ comprises values representing the brightness of each part of the red, green, blue, and white portions of the row 10′ LEDs, and may be calculated as the “setRows” by the following code:
Substantially simultaneously, the row 9′ LEDs are actuated by an actuation value J1′ determined based on the second fuel value, the row 8′ LEDs are actuated by an actuation value I2′ determined based on the third fuel value, the row 7′ LEDs are actuated by an actuation value H3′ determined based on the fourth fuel value, the row 6′ LEDs are actuated by an actuation value G4′ determined based on the fifth fuel value, the row 5′ LEDs are actuated by an actuation value F5′ determined based on the sixth fuel value, the row 4′ LEDs are actuated by an actuation value E6′ determined based on the seventh fuel value, the row 3′ LEDs are actuated by an actuation value D7′ determined based on the eighth fuel value, the row 2′ LEDs are actuated by an actuation value C8′ determined based on the ninth fuel value, the row 1′ LEDs are actuated by an actuation value B9′ determined based on the tenth fuel value, and the row 0′ LEDs are actuated by an actuation value A10′ determined based on an eleventh fuel value.
It shall be understood that the processes described herein may be iterative for so long a time as energy is supplied to the lighting device 100. It is to be further understood that TO′, T1′, T2′, etc. may be consecutive time intervals. Although 25 milliseconds are used in the above example as the time interval, such a consecutive time interval may be any length of time period longer than 1 nanosecond. Furthermore, the time intervals may, but need not be equal. For example, TO′ may be 25 milliseconds, T1′ may be 30 milliseconds, etc. Or, TO′ may be 25 milliseconds, and T1′ may be 10 milliseconds.
While 11 rows of LEDs are illustrated in the example provided herein, the invention is not necessarily limited to 11 rows of LEDs and such a lighting device may comprise other numbers of rows of LEDs, individually or in combination, in achieving similar functions.
In addition to the flickering effects, the simulated flame may additionally be configured to simulate the bending of the flame in the wind so as to more realistically simulate a fire. In order to do so, a two dimensional coordinate (X, Y) representing a discrete wind point in a given row is introduced to the aforementioned simulation, and is described in further detail below.
The location of the wind point is directly related to the intensity of the illumination of the LEDs in a particular row of LEDs. The intensity may be output as brightness, or as color (e.g., more white light than warm light). As is illustrated below, a wind point that is equidistant from all LEDs in a particular row will result in equal, or substantially equal, intensity from each LED in the row. But, as a wind point is moved closer to, and therefore farther away from, certain LEDs, the LEDs that are in closest proximity to the wind point will exhibit a higher intensity than those LEDs which are farther from the wind point.
It is to be understood that while only rows of LEDs on one two-dimensional horizontal plane are shown in
More specifically, in an embodiment, the iteration of the windX and windY values proceeds as described below. At every consecutive time interval, coordinate values (windX, windY) are calculated for the wind point as the “windMove” function by the following code:
Here, the windX[i] and windY[i] values are iterated during the calculation of the row i. In this embodiment, windX[i] and windY[i] in the row 0′ have initial values of windX[0]=0 and windY[0]=0. During the iteration of the row i, random or semi-random numbers are added to or subtracted from the wind point values (windX[i−1], windY[i−1]) received by the row i from the row i−1 to generate the wind points values of the row i (windX[i], windy[i]). In other words, the iteration of the wind point values of the row i (windX[i], windY[i]) is based on the previous wind point values of the row i−1 (windX[i−1],windY[i−1]), and such dependency of wind point values passes on from row i all the way to row 0′, whose initial wind point values are (0, 0).
Further, distances between the wind points and each of the LEDs in the given row are calculated as the “dist” function by the following code:
Here, “double x1” and “double y1” are the coordinate values of a local LED, while “double x2” and “double y2” are the coordinate values of the wind point in the two-dimensional horizontal plane in which the local LED is located.
Similar to what is mentioned earlier, in this embodiment, the wind point coordinate is iterated in each calculation of the given row. For example, the row 0′ will always have a (0, 0) wind point. And the wind point at row 3′ (windX(3), windY(3)) will be iterated three times from the original (windX(0), windY(0)) wind point. Similarly, the wind point at row 5′ (windX(5), windy(5)) will be iterated five times from the original (windX(0), windY(0)) wind point.
Given the above wind simulations, LEDs are actuated by actuation values calculated as the “setRows” function by the following code:
In addition to the aforementioned calculation of Red/Green/Blue/White values, wind point movement, and distances between wind point and LEDs, “cooler” is a variable that dims the LED as the distance between the LED and the wind point is increased. The local “rad” variable is the previous “hZone” value that was passed in. As briefly noted above, a small “rad” value means a wind circle with a small radius of a given row, and a large “rad” value means a wind circle with a large radius of a given row. This is further illustrated in the
The above illustrations demonstrate a simulation of a flame by actuating LEDs based on a fuel value, the distance to the midpoint, and the wind effect. However, in alternative embodiments, the simulation of a flame by actuating LEDs may be based only on fuel values, distance to the midpoint, or wind effect, or any combination of these factors.
Further, the fuel value, the wind point value, the distance value, or any other initial values may be generated by a random number generator, a semi-random number generator, or a manual entry. Alternately, such values may be generated by a pseudorandom number generator, a deterministic random bit generator, a hardware random number generator, a cryptographic algorithm, an algorithmic pattern (sine wave or cosine wave) number generator, a periodic pattern number generator, or any other deterministic random number generation algorithms or deterministic number generation algorithms.
Additionally, a sensor or multiple sensors (e.g., wind sensors) may be used individually or in combination to measure and determine initial values. For example, wind sensors may measure the wind in the environment, and generate wind point values based on the measurements. The sensors may be configured to pull weather data (including but not limited to wind data) at different times and locations from weather broadcasts, and generate the wind point values based on the weather data.
In some embodiments, the disclosure further provides flame simulation methods and systems using LEDs and a microcontroller based on a spark simulation and/or a perpetual middle simulation. The microcontroller runs a program to control the LEDs, and the program utilizes object-oriented programing. A simulation is created which represents rising sparks within a flame and a center of the flame whose properties adjust to sparks traveling through and above it. The LEDs may be aligned vertically in a single row, or include groups in which some groupings are adjacently above or below others. They can be ordered in countless orientations as long as some LEDs are higher or lower than others.
LED Brightness Function
d=ledAltidude−center; and
ledTemp=temp*(spread−d/spread).
As shown in the codes above, d is the distance from the center of the spark to the LED altitude. ledAlstidude is the altitude of the LED, center is the altitude of the spark center, ledTemp is a brightness value for controlling LED electricity to achieve varying brightness, temp is the brightness of the LED if the LED altitude is exactly the same as the spark center attitude, and spread is the distance from the spark center in which the LEDs will no longer receive any brightness.
Moving on,
It is to be understood that while the brightness of the simulated spark remains relatively constant in the contracting spark simulation from time T5 to time T7, its value may vary randomly or automatically according to pre-set programs or manual inputs. For example, the brightness may decrease from time T5 to time T7. Or, it may increase from time T5 to time 6, and decrease from time T7 to time T9.
In some embodiments, the perpetual middle simulation does not rise or terminate like the spark simulation. In other embodiments, the perpetual middle simulation rises or terminates like the spark simulation.
The perpetual middle simulation may use the same LED brightness function as that of the spark simulation to calculate the brightness it provides to each LED unit or group. Optionally, the perpetual middle simulation may use an LED brightness function different from that of the spark simulation to calculate the brightness.
It is to be understood that while
As shown in
In each of the ten rows, the brightness of the LEDs for simulating a flame is calculated by adding the brightness of the LEDs for simulating a perpetual middle and the brightness of the LEDs for simulating a spark. For example, row 1″=row 1′+row 1, row 2″=row 2′+row 2, so on and so forth. In some embodiments, this is achieved by adding the control integer of a perpetual middle simulation LED and the control integer of a spark simulation LED, and actuating a summed LED with the added control integer. The perpetual middle can be independent of the rising or contracting spark, or change over time in reaction to the rising or contracting spark. Optionally, the brightness of the LEDs for simulating a flame in one row can be calculated by adding the brightness of the LEDs for simulating a perpetual middle in a second row and the brightness of the LEDs for simulating a spark in a third row. The row numbers of a flame simulation LED row, a spark simulation LED row, or a perpetual middle LED row can be the same or different. For example, row 5″=row 6′+row 6, or row 2″=row 8′+row 3′.
It is to be understood that while the brightness of the simulated spark remains relatively constant in the contracting spark simulation from time T5 to time T7, its value may vary randomly or automatically according to pre-set programs or manual inputs. For example, the brightness may decrease from time T5 to time T7.
It is to be understood that a “row” of lighting units (e.g., LED) may refer to a horizontal grouping of multiple lighting units but is not necessarily limited to such horizontal groupings. In embodiments, a “row” may include different horizontal or vertical positions of a single lighting unit or multiple lighting units in combination. In one embodiment, a single lighting unit may comprise multiple lighting portions arranged vertically and/or horizontally, and these portions may be actuated individually or in combination. In this case, different rows may refer to different portions of a single lighting unit individually or in combination, rather than different lighting units individually or in combination. The lighting units (or lighting portions of a single lighting unit) may be actuated based on positioning relative to other lighting units (or lighting portions of a single lighting unit). For example, as described herein, values may be passed “upwards” from one row to the next. However, where the LEDs are not positioned in true “rows”, the values may be passed from an LED having a lower position (e.g., vertical position) to an LED having a higher position (e.g., vertical position). Each LED may be configured to determine its distance relative to one or more nearby LEDs, and values may be passed from one LED to another based on the relative positioning of LEDs. As the values gain altitude, X and Y values corresponding to wind point may additionally be prescribed.
According to still further embodiments of the invention, a flame may be simulated by alternately, or further incorporating a meander feature that allows an LED display to appear as though the flame is dancing or bouncing. The meander feature may be accomplished by randomly changing the height of the perpetual middle. Although the perpetual middle is by definition perpetual in nature, changes in the properties of the perpetual middle such as maximum spread, center, and brightness can enhance the effect of the display. More specifically, by altering various properties of the perpetual middle, the flame can more accurately mimic the dancing or bouncing exhibited by a real flame.
Moving on, at time 3 (T3), illustrated in
The meander simulation effect may work in conjunction with various other simulation effects. For example, the meander simulation may be combined with the spark simulation. In such a combination, the height of the perpetual middle center at any given time will affect the time at which the sparks may begin contracting. The trigger to start the contracting of the spark may be, for example, when the center of the spark passes through the center of the perpetual middle or passes very close to the perpetual middle (e.g., center*1.3 or center*0.7).
While the meander simulation is described in one-dimension, it shall be understood that the simulation can be run in two- or three-dimensions to more accurately simulate a flame.
As described herein simulating the presence of wind can help to accurately mimic flame movement. A candle will generally exhibit soft, smooth changes in brightness and movement when little to no wind is present. However, when a high amount of wind is present, the candle will appear to flash or flicker more rapidly. As it relates to further embodiments of the invention, wind speed is a variable that may change over time similar to the way the perpetual middle center meanders according to the meander simulation described immediately above.
For the wind variable simulation, a wind speed value may be randomly chosen by the program. In
Again in
At time T30, represented in
In addition to randomly selecting new target and wind acceleration values once the wind speed passes a target, the program may change values related to the simultaneously operating spark simulation (e.g., the rate at which new sparks are ignited) and/or the perpetual middle meander simulation (e.g., the acceleration of the meander function, the max range top, max range bottom, et cetera). For example, increasing the wind speed may cause the program to increase the value for acceleration as it relates to the perpetual middle meander simulation, and the total range between the maximum top and bottom may additionally be increased. Transversely, a lower wind speed value may cause the program to decrease the value for acceleration as it relates to the perpetual middle meander simulation, and the total range between the maximum top and the bottom may be decreased.
It shall be understood that the wind speed value may accelerate or decelerate towards a rand target set by the program as described herein, but in some embodiments, the wind value may be controlled using hardware sensors such as sound sensors, accelerometers, motion sensors, or other sensors. When the sensor(s) detect(s) a particular event, the program may increase or decrease the wind speed accordingly. For example, where a sound sensor is utilized, if the sensor detects higher overall levels of sound amplitude (i.e., the amplitude may be averaged over time), the wind speed value may increase; conversely, if the sensor detects lower overall values of sound amplitude, the wind speed value may decrease.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the present disclosure. Embodiments of the present disclosure have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. A skilled artisan may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present disclosure.
It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described unless specified.
This application is a continuation of U.S. patent application Ser. No. 17/453,927, filed Nov. 8, 2021, which is a continuation of U.S. patent application Ser. No. 16/943,966, filed Jul. 30, 2020, now U.S. Pat. No. 11,168,855, which is a continuation-in-part of U.S. patent application Ser. No. 16/725,492, filed on Dec. 23, 2019, now U.S. Pat. No. 10,907,787, which is a continuation-in-part of U.S. patent application Ser. No. 16/164,374, filed on Oct. 18, 2018, now U.S. Pat. No. 10,514,141, the disclosures of each of which is incorporated by reference in its entirety herein.
Number | Name | Date | Kind |
---|---|---|---|
2364539 | Link | Dec 1944 | A |
5379200 | Echard | Jan 1995 | A |
5924784 | Chliwnyj et al. | Jul 1999 | A |
6053622 | Horowitz et al. | Apr 2000 | A |
6198229 | McCloud et al. | Mar 2001 | B1 |
6218785 | Incerti | Apr 2001 | B1 |
6241362 | Morrison | Jun 2001 | B1 |
6595676 | Douglas | Jul 2003 | B2 |
6685574 | Hall | Feb 2004 | B2 |
6688752 | Moore | Feb 2004 | B2 |
6720745 | Lys et al. | Apr 2004 | B2 |
6802782 | Hall et al. | Oct 2004 | B2 |
6926423 | Bucher et al. | Aug 2005 | B2 |
6953401 | Starr | Oct 2005 | B2 |
7052159 | Wu | May 2006 | B2 |
7125142 | Wainwright | Oct 2006 | B2 |
7201500 | Mishan | Apr 2007 | B2 |
7210256 | Rosserot | May 2007 | B2 |
7261455 | Schnuckle et al. | Aug 2007 | B2 |
7300179 | LaDuke et al. | Nov 2007 | B1 |
7476002 | Wolf et al. | Jan 2009 | B2 |
7553051 | Brass et al. | Jun 2009 | B2 |
7686471 | Reichow | Mar 2010 | B2 |
7762897 | Starr et al. | Jul 2010 | B2 |
8033681 | Brass et al. | Oct 2011 | B2 |
8157425 | Gutstein et al. | Apr 2012 | B2 |
8256935 | Cullimore et al. | Sep 2012 | B1 |
8371740 | Pestl et al. | Feb 2013 | B2 |
8562184 | Klipstein et al. | Oct 2013 | B2 |
8696166 | Patton et al. | Apr 2014 | B2 |
8721121 | Briles | May 2014 | B1 |
8789963 | Whitfield et al. | Jul 2014 | B2 |
9068706 | Fournier et al. | Jun 2015 | B2 |
9095782 | Kaplan | Aug 2015 | B2 |
9335014 | Patton et al. | May 2016 | B2 |
9360181 | Li | Jun 2016 | B2 |
9371973 | Li | Jun 2016 | B2 |
9423120 | Fang | Aug 2016 | B2 |
9534956 | Paolini et al. | Jan 2017 | B2 |
9551470 | Li et al. | Jan 2017 | B2 |
9605824 | Li | Mar 2017 | B1 |
9664349 | Hurduc et al. | May 2017 | B1 |
9689544 | Green, Jr. et al. | Jun 2017 | B2 |
9719643 | Cheng | Aug 2017 | B1 |
10125937 | Green, Jr. et al. | Nov 2018 | B2 |
10184627 | Wei | Jan 2019 | B2 |
10240736 | Green, Jr. et al. | Mar 2019 | B2 |
10436401 | Lee | Oct 2019 | B2 |
10480734 | Green et al. | Nov 2019 | B2 |
10514141 | Ostrander | Dec 2019 | B1 |
10907787 | Ostrander | Feb 2021 | B2 |
10976019 | Green et al. | Apr 2021 | B2 |
11009201 | Liao | May 2021 | B1 |
11118746 | Cao | Sep 2021 | B1 |
11168855 | Ostrander | Nov 2021 | B2 |
11484617 | Li | Nov 2022 | B2 |
11486555 | Li | Nov 2022 | B2 |
20010033488 | Chliwnyj et al. | Oct 2001 | A1 |
20030072154 | Moore | Apr 2003 | A1 |
20030161145 | Liu et al. | Aug 2003 | A1 |
20040212321 | Lys et al. | Oct 2004 | A1 |
20050007779 | Nozawa et al. | Jan 2005 | A1 |
20050162851 | Kazar et al. | Jul 2005 | A1 |
20050169812 | Helf | Aug 2005 | A1 |
20050254242 | Baker | Nov 2005 | A1 |
20060119287 | Campbell et al. | Jun 2006 | A1 |
20060119422 | Sakurai et al. | Jun 2006 | A1 |
20060208666 | Johnson | Sep 2006 | A1 |
20060208667 | Lys et al. | Sep 2006 | A1 |
20080112154 | Reichow | May 2008 | A1 |
20080129226 | Dewitt et al. | Jun 2008 | A1 |
20080130266 | Dewitt et al. | Jun 2008 | A1 |
20090080871 | Chiu | Mar 2009 | A1 |
20090126241 | Asofsky | May 2009 | A1 |
20090313866 | Wang | Dec 2009 | A1 |
20100124050 | Hau et al. | May 2010 | A1 |
20100264852 | Julio | Oct 2010 | A1 |
20110019422 | Schnuckle et al. | Jan 2011 | A1 |
20110057582 | Sekulovski et al. | Mar 2011 | A1 |
20110255272 | Privas | Oct 2011 | A1 |
20130033195 | Liao | Feb 2013 | A1 |
20130100686 | Patton | Apr 2013 | A1 |
20140036511 | Whitfield et al. | Feb 2014 | A1 |
20140104820 | Chiang | Apr 2014 | A1 |
20140168946 | Kaplan | Jun 2014 | A1 |
20140268704 | Yang | Sep 2014 | A1 |
20140307426 | Whitfield et al. | Oct 2014 | A1 |
20150009131 | Li et al. | Jan 2015 | A1 |
20150010309 | Li et al. | Jan 2015 | A1 |
20150308630 | Bendtsen et al. | Oct 2015 | A1 |
20150308633 | Ven et al. | Oct 2015 | A1 |
20150338042 | Patton | Nov 2015 | A1 |
20160057829 | Li | Feb 2016 | A1 |
20160109083 | Li | Apr 2016 | A1 |
20160298816 | Fang | Oct 2016 | A1 |
20160327227 | Green, Jr. et al. | Nov 2016 | A1 |
20160366746 | Ven et al. | Dec 2016 | A1 |
20160377248 | Jagt et al. | Dec 2016 | A1 |
20170159900 | Gerson et al. | Jun 2017 | A1 |
20170307157 | Green, Jr. | Oct 2017 | A1 |
20170307159 | Li | Oct 2017 | A1 |
20170311404 | Li | Oct 2017 | A1 |
20170343197 | Gammons et al. | Nov 2017 | A1 |
20180135821 | Wei | May 2018 | A1 |
20180163937 | Lee | Jun 2018 | A1 |
20200355336 | Ostrander | Nov 2020 | A1 |
20210254805 | Green et al. | Aug 2021 | A1 |
20220057057 | Ostrander | Feb 2022 | A1 |
Number | Date | Country |
---|---|---|
2335401 | Aug 2001 | CA |
3010527 | Nov 2016 | CA |
1027210 | Dec 1994 | CN |
2639682 | Sep 2004 | CN |
201034248 | Mar 2008 | CN |
201304248 | Sep 2009 | CN |
201496785 | Jun 2010 | CN |
101865413 | Oct 2010 | CN |
201715440 | Jan 2011 | CN |
201944772 | Aug 2011 | CN |
202221029 | May 2012 | CN |
202868827 | Apr 2013 | CN |
203082789 | Jul 2013 | CN |
203190294 | Sep 2013 | CN |
103867931 | Jun 2014 | CN |
203771092 | Aug 2014 | CN |
203940345 | Nov 2014 | CN |
203980133 | Dec 2014 | CN |
104266136 | Jan 2015 | CN |
204153691 | Feb 2015 | CN |
204268354 | Apr 2015 | CN |
104728762 | Jun 2015 | CN |
204554684 | Aug 2015 | CN |
108167765 | Jun 2018 | CN |
208312231 | Jan 2019 | CN |
208779348 | Apr 2019 | CN |
110099487 | Aug 2019 | CN |
110173655 | Aug 2019 | CN |
110005995 | May 2021 | CN |
110131659 | May 2021 | CN |
2020120042100 | Aug 2012 | DE |
202018100182 | Jan 2018 | DE |
3293444 | Mar 2018 | EP |
3604901 | Feb 2020 | EP |
3641503 | Apr 2020 | EP |
2462848 | Feb 2010 | GB |
2554382 | Jul 2021 | GB |
200469393 | Oct 2013 | KR |
2014068440 | May 2014 | WO |
2016155521 | Oct 2016 | WO |
2016177021 | Nov 2016 | WO |
2017084165 | May 2017 | WO |
2018055386 | Mar 2018 | WO |
Entry |
---|
Eastern Voltage Research, Digital LED Flame 1.0 Kit, www.easternvoltageresearch.com/digitalflame10.html, 2 pages.—Applicant Admitted Prior Art. |
English Abstract from Espacenet of 204554684, CN, Kind Code U, Published Aug. 12, 2015, Mumedia Photoelectric, Ltd. (This is a publication of CN 2015/20282857.7 filed May 5, 2015 from which priority is claimed). |
Equinox, Flame Machine User Manual, Equinox RGB 1.5M DMX Flame Machine (FLAM11) 12 pages—Applicant Admitted Prior Art. |
European Search Report, dated Nov. 15, 2019, 2 pages, issued in EP Application No. 19193556. |
Extended European Search Report, dated Feb. 9, 2018, 7 pages, issued in EP Application No. 16789015.1. |
First Search dated Apr. 22, 2016, 1 page, issued in CN Application No. 2015101528372. |
International Search Report, dated Apr. 21, 2016, 2 pages, issued in PCT Application No. PCT/CN2016/071583. |
Non-Final Office Action, dated Apr. 30, 2020, 9 pages, issued in U.S. Appl. No. 16/725,492. |
Non-Final Rejection, dated Mar. 29, 2018, 8 pages, issued in U.S. Appl. No. 15/571,858. |
Notice of Allowance, dated Jan. 17, 2019, 7 pages, issued in U.S. Appl. No. 16/137,433. |
Notice of Allowance, dated Sep. 22, 2020, 13 pages, issued in U.S. Appl. No. 16/725,492. |
Paralax Inc., BlinkM Smart LED product on website, www.parallax.com/product/32325, 4 pages. |
Parallax Inc., BlinkM Smart LED product on website, www.digikey.com/product-detail/en/parallax-inc/32325/32325-ND/3974652, 2 pages—Applicant Admitted Prior Art. |
ThingM Labs, BlinkM Datasheet for BlinkM & BlinkM MinM MaxM (2010) 50 pages, blinkm.thingm.com. |
Website showing Realistic Flickering Flame Effect with Arduino and LED's, www.instructables.com/id/Realistic-Fire-Effect-with-Arduino-and-LEDs, 10 pages—Applicant Admitted Prior Art. |
Number | Date | Country | |
---|---|---|---|
20230296218 A1 | Sep 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17453927 | Nov 2021 | US |
Child | 18323778 | US | |
Parent | 16943966 | Jul 2020 | US |
Child | 17453927 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16725492 | Dec 2019 | US |
Child | 16943966 | US | |
Parent | 16164374 | Oct 2018 | US |
Child | 16725492 | US |