1. Field
Example embodiments relate to a controller and a method of controlling a light emitting device. In example embodiments, the light emitting device may be controlled using a sequence of terse command instructions.
2. Description of the Related Art
A light-emitting diode (LED) is a semiconductor device capable of generating light when subjected to an electrical current. The color of light emitted by an LED is influenced by the type of semiconductor material used therein. For example, an LED comprised of aluminum gallium arsenide (AlGaAs) will produce a red light, an LED comprised of aluminum gallium indium phosphide (AlGaInP) will produce a green light, and an LED comprised of zinc selenide (ZnSe) or Indium gallium nitride (InGaN) will produce a blue light.
In the conventional art artisans have produced what is commonly referred to as an RGB diode. An RGB diode is comprised of three semiconductor materials. The first semiconductor material may be configured to produce a red light, the second semiconductor material may be configured to produce a green light, and the third semiconductor material may be configured to produce a blue light. In the RGB diode, the semiconductor materials are placed relatively close together. As such, light from the first semiconductor material, the second semiconductor material, and the third semiconductor material may be added together to produce a wide array of colors under a scheme commonly referred to as additive color mixing. For example, the RBG diode may appear to emit a yellow light when current flows through the semiconductor materials configured to emit the green and red lights but not the semiconductor material configured to produce the blue light.
Traditional light controllers communicate over AC power or data buses that are not native to information technology networks. These traditional light controllers typically use fragmented communications methods due to the limitations and constraints of communicating over those networks. There is, therefore, a need for a command structure that can send a number of instructions to a light controller with fewer communication calls over an information-technology network using TCP/IP, UDP, or other transport protocol.
Example embodiments relate to a controller and a method of controlling a light emitting device. In example embodiments, the light emitting device may be controlled using a sequence of terse command instructions. The syntax associated with example embodiments may be used with lighting controllers that communicate on an information-technology network using TCP/IP, UDP, or other transport protocol. In comparison to the conventional art, example embodiments disclose a command structure that can send a number of instructions to a light controller with fewer communication calls over an information-technology network using TCP/IP, UDP, or other transport protocol.
Example embodiments may be embodied in an LED controller with one or more light channels. The LED light controller may include a command input, power, some number of light channel outputs, and a processor. The command syntax may provide a means of specifying a chain of unary instructions to set the output intensity of multiple light channels, and set a duration for transitioning light channels from the last setting to the new request. In example embodiments, the command syntax may be expanded to set the transition algorithms from settings such as linear or sine. Additionally, the command syntax may allow for chaining instructions to create a sequence of instructions, as well as repeating a sequence a specified number of times. In addition, the command syntax may allow for pausing until a specified time, or forcing immediate execution of the instructions rather than waiting for the previously sent instructions to complete. In example embodiments, the light channels may be, but are not limited to, red, green, blue, and white.
In example embodiments, each light channel may use pulse width modulation or some sort of amperage regulation to control the perceived brightness of one or more attached LEDs. Each channel may be expected to have LEDs of the same color, presumably a dedicated channel for red, green, blue, and white, for the purpose of individually adjusting the brightness of each color so colors may be blended to create an overall desired color output.
In accordance with example embodiments, an illumination controller may include a data input and a plurality of outputs. In example embodiments, the data input may be configured to receive a sequence of instructions, wherein the instructions have at least one fade command that specifies a fade duration and at least one color code. In example embodiments, the plurality of outputs may be configured to control a plurality of light emitting devices. In example embodiments, the light emitting devices may include a first device configured to emit a first light of a first color, a second device configured to emit a second light of a second color, and a third device configured to emit a third light of a third color. In example embodiments, the controller may be configured to determine, based on the at least one color code, a first target illumination level of the first light emitted by the first light emitting device, a second target illumination level of the second light emitted by the second light emitting device, and a third target illumination level the third light emitted by the third light emitting device. The controller may also be configured to control, based on the at least one fade command, the first light emitting device to emit light of the first target illumination level, the second light emitting device to emit light of the second target illumination level, and the third light emitting device to emit light of the third target illumination.
In accordance with example embodiments, a method of controlling a light may include receiving a sequence of instructions having at least one fade command that specifies a fade duration and at least one color code, determining, based on the at least one color code, a first target illumination level of a first light emitted by a first light emitting device, a second target illumination level of a second light emitted by a second light emitting device, and a third target illumination level of a third light emitted by a third light emitting device, and controlling, based on the at least one fade command, the first light emitting device to emit light of the first target illumination level, the second light emitting device to emit light of the second target illumination level, and the third light emitting device to emit light of the third target illumination.
In accordance with example embodiments, a non-transitory computer readable medium may be configured to cause a computer to determine a first target illumination level of a first light emitted by a first light emitting device, a second target illumination level of a second light emitted by a second light emitting device, and a third target illumination level of a third light emitted by a third light emitting device, and control, based on the at least one fade command, the first light emitting device to emit light of the first target illumination level, the second light emitting device to emit light of the second target illumination level, and the third light emitting device to emit light of the third target illumination.
In accordance with example embodiments, an illumination controller may be comprised of a data input configured to receive a sequence of instructions and a plurality of outputs configured to control a plurality of light emitting devices. In example embodiments the instructions may have at least one wait command and at least one color code. In example embodiments the light emitting devices may include a first device configured to emit a first light of a first color, a second device configured to emit a second light of a second color, and a third device configured to emit a third light of a third color. In example embodiments, the controller may be configured to determine, based on the at least one color code, a first target illumination level of the first light emitted by the first light emitting device, a second target illumination level of the second light emitted by the second light emitting device, and a third target illumination level of the third light emitted by the third light emitting device, and control, based on the at least one wait command, the first light emitting device to emit light of the first target illumination level, the second light emitting device to emit light of the second target illumination level, and the third light emitting device to emit light of the third target illumination.
Example embodiments are described in detail below with reference to the attached drawing figures, wherein:
Example embodiments will now be described more fully with reference to the accompanying drawings, in which example embodiments of the invention are shown. The invention may, however, be embodied in different forms and should not be construed as limited to the example embodiments set forth herein. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the drawings, the sizes of components may be exaggerated for clarity.
In this application, it is understood that when an element or layer is referred to as being “on,” “attached to,” “connected to,” or “coupled to” another element or layer, it can be directly on, directly attached to, directly connected to, or directly coupled to the other element or layer or intervening elements that may be present. In contrast, when an element is referred to as being “directly on,” “directly attached to,” “directly connected to,” or “directly coupled to” another element, there are no intervening elements present. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
In this application it is understood that, although the terms first, second, etc. may be used herein to describe various elements and/or components, these elements and/or components should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, and/or section from another elements, component, region, layer, and/or section. Thus, a first element, component region, layer or section discussed below could be termed a second element, component, region, layer, or section without departing from the teachings of example embodiments.
Spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper,” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the structure in use or operation in addition to the orientation depicted in the figures. For example, if the structure in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the exemplary term “below” can encompass both an orientation of above and below. The structure may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
Embodiments described herein will refer to planform views and/or cross-sectional views by way of ideal schematic views. Accordingly, the views may be modified depending on manufacturing technologies and/or tolerances. Therefore, example embodiments are not limited to those shown in the views, but include modifications in configurations formed on the basis of manufacturing process. Therefore, regions exemplified in the figures have schematic properties and shapes of regions shown in the figures exemplify specific shapes or regions of elements, and do not limit example embodiments.
The subject matter of example embodiments, as disclosed herein, is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different features or combinations of features similar to the ones described in this document, in conjunction with other technologies. Generally, example embodiments relate to controller and a method of controlling a light emitting device.
In example embodiments, the plurality of light emitting devices 210 may be spaced relatively close together. Thus, in example embodiments, light generated by the plurality of light emitting devices 210 may combine before being viewed by an observer. Accordingly, an observer may observe light having a property unlike the light generated by the individual light emitting devices 210. For example, in example embodiments, the first diode 220, the second diode 230, and the third diode 240 may be controlled by the controller 100 to generate a red light, a green light, and a blue light having the same illumination level. In such a case, light perceived by an individual viewing the diode module 200 may look white. As another example, the controller 100 may control the light emitting module so that the first diode 220 generates a red light having a first illumination level, the second diode 230 generates a green light having a second illumination level, and the third diode 240 generates a light as having zero illumination. When viewed by an observer, the light generated by the light emitting module 200 may look orange. In this application, it is noted that when the light emitting module 200 is described as producing a light of a certain color, it is meant the color perceived by a person when viewing the light emitting module 200.
In example embodiments, the controller 100 may include a data input 110 and a plurality of outputs 115. In example embodiments, the plurality of outputs 115 may connect the controller 100 to the light emitting module 200. For example, the plurality of outputs 115 may be comprised of a first output 120, a second output 130, and a third output 140 connecting the first diode 220, the second diode 230, and the third diode 240 to the controller 100. In example embodiments, each of the first, second, and third outputs may be wires which may be used to pulse modulate the first, second, and third diodes 220, 230, and 240.
In example embodiments, the controller 100 may be configured to receive an instruction chain 300 via the data input 110. The data input 110 may, for example, be a serial interface such as, but not limited to, an RS-232 interface or an RS-485 interface. The data input 110 may also be a wireless interface. Further yet, the data input 110 may be an IP network interface or a serial interface. Further yet, the data input 110 may be a Power-over-Ethernet interface or an Ethernet interface, for example, a Cisco EnergyWise interface. The controller 100 may use instruction chain 300 to control each of the light emitting devices of the light emitting module 200. For example, the instruction chain may include one or more commands configured to cause the controller 100 generate a first control signal, a second control signal, and a third control signal to control the first diode 220, the second diode 230, and the third diode 240. In example embodiments, the first, second, and third control signals may be communicated to the first diode 220, the second diode 230, and the third diode 240 via the first, second, and third outputs 120, 130, and 140. In example embodiments, each of the first, second, and third diodes 220, 230, and 240 may, for example, be controlled via pulse width modulation or by current modulation. In addition, the controller 100 may also include a linear driver 102 configured to regulate the power output to the first, second, and third channels. Of course, in example embodiments, it is understood the controller 100 may include a microprocessor configured to process the instruction chain 300 and control the first, second, and third diodes 220, 230, and 240.
In example embodiments the instruction chain 300 may be written as an ASCII string and the instruction chain 300 may include one or a plurality of commands. Table 1, for example, includes nonlimiting examples of commands that may be present in an instruction chain 300. As will be noted from a review of Table 1, the commands may cause the controller 100 to execute several operations such as, but not limited to, a change in light color emitted by the light emitting module, a fading operation, a delay in execution of a command, or a jump to instruction command.
The following are examples of instruction chains in accordance with example embodiments.
0[Pink]. This instruction chain includes one command (0[Pink]) to cause the controller 100 to control the light emitting module 200 to generate a color that would interpreted as pink by an observer. The controller may do so by pulse modulating the first diode 220, the second diode 230, and the third diode 240 via the first control output 120, the second control output 130, and the third control output 140. The colors generated by the pulse modulated diodes, when viewed by an ordinary observer, would combine to form a pink color as is well known in the art.
0[Pink]0[Black]. This instruction chain includes two commands. The first command (0[Pink]) immediately causes the controller 100 to control the Light emitting module 200 to generate a pink color as described above. The second command (0[Black]) immediately causes the controller 100 to control the Light emitting module 200 to produce a black color.
0[Pink]5000[Black]. This instruction chain includes two commands. The first command (0[Pink]) immediately causes the controller 100 to change an existing color to pink. The second command (5000[Black]) causes the controller to change the color to black over at time period of 5000 milliseconds. In example embodiments, the change from pink to black may use a predetermined or default fade algorithm since no fade algorithm is specified in the command signal.
0[Pink]2A5000[Black]. This instruction chain includes three commands. The first command (0[Pink]) immediately causes the controller 100 to change an existing color to pink. The second command (2A) selects a fade algorithm which is to be applied to a subsequent fading operation. In this case, the fade algorithm is “2”. The third command (5000[Black]) causes the controller 100 to change the color to black over at time period of 5000 milliseconds using a fade algorithm identified as “2.”
In example embodiments, various fade algorithms may be stored in a table which may be accessed by the controller 100. For example, as shown in Table 2, a table may include a plurality of identifiers identifying a type of fade algorithm. The fade algorithms, for example, may be, but are not limited to a linear and trigonometric fade algorithm. In example 4, therefore, the fade algorithm would correspond to a trigonometric fade algorithm. Though table 1 lists merely two fade algorithms, table 1 may include only a single fade algorithm or more than two fade algorithms.
2000[Pink]1A5000[Black]. This instruction chain includes three commands. The first command (2000[Pink]) causes the controller 100 to change an existing color to pink over a time period of 2000 milliseconds. Because no fade algorithm is identified, this operation may use a predetermined or default fade algorithm. The second command (1A) selects a fade algorithm which is to be applied to a subsequent fading operation. In this case, the fade algorithm is “1” corresponding to a linear fade algorithm. The third command (5000[Black]) causes the controller 100 to change the color to black over at time period of 5000 milliseconds using a fade algorithm identified as “2.”
2T0[Pink]3A5000[Black]. This instruction chain includes four commands. The first command (2T) causes the controller 100 to wait until a second hand of a local clock's time equals “2” (an example of a specific time value) before processing and/or executing subsequent commands. The second command (0[Pink]) immediately causes the controller 100 to change an existing color to pink. Because no fade algorithm is identified, this operation may use a predetermined or default fade algorithm. The third command (3A) selects a fade algorithm to be used for a subsequent fade operation. The fourth command (5000[Black]) causes the controller 100 to change the color to black over at time period of 5000 milliseconds. In this particular nonlimiting example, the change from pink to black uses a fade algorithm identified as “3.”
200{300[Green]1000[Red]}. This instruction chain includes the operation of transitioning a color from green to red. In particular, this character string causes a controller 100 to change a color of LED unit 200 to change to green over a period of three hundred milliseconds using a default or predetermined fading algorithm (since one is not specified). The character string then causes the controller 100 to change the color of the LED unit 200 to red over a period of one thousand milliseconds using a default or predetermined fading algorithm (since one is not specified). These operations are repeated 200 times.
10[Pink]. This instruction chain includes two operations. The first (!) causes the processor 100 to immediately stop processing any currently executing instructions and start executing instructions subsequent to this command even if there are unexecuted instructions sent earlier waiting to be processed or executed. The second command (0[Pink]) causes the controller 100 to cause the light emitting module 200 to immediately produce a pink color.
As indicated in Table 1, the colors identified in the instruction chain 300 may be any format. For example, in the event a user wished to identify the above color codes using Hex Code, rather than HTML color codes (as are provided above), the instructions chains may be expressed as:
0[FFCOCB] instead of 0[Pink];
0[FFCOCB]0[000000] instead of 0[Pink]0[Black];
0[FFCOCB]5000[000000] instead of 0[Pink] 5000[Black];
0[FFCOCB]2A5000[000000] instead of 0[Pink]2A5000[Black];
2000[FFCOCB]2A5000[000000] instead of 2000[Pink]2A5000[Black];
2T0[FFCOCB]3A5000[000000] instead of 2T0[Pink]3A5000[Black];
200{300[008000]1000[FF0000]} instead of 200{300[Green]1000[Red]}; and
!0[FFCOCB] instead of !0[Pink]
In example embodiments, a color code embedded in an instruction chain 300 may be used in conjunction with a lookup table in order to determine proper illumination levels of light to be emitted by the light emitting devices 210 of the light emitting module 200. Table 3, for example, is a nonlimiting example of a color table useable with example embodiments. For example, in example embodiments, the first, second, and third light emitting devices 220, 230, and 240 may be diodes configured to produce a red light, a green light, and a blue light. In the event a purple color is desired, the instruction chain may include the command 0[Purple] to cause the light emitting module 200 to emit a purple light. In example embodiments, the controller 100 may, for example, use the variable “Purple” to lookup the proper illumination levels associated with the red, green, and blue diodes 220, 230, and 240 to produce a “purple” color. In this particular example, the controller 100 would determine the illumination level of the red diode 220 should be 50%, the illumination level of the green diode 230 should be 0%, and the illumination level of the blue diode 240 should be 50%.
In example embodiments, a user may upload one or more instruction chains 300 to the controller 100 via the data input 110. The instruction chains 300 may be stored in a queue where the instruction chains 300 may be stored for processing. The queue may, for example, be embodied in a computer readable medium such as, but not limited to, a random access memory chip. In the event multiple commands 300 are sent to the controller 100, each command may be stored in the queue and processed in order. For example, as shown in
In example embodiments, the instruction chains 300 may be processed by the controller 100 to control the LED module unit 200. In example embodiments, for example, the controller 100 may include a microprocessor and/or a computer readable medium with instructions thereon to control the LED module 200 in accordance with the instruction chain 300 or a plurality of instruction chains.
It is understood that the algorithm(s) illustrated in
In the conventional art, LED lighting may be operated at a relatively low voltage. For example, the light emitting module 200 of example embodiments may operate at a voltage of about 24 V or less.
As explained above, if an instruction chain 300 includes the command “!” the controller 100 may quit executing any commands that are in the queue. For example, in the event the instruction chained received by the controller 100 at 10:05:01 am includes the command “!”, the controller 100 would cease processing and executing any of the previously uploaded instruction chains 300 and would immediately start processing and/or executing the commands following the “!” command.
Example embodiments of the invention have been described in an illustrative manner. It is to be understood that the terminology that has been used is intended to be in the nature of words of description rather than of limitation. Many modifications and variations of example embodiments are possible in light of the above teachings. Therefore, within the scope of the appended claims, the present invention may be practiced otherwise than as specifically described.
Number | Name | Date | Kind |
---|---|---|---|
7427840 | Morgan et al. | Sep 2008 | B2 |
7550935 | Lys et al. | Jun 2009 | B2 |
8344641 | Isaacson et al. | Jan 2013 | B1 |
8378781 | Peterson | Feb 2013 | B1 |
8567982 | Zampini et al. | Oct 2013 | B2 |
20050236998 | Mueller et al. | Oct 2005 | A1 |
20100079091 | Deixler et al. | Apr 2010 | A1 |
20130193873 | Isaacson et al. | Aug 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20150108918 A1 | Apr 2015 | US |