`
`Santa's Best and Polygroup
`Exhibit 1002
`IPR2016-01066
`U.S. Pat. No. 6,285,140
`
`
`
`nmuwuu mlulwmuw
`
` nuw
`
`PATENT Ai5PL§amTIoN
`|i|iflll1HIFJ||l|
`" '”J“
`uw§'£'!M}|?M"+-B’
`
`Wu-I.‘J|§.c
`Dateflallea
`
`.
`
`
`
`TE
`
`79.
`
`B&
`
`BL
`
`81
`
`
`{LEFT OUTSIDE)
` 0002
`
`
`
`°“’“’”
`iCQNTENT$
`
`
`
`
`*"*W
`
`.
`p..,?,:.n,¢
`
`I
`
`
`
`.9 ---=.{
`
`“W ’
`
`0002
`
`
`
`PATENT APPLICATION SERIAL N0.
`
`735
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`0413911999 sumac oooooom mm 092953;:
`0] H2120!
`330,09 ca
`0! PC1202
`35.00 [:4
`03 rcaaoa
`so.» an
`
`PT()-} 556
`
`(SIB?)
`'1..|.S. GPO: l39S43J-214430404
`
` 0003
`
`0003
`
`
`
`|
`
`5
`
`ATTORNEY DOCKET NO.
`T346-1953US
`
`SER}AL NUMBER
`FILING DATE
`CLASS
`GROUP AHT UNIT
`
`O9‘/295,367
`O4/21/99
`- 315
`2321
`§ JAMES RUXTON, TORONTO, CANADA.
`t‘I
`
`3I
`
`wwcon-1-INu];Ng 901.155-1-Ic DnTnl-ltalvriaii-nvtti-i--nit-iaittirlt
`VERIFIED
`
`M if;
`**3']']_ (nu;-1--L 5-1-M;g} D31-,\a-a-xxx:ta-1-wwa-a-n-wwwnwtw
`VERIFIED
`
`_
`
`**E'OREIGN !\PPLICATIONS************
`VERIFIED
`
`Mn?
`
`IF REQUIRED, FOREIGN FILING LICENSE GRANTED 05/13f99 ** SHALL ENTITY **
`0
`Farsi n Priority claimed
`Chase :3
`STATE OR
`SHEETS
`35 U C 1 19 la-d} cnndifiona met
`fives I n E]Ma: sitar Allowance COUNTRY
`DFlA?G|I.~
`=
`Varlfiect and Acknowledged
`_ VI‘-4W’
`'
`CAX
`3
`3,1} ,
`GOWLING STRIATHY 5': HENDERSON
`SUITE 4900
`4900 COMMERCE COURT WEST
`TORONTO ON HSL IJ3
`CANADA
`
`AIR HAIL
`
`ADDHESS
`
`INDEPENDENT
`CLAIMS
`
`4
`
`VAR IABLE-EFFECT LIGHTING SYSTEM
`
`I9‘
`1:
`
`FILING FEE
`
`"ECEWED
`
`5509
`
`_
`_
`I
`FEES: Authority has been given In Paper
`No.
`to chargelcredit DEPOSIT ACCOUNT
`NO.T for the following:
`
`‘
`
`-
`1] All Fees
`L16 Fe“ (Fmnm
`L17 Fees (processing Ext of time}
`1 _18 F995 ussuel
`El Other
`CI Credit
`
`1
`
`J
`v
`|
`
`,
`
`-
`
`(’
`
`.
`.
`
`'
`
` 0004
`
`0004
`
`
`
`PATENT APPLICATION TRANSMITTAL LETTER
`(Small Entity)
`
`TO THE PI§§lSTANT COMMlSSiONER FOR PATENTS
`
`TF‘8_I‘_‘tST‘|"llflBd herewith for filing under 35 U.S.C. 111 and 3? C.F.R. 1.53 is the patent application of:
`
`.66_/I3:/ill
`
`application.
`
`Certificate of Mailing with Express Mail Mailing Label No.
`Eight
`sheets of drawings.
`A certified copy of a
`Declaration
`Power of Attorney
`Information Disclosure Statement
`Preliminary Amendment
`One
`Verified Statemenfls) to Establish Small Entity Status Under 37 C.F.R. 1.9 and 1.27.
`Other: Return Acknowledgment Card
`
`Signed.
`
`Cl Unsigned.
`
`CLAIMS AS FILED
`
`#Filed
`
`#A|lowed
`
`#Exlra
`
`l
`
`-20 =
`
`10
`‘l
`
`E]
`
`BASIC FEE
`
`TOTAL FILING FEE
`
`$380.00
`
`$428-GD
`
`to cover the filing fee is enclosed.
`’-' Cl A check in the amount of
`[E The Commissioner is hereby authorized to charge and credit Deposit Account No.
`as described below. A duplicate copy of this sheet is enclosed.
`Charge the amount of
`$428.01}
`as filing fee.
`Credit any overpayment.
`Charge any additional filing fees required under 3? C.F.R. 1.16 and 1,11’.
`Charge the issue fee set in 37 C.F.R. 1.18 at the mailing of the Notice of Allowance,
`pursuant to 37 C.F.R.1.311(b).
`
`07-1751] lv
`
`Dated: April 20, 1999
`
`/% Signature
`
`Robert J. Graham
`Reg. No. 43,430
`
`
`0005
`
`P01 SM.R.I.LfREV06
`
`0005
`
`
`
`VARIABLIB-EFFECT LIGHTING SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention relates to variable-effect lighting systems. In particular, the present
`
`invention relates to a lighting system having coloured lamps for producing a myriad of
`
`colour displays.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`Variab1e~efi‘ect lighting systems are commonly used for advertising, decoration, and
`
`ornamental or festive displays. Such lighting systems frequently include a set of coloured
`
`lamps packaged in a common fixture, and a control system which controls the output
`
`intensity of each lamp in order to control the colour of light emanating from the fixture.
`
`15
`
`20
`
`25
`
`For instance, Kunins (US Patent 2,515,236) teaches a coloured light source comprising a
`
`fixture having a red lamp, a green lamp, and blue lamp, with each lamp being connected
`
`to separate output terminal of an autotransforrner. The autotransformer is connected to an
`
`AC voltage source, and the core of the autotransformer is rotated by a motor so as to vary
`
`the voltage applied to each lamp and thereby control the colour of light emanating from
`
`the fixture. Although the light source taught by Kunins may be suitable for producing
`
`light of varying colour, the use of a motor and autotransformer is bulky and is not suitable
`
`for producing intricate colcurdisplays.
`
`More recently, multi-coloured light-emitting diodes (LEDs) have been used with
`
`electronic switches to improve the versatility of the lighting system. For
`
`instance, Kazar [US Patent 5,008,595) teaches a light display comprising strings of
`
`bicoloured LED packages connected in parallel across a common DC voltage source.
`
`Each bicoloured LED package comprises a pair of red and green LEDs, connected back-
`
`
`0006
`
`0006
`
`
`
`to~back, with the bicoloured LED packages in each string being connected in parallel to
`
`the voltage source through an H—b1-idge circuit. A control circuit, connected to the H~
`
`bridge circuits, allows the red and green LEDS to conduct each alternate half cycle, with
`
`the conduction angle each half cycle being determi_ned according to a modulating input
`
`5
`
`source coupled to the control circuit. As a result, the bicolour LEDS can be forced to
`
`illuminate continuously, or to flash. Further, the colour of light produced by each
`
`bicolour LED can be continuously varied between two extremes.
`
`Although the light display taught by Kazar offers an improvement over prior variable
`
`l0
`
`eifect lighting systems, the control system and the H-bridge circuitry increases the
`
`complexity of the lighting system. Further, the rate of change of coloured light produced
`
`is restricted by the modulating input source. Therefore, the range of colour displays
`
`which can be produced by the light display is limited.
`
`15
`
`20
`
`Phares (US Patent 5,420,482) teaches a controlled lighting system which allows a greater
`range of colour displays to be realized. The lighting system comprises a control system
`which transmits illumination data to a number of lighting modules. Bach lighting module
`includes at least two lamps and a control unit connected to the lamps and responsive to
`the illumination data to individually vary the amount oflight emitted from each lamp.
`However, the illumination data only controls the brightness of each lamp at any given
`
`instant. Therefore, the lighting system is not particularly well suited to easily producing
`
`
`
`
`intricate colour displays.
`
`Murad (US Patent 4,317/,07l ) teaches a computerized illumination system for producing a
`continuous variation in output colour. The illumination system comprises a number of
`
`25
`
`different coloured lamps, a low frequency Clock, and a control circuit connected to the
`
`low frequency clock and to each coloured lamp for varying the intensity of light produced
`
`by each lamp. However, the rate of change of lamp intensity is dictated by the fiequency
`
`of the low frequency clock, and the range of colour displays is limited.
`
`-2-
`
`
`0007
`
`0007
`
`
`
`Accordingly, there remains a need for a relatively simple variable-effect lighting system
`
`which allows for greater variation in the range of colour displays which can be realized.
`
`SUMMARY OF THE INVENTION
`
`It is an object of the invention to provide a va.riable—effect lighting system which
`
`addresses the deficiencies of the prior art lighting systems.
`
`
`
`10
`
`15
`
`20
`
`25
`
`The variahleveffect lighting system, according to the invention, comprises a lamp
`
`assembly, and a programmable lamp controller. The lamp assembly includes a first
`
`illuminating element for producing a first colour of light, and a second illuminating
`
`element for producing a second colour of light. The programmable lamp controller is
`
`coupled to the lamp assembly for setting the conduction angle of the illuminating
`
`elements according to at least one predetermined pattern stored in a memory of the lamp
`
`controller. Preferably, the controller includes a user-operable input to allow the user to
`
`select the predetermined pattern and hence the colour display as desired. Alternatcly, the
`
`controller includes a temperature sensor for selecting the predetermined pattern according
`
`to ambient temperature, or a clock circuit for selecting the predetermined pattern
`
`according to the time.
`
`In one embodiment of the invention, the programable iamp controller comprises a
`
`microcontroller for setting the conduction angle according to a plurality of user-selectable
`
`predetermined patterns. The lamp assembly comprises a string ofserles-connected
`
`bicoloured light—emitting diodes connected in series between an AC power source and an
`
`electronic switch. The electronic switch is coupled to an output of the microoontroller
`
`and sets the conduction angle of the illuminating elements of each bicoloured light-
`
`emitting diode according to the predetermined pattern selected.
`
`
`
`0008
`
`0008
`
`
`
`In another embodiment of the invention, the lamp assembly comprises at least one
`
`bicoloured light-emitting diode coupled to a DC power source. The first illuminating
`
`element of the bicoloured light—emitting diode is coupled to the DC power source through
`
`a first electronic switch, and the second illuminating element of the bicoloured lightw
`
`emitting diode is coupled to the DC power source through :1 second electronic switch.
`
`The electronic switches are each coupled to a respective output of the programmable
`
`controller for setting the conduction angles of the illuminating elements.
`
`In yet another embodiment of the invention, the lamp assembly comprises at least one
`
`bicoloured light-emitting diode, with each illuminating element of the bicoloured light-
`
`emitting diode being driven directly by a respective output of the programmable
`controller.
`
`Applications of the invention include Christmas tree light strings, temperatu1'e—sensitive
`
`lights, night lights, jewelry, key chains and decorative lighting displays.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The preferred embodinients of the invention will now be described, by way of example
`
`only, with reference to the drawings, in which:
`
`Fig. la is a schematic circuit diagram of a variable-effect lighting system according to a
`
`first embodiment of the invention, showing a programmable controller. and a lamp
`
`assembly comprising a string of series-coupled bicoloured lamps;
`
`Fig. 1b is a schematic circuit diagram of one variation of the lamp assembly shown in
`
`Fig. la;
`
`10
`
`15
`
`20
`
`25
`
` é E
`
`‘
`
`“.1no.
`
`thishis"ii?
`
`
`0009
`
`0009
`
`
`
`Fig. lc is a schematic circuit diagram of another variation of the lamp assembly shown in
`Fig. la;
`
`Fig. 2a is a schematic circuit diagram of a variable—eft‘eet lighting system according to a
`
`second embodiment of the invention, wherein the lamp assembly comprises a string of
`
`parallel-coupled bicoloured lamps;
`
`Fig. 2b is a scliernatic circuit diagram of one variation of the lamp assembly shown in
`Fig. 2a;
`
`Fig. 2c is a schematic circuit diagram of one variation ofthe variable-effect lighting
`system shown in Fig. 2a;
`
`Fig. 3 is a schematic circuit diagram of a variable—ef‘fect lighting system according to a
`
`third embodiment ofthe invention, wherein the programmable controller directly drives
`each bicoloured lamp;
`
`Fig. 4 is a night light according to one implementation ofthe embodiment shown in Fig.
`2;
`
`Fig. 5a is a jewelry piece according to one implementation of the embodiment shown in
`Fig. 3; and
`
`
`
`10
`
`15
`
`20
`
`25
`
`Fig. Sb is a key chain according to another implementation of the embodiment shown in
`Fig. 3.
`
`DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
`
`
`0010
`
`0010
`
`
`
`Turning to Fig. la, a variable-effect lighting system according to a first embodiment of
`
`the invention, denoted generally as 10, is shown comprising a lamp assembly 11, and a
`
`programmable lamp controller 12 coupled to the lamp assembly 1] for setting the colour
`
`of light produced by the lamp assembly 11. Preferably, the lamp assembly 11 comprises
`
`string of multi—colourcd lamps 14 interconnected with flexible wire conductor to allow
`
`the ornamental lighting system 10 to be used as decorative Christmas tree lights.
`
`However, the multi-coloured lamps 14 may also be interconnected with substantially
`
`rigid wire conductor or affixed to a substantially rigid backing for applications requiring
`
`the lamp assembly 11 to have a measure of rigidity.
`
`The multi-coloured lamps 14 are connected in series with each other and with an AC
`
`voltage source 16, and a current-limiting resistor 18. Typically the AC voltage source 16
`
`comprises the 60 Hz 120 VAC source commonly available. However, other sources of
`
`AC voltage may be used without departing from the scope of the invention. As will be
`
`appreciated, the series arrangement of the lamps 14 eliminates the need for a step—dow'n
`
`transformer between the AC voltage source 16 and the lamp assembly 11. The current-
`
`limiting resistor 18 limits the magnitude of current flowing through the lamps 14.
`
`However, the cm-rent-limiting resistor 18 may be eliminated if a suflicient number of
`
`lamps 14 are used, or if the magnitude of the voltage produced by the AC voltage source
`
`16 is selected so that the lamps 14 will not be exposed to excessive current flow.
`
`For longevity, each lamp 14 comprises a bicoloured LED having a first illuminating
`
`element for producing a. first colour of light, and a second illuminating element for
`
`producing a second colour of light which is different from the first colour, and with the
`
`leads of each lamp 14 disposed such that when current flows through the lamp 14 in one
`
`direction the first colour of light is produced, and when current flows through the lamp 14
`
`in the opposite direction the second colour of light is produced. As shown in Fig. la,
`
`preferably each bicoloured LED comprises a pair of difl'erently—coloured LEDs 14a, 14b
`
`10
`
`15
`
`20
`
`25
`
`
`
`liiii111
`
`
`0011
`
`0011
`
`
`
`connected hack-to-back, with the first illuminating element comprising the LED 14a and
`
`the second illuminating element comprising the LED 14b.
`
`In a preferred implementation of the invention, the first illuminating element produces
`
`red light, and the second iiluminating element produces green light. However, other LED
`
`colours may be used if desired. In addition, both LEDs 14a, 14b of some of the lamps 14
`
`may be of the same colour if it is desired that some of the lamps 14 vary the intensity of
`
`their respective colour outputs only. Further, each lamp 14 may he fitted with a
`
`translucent ornamental bulb shaped as a star, or a flower or may have any other
`
`aesthetically pleasing shape for added versatility.
`
`The programmable controller 12 comprises a microcontroller 20, a bidirectional
`
`semiconductor switch 22 controlled by an output Z of the microcontroller 20, and a user-
`
`operable switch 24 coupled to an input S of the microcontroller 20 for selecting the
`
`colour display desired. In addition, an input X of the microeontroller 20 is coupled to the
`
`AC voltage source 16 through a curreut—lirniting resistor 26 for synchronization purposes,
`
`as wiil be described below. The bidirectional switch 22 is positioned in series with the
`
`lamps 14, between the current limiting resistor 18 and ground. In Fig. 1, the bidirectional
`
`switch 22 is shown comprising a triac switch. However, other bidirectional switches,
`
`such as IGBTs or back-to-back SCRS, may be used without depaning from the scope of
`the invention.
`
`The programmable controller I2 is powered by a 5—volt DC regulated power supply 28
`connected to the AC voltage source 16 which ensures that the microcontroller 20 receives
`
`a steady voltage supply for proper operation. However, for added safety, the
`
`programmable controller 12 also includes a brownout detector 30 connected to an input Y
`
`of the microcontroller 20 for placing the microcontrollerzfl in a stable operational mode
`
`should the supply voltage to the microcontroller 20 drop below acceptable limits.
`
`10
`
`15
`
`20
`
`25
`
`
`
`.-ti@5351ii‘.in$3
`
`I‘.33
`.5:.
`:5 5
`X 5:
`
`.
`
`
`
`0012
`
`
`
`The rnicrocontroller 20 includes a non-volatile memory which is programmed or
`
`“burned-in” with preferably several conduction angle patterns for setting the conduction
`
`angle of the bidirectional switch 22 in accordance with the pattern selected. In this
`
`manner, the conduction angles of the LEDs 14a, 14b (and hence the colour display
`
`5
`
`generated by the bicoloured lamps 14) can be selected.
`
`Preferred colour displays include, but are not limited to:
`
`_.
`
`.‘°.°°.r~‘$7‘§-":**P°!*’
`
`.5
`
`,_ ._
`
`._. E‘-‘
`
`10
`
`15
`
`20
`
`toifii
`..“um
`'1la1u:
`
`
`
`
`continuous slow colour change between red, amber and green
`
`continuous rapid colour change between red, amber and green
`
`continuous alternate flashing of red and green
`
`continuous random flashing of red and green
`
`continuous illumination of red only
`
`continuous change in intensity ofred
`
`continuous flashing of red only
`
`continuous illumination of green only
`
`continuous change in intensity ofgreen
`
`continuous flashing of green only
`
`continuous illumination of red and green to produce amber
`
`combination of any of the preceding colour displays
`
`However, as will be appreciated, the microcontroller 20 needronly be programmed with a
`
`L,
`W
`
`single conduction angle pattern to function. Fuwm,
`-progrezmmeci in situ with a user interface (not shown) orlincreased flexibility. As will be
`
`25
`
`apparent, if the microcontroller 20 is programmed with only a single conduction angle
`
`pattern, the user-operable switch 24 may be eliminated from the programmable controller
`
`12. Further, the user-operable switch 24 may be eliminated even when the
`
`microcontroller 20 is programmed with a number of conduction angle patterns, with the
`
`microcontroller 20 automatically switching between the various conduction angle
`
`,gi
`
`“l
`
`
`0013
`
`0013
`
`
`
`patterns. Alternately, the user-operable switch 24 may be replaced with a clock circuit
`
`which signals the microcontroller 20 to switch conduction angle patterns according to the
`time.
`
`5
`
`The operation of the variable-effect lighting system 10 will now be described. Prior to
`
`power-up of the lighting system 10, the microcontroller 20 is programmed with at least
`
`one conduction angle pattern. Altemately, t.he rnicrocontroller 20 is programmed alter
`
`power-up using the above-described user interface. Once power is applied through the
`
`AC voltage source 16, the 5-volt DC regulated power supply 28 provides power to the
`microcontroller 20 and the brownaout detector 30.
`
`10
`
`After the brown-out detector 30 signals the microcontroller 20 at input Y that the voltage
`supplied by the power supply 28 has reached the threshold sufficient for proper operation
`ofthe microcontroller 20, the niicroconrroller 20 begins executing instructions for
`implementing a default conduction angle pattern. However, if a change of state is
`detected at the input S by reason of the user activating the user-operable switch 24, the
`microcontroller 20 will begin executing instructions for implementing the next
`conduction angle pattern. For instance, ifthe microcontroller 20 is executing instructions
`for implementing the third conduction angle pattem identified above, actuation of the
`uscr—operable switch 24 will force the microcontroller 20 to being executing instructions
`for implementing the fourth conduction angle pattern.
`
`l 5
`
`20
`
`For ease of explanation, it is convenient to assume that the LED 14a is a red LED, and the
`
`LED 14b is a green LED. It is also convenient to assume that the first conduction angle
`
`25
`
`pattern, identified above, is selected. The operation ofthe lighting system 10 for the
`
`remaining conduction angle patterns will be readily understood from the following
`description by those skilled in the art.
`
`
`0014
`
`0014
`
`
`
`Afier the conduction angle pattern is selected, either by default or by reason of activation
`of the user-operable switch 24, the microcontroller 20 will begin monitoring the AC
`signal received at the input X to the rnicrocontroller 20. Once a positive~going zero-
`
`crossing of‘ the AC voltage source 16 is detected, the microconrroller 20 delays at
`
`predetermined period. After the predetermined period has elapsed, the microcontroller 20
`
`issues a pulse to the bidirectional switch 22, causing the bidirectional switch 22 to
`
`conduct current in the direction denoted by the arrow 32. As a result, the red LED 14a
`
`illuminates until the next zero-crossing of the AC voltage source 16. In addition, while
`
`the LED 14a is conducting current, the predetermined period for the LED 14a is increased
`
`in preparation for the next positive-going zero-crossing of the AC voltage source 16.
`
`After the negative-going zermcrossing of the AC signal source 16 is detected at the input
`
`X, the microcontroller 20 again delays a predetermined period. After the predetermined
`
`period has elapsed, the microcontroller 20 issues a pulse to the bidirectional switch 22,
`
`causing the bidirectional switch 22 to conduct current in the direction denoted by the
`
`arrow 34. As a result, the green LED 14b illuminates until the next zero—crossing of the
`
`AC voltage source 16. In addition, while the LED 14b is conducting current, the
`
`predetermined period for the LED l4b is decreased in preparation for the next negative-
`
`going zero-crossing of the AC voltage source 16.
`
`With the above conduction angle sequence, it will be apparent that the period of time
`
`each cycle during which the red LED 14a illuminates will continually decrease, while the
`
`period of time each cycle during which the green LED l-‘-lb illuminates will continually
`
`increase. Therefore, the colour of light emanating from the bicoloured lamps 14 will
`
`gradually change from red, to amber, to green, with the colour of light emanating from
`
`the lamps 14 when both the LEDs 14a, 1413 are conducting being determined by the
`
`instantaneous ratio of the magnitude of the conduction angle of the LED 14a to the
`
`magnitude of the conduction angle of the LED 14b.
`
`
`
`10
`
`15
`
`20
`
`25
`
`-10-
`
`ll
`
`
`0015
`
`0015
`
`
`
`When the conduction angle of the green LED 14b reaches 180°, the conduction angle
`
`pattern is reversed so that the colour of light emanating from the bicoloured lamps 14
`
`changes from green, to amber and back to red. As will be appreciated, the maximum
`
`conduction angles for each conducting element of the lamps 14 can be set less than 180°
`if desired.
`
`In a preferred implementation of the invention, the microeontroller 20 comprises a
`
`Microchip PICIZCSOS microcontroller. The zero-crossings of the AC voltage source 16
`
`are detected at pin 3, the state of the user-operable switch 24 is detected at pin 7, and the
`
`10
`
`bidirectional switch 22 is controlled by pin 6. The brown-out detector 30 is coupled to
`
`pin 4. The assembly code listing for generating conduction angle pattems 1,2 and 3 with
`
`the Microchip PIC12C508 rnicrocontroller is shown in Table A.
`
`
`
`itlift:ii???@351:HJ as
`
`E1;-‘.._.t;. 5
`
`TABLE A
`
`; Constants
`
`AC_IN EQU 4;
`
`GP4 (pin 3) is AC input pin X
`
`TRIGGERKOUT EQU 1; GP1 [pin 6) is Triac Trigger pin Z
`
`BUTTON EQU 0; GPO (pin 7) is Button 24 input pin S and is active low
`
`delay_dim EQU 0x007
`
`dim_val EQU 0x008
`
`trigger_delay EQU 0x009
`
`DELAY} EQU ox00A
`
`DELAY2 EQU oxoon
`
`DELAY3 EQU 0x00C
`
`RED_INTENSI'l"Y EQU OXOUD
`
`MO
`
`25
`
`
`
`IiiitIE1»"ll?"ll"ltii}‘.t‘.f:"Elit.‘-.7.”
`
`
`
`
`
`
`0016
`
`0016
`
`
`
`SUBTRACTfi'REG EQU 0x00E
`
`DELAYS EQU 0xouF
`
`FLASH_COUNT EQU 0x010
`
`FLASI-I_COUN'[‘_SHAD EQU oxen
`
`FADE_DELAY EQU 0x012
`
`org 0;
`
`RESET vector location
`
`10
`
`movwf OSCCAL;
`goto START
`
`move data fi'om W register to OSCCAL.
`
`DELAY;
`
`subroutine to delay 83 usec * register W
`
`rnovwf dim_vaI;
`
`15
`
`LOOP1
`
`rnovlw .27
`
`rnovwf de]ay_dim
`
`20
`
`25
`
`LOOP2;
`
`delay 83 LISEC
`
`dccfsz delay__dim,1
`
`golo LOOP2
`
`clccfsz dim__va],1
`
`goto LOOP}
`
`return
`
`TRIGGER;
`
`subroutine to send trigger pulse to triac
`
`bsf'GPTO,TR_IGGER_OU'1‘
`movlw b'000]OD01'
`
`TRIS GPIO;
`movlw .30
`
`send trigger to triac
`
`
`
`
`0017
`
`0017
`
`
`
`movwf trigger__de1ay
`LOOP3
`
`decfsz triggerfldelayj
`
`5
`
`golo LOOP3;
`movlw b'O001001 1'
`
`delay 30 usec
`
`return
`
`TRIS GPIO;
`
`remove trigger from triac
`
`DEL/—\Y_SEC
`
`10
`
`rnovlw .4
`
`
`
`movwf DELAY3;
`
`set DELAY3
`
`SEC2
`
`movlw .250
`
`rnovwf DELAY2;
`
`set DELAY2
`
`15
`
`QUART_SEC2
`rnovlw .250
`
`rnovwf DELAY1;
`MSEC2
`
`set DELAYI
`
`20
`
`clrwdt;
`
`clear Watchdog timer
`
`decfsz DELAYLI ; Wait DELAY]
`gnto MSEC2
`
`dccfsz DELAY2,l; wait DELAY2 " DELAYI
`
`goto QUART_SEC2
`
`decfsz DELAY3,I;
`3010 SEC2
`
`25
`
`return
`
`wail DELAY3 * DELAY2 * DELAY]
`
`FADE/SUB;
`
`subroutine to vary conduction angle for triac each half cycle
`
` 0018
`
`0018
`
`
`
`UP_LOOP;
`
`increase delay before triac starts to conduct each negative half
`
`cycle while decreasing delay each positive half cycle
`
`btfss GPIO,AC_IN
`
`goto UP_LClOP;
`
`wait for positive swing on AC input
`
`5
`
`WAIT(NEGl
`
`call WAIT_NEG_EDGEl;
`
`increase delay before turning triac on each negative
`
`NO_CI-IANGE
`
`half cycle
`
`movlw .90;
`
`register W = maximum delay value before triae turns on
`
`10
`
`subwf RED_IN'1‘ENSITY,0
`
`btfsc STATUS,Z
`
`goto WAlT_NEG2;
`
`if RED_lNTENSl'I'Y is equal to maximum delay value,
`
`start increasing delay value
`
`movf R.ED__INTENSlTY,O
`
`15
`
`btfss GPIQBUTTON
`
`return;
`
`return if Button depressed
`
`call DELAY;
`
`delay RED_I_NTENSlTY * 33 usec
`
`call TRIGGER;
`
`send trigger pulse to triac
`
`MAIN_LOOP2
`
`20
`
`btfsc GPlD,AC_[N
`
`goto MAlN_[.0OP2; wait for negative swing on AC input
`
`WAIT_POSwEDGEl
`
`btfss GPlO,AC_1'N
`
`25
`
`goto WAlTHPOS_EDGEl; wait for positive swing on AC input
`rnovlw .96
`
`movwf SUBTRACT_REG;
`
`SUBTRACT_REG = maximum delay value
`
`+ minimum delay value before triae turns on
`
`movf RED_IN'I‘ENSITY,0
`
`subwf SUBTRACT_REG,O
`
`.i.'i“EfIiHEIlfiiuiI';51~H
`
`tit..:'si‘.'-I."i1'1uM"
`
`
`0019
`
`0019
`
`
`
`call DELAY;
`
`delay (SUBTRACT_REG - RED_INTENSITY) * 83 usec
`
`call TRIGGER;
`
`send trigger pulse to triac
`
`goto UILLOOP
`
`DOWN_LOOP
`
`btfss GPIO,AC_lIN
`
`goto DOWN_LOOP; wait for positive swing on AC input
`
`WA1T_NEG2
`
`call WAIT__NEG_EDGE2;
`
`decrease delay before tri-ac turns on each negative
`
`half cycle
`
`NO_CHANGE2
`rnovlw .6
`
`subwf RED_INTENSITY,0; register W = RED_WTENSITY - minimum delay
`value
`
`15
`
`btfsc STATUSZ
`
`goto WAI'[‘¥NBG1;
`
`if RED_INTENSITY is equal to minimum delay
`
`value, start increasing delay
`
`movf RED__INTENSITY,0
`
`blfss GPIO,BU'I”I'ON
`
`20
`
`return;
`
`return if Button depressed
`
`cal] DELAY;
`
`delay ‘RED_[NTENSITY * 83 usee
`
`Call TRIGGER;
`
`send trigger pulse to triac
`
`MAINLLOOP3
`
`btfsc GPIO,AC_1'N
`
`25
`
`goto MA-IN__LOOP3; wait for negative swing on AC input
`
`WAIT_POS_EDGB2
`
`btfss GPIO,AC_IN
`
`goto WA]T_POS_EDGE2; wait for positive swing on AC input
`movlw .96
`
`‘".i:'.‘.I‘§£i‘iir".I'55iii
`
`
`
`
`
`
`0020
`
`
`
`movwf SUBTRACT_REG;
`
`SUBTRAC'I‘__RBG = maximum delay value before
`triac turns on
`
`movf R_ED_INTBNSlTY,0
`
`subwf SUBTRACTfREG,0
`
`5
`
`call DELAY‘.
`
`del:1y(SU]3TRACT_REG - RED_INTENSITY} * 83 user:
`
`call TRIGGER;
`
`send trigger pulse to triac
`
`goto DOWN_LO0P
`
`return
`
`10
`
`WAlT_N'EG_EDGE1;
`
`routine to increase delay before triac turns on each negative
`
`half cycle
`
`_
`
`15
`
`return
`
`20
`
`return
`
`btfsc GPIQACKIN; wait for negative swing on AC input
`goto WAIT_NEG_EDGE1
`decfsz DELAY5,l; DELAYS = fade delay, ie number of cycles at present delay
`value; decrement and return ifnot zero
`
`incf RED_INTENSITY,1;
`movfFADE_DELAY,O
`movwfDELAYS
`
`otherwise, increment delay and rerurn
`
`WAIT_NEG_EDGE2;
`
`routine to decrease delay before triac turns on each negative
`
`half cycle
`
`btfsc GPIO,AC_1N; wait for negative swing on AC input
`
`25
`
`goto WAlT(N'EG_EDCiE2
`
`decfsz DELAY5,1; DELAYS = number of cycles at present delay value;
`decrement and return if not zero
`
`return
`
`decfRED_]NTENSI'l"Y, 1;
`
`otherwise, decrement delay and return
`
`-15-
`
`/ 1;)»
`
` 0021
`
`0021
`
`
`
`movfFADE_DELAY,0 '
`
`movwfDELAY5;
`
`DELAYS = FADE_DELAY
`
`l‘6i.Ltl”1'l
`
`5
`
`FLASH__SUB;
`
`subroutine to flash lights at speed dictated by value assigned to
`
`FLASH_COUNT_SHAD
`
`Inovf FLASH_COUNT_SHAD,O
`
`1no\v'wfFLASH#COUNT;
`
`FLASI-LCOUNT = duration of flash
`
`MAIN_LOOP4
`
`10
`
`btfsc GPIO,AC_IN ;
`
`wait for negative swing on AC input
`
`goto MA]N_LOOP4
`
`WAIT_POS_EDGE4
`btfss GPIO,AC_IN
`goto WAIT_POS_l-EDGE4; wait for positive swing on AC input
`moviw .6
`
`‘='
`
`
`15
`
`call DELAY
`call TRIGGER;
`btfss GPIQBUTTON
`
`send trigger pulse to triac
`
`return ;
`
`20
`
`return ifButton pressed
`
`deefsz FLASI-l_COUNT
`decrement FLASHiCOUNT and repeat until zero
`goto MAIN_LO0P4;
`movf FLASI-I_COUNT_SHAD,0
`
`movwf F LASI-I_COUNT;
`
`reset FLASH_COUNT
`
`DOWN_LO0P4
`
`25
`
`btfss GPIO,AC_IN ;
`
`wait For positive swing on AC input
`
`goto DOWN_LOOP4
`
`WAlT__N'EG_EDGE4
`
`btfsc GPIO,AC_IN
`
`goto WAIT_NEG_EDGE4; wait for negative swing on AC input
`
`-17-
`
`/K
`
`
`0022
`
`0022
`
`
`
`
`
`
`
`ilFi|L1fiin'E1'E£?:'“i"L1f['.E..-.'.f'_ii'';‘.'.iiitfiluIE1‘El:
`
`movlw .6
`
`call DELAY
`
`call TRIGGER
`
`btfss GPIQBUTTON
`
`decfsz FLASI-l_COUNT
`
`send trigger pulse to triac
`
`return if Button pressed
`
`gotu DOWNVLOOP4;
`
`decrement FLASE-I_COUNT and repeal until zero
`
`return ;
`
`return
`
`I0
`
`START
`
`movlw b'000l0011'
`
`TRIS GPIO;
`
`set pins GP4 (AC input), GP} (Triac output to high impedance),
`
`GPO (Button as input)
`
`movlw b'lO(}10111'; enable pullups on GPO, GP1, GP3
`OPTION
`
`15
`
`movlw .4
`
`movwf RED_[NTENSITY',
`movlw .5
`
`load RED_INTENSITY register
`
`movwf DELAYS;
`
`set initial fade
`
`20
`
`FADE_SLOW
`
`call DELAY_SEC; wait DELAYS * DELAY2 * DELAY1
`movlw .5
`
`movwfFADE_DELAY;
`
`set slow FADE_DELAY
`
`call FADE_SUB ;
`
`slowly fade colours until Button is pressed
`
`goto FADE_FAST
`
`FADE_FAST
`
`call DELAYWSEC;
`
`wait DELAY3 * DELAY2 * DELAYI
`
`-13-
`
`{"1
`
`0023
`
`0023
`
`
`
`movlw .1
`
`movwfFADB_DELAY;
`
`set fast FADE_DELAY
`
`call FADE_SUB;
`
`rapidly fade colours until Button is pressed
`
`goto FLASH2/SEC
`
`FLASH-I2_SEC ; flash redfgreen 2 sec interval
`
`call DELAY_SEC; wait DELAY3 * DELAY2 “ DELAY1
`movlw .120
`
`movwf FLASH_COUN'I'_SHAD
`
`10
`
`FLASEI2B_SEC
`
`btfss GPlO,BU‘TTON
`
`goto FLASI-Il_SEC;
`
`slowly flash lights until Button is pressed
`
`cal] FLASI-l_SUB
`
`goto FLASH2B_SEC
`
`FLASH1_SEC ; flash reclfgreen 1 sec. interval
`
`call DELAY_SEC;
`
`wai1DEELAY3 * DELAY2 * DELAYI
`
`movlw .60
`movwf FLASH_COUNT_SHAD
`FLASH1B_SBC
`btfss GPIQBUTTON
`
`goto FLASH_FAST;
`
`flash lights at moderate speed until Button is pressed
`
`call FLASH_SUB
`
`goto FLASH1B_SEC
`
`15
`
`‘E
`
`20
`
`25
`
`FLASI-l_FAST ; flash redlgreen 0.25 sec. interval
`
`call DELAY_SEC; wait DELAY3 "‘ DELAY2 * DELAYl
`movlw .15
`
`rnovwf FLASH_COUNT_SHAD
`
`-19-
`
`2”“
`
`
`0024
`
`0024
`
`
`
`FLAS H_FAS TB
`
`btfss GPIO,BUTTON
`
`goto FADE_SLOW;
`
`rapidly flash lights until Button is pressed
`
`call FLASH__SUB;
`
`slowly fade colours if Button is pressed
`
`goto FLASH__FASTB
`
`end
`
`l0
`
`15
`
`Numerous variations of the lighting system lU are possible. In one variation {not shown),
`
`the user—operable switch 24 is replaced with a temperature sensor coupled to the input 3
`
`of the microcontroller 20 for varying the conduction angle pattern according to the
`
`ambient temperature. Alternately, the programmable lamp controller 12 includes a
`
`plurality of temperature sensors, each being sensitive to a different temperature range,
`
`and being coupled to a respective input of the microcontroller 20. With these variations,
`
`one colour display is produced when the ambient temperature falls within one range and
`
`another colour display is produced when the ambient temperature falls within a different
`range.
`
`
`
`'1..v;
`
`5I
`
`=‘
`
`Fs;:1x:I:
`
`-_l=.-
`'I'——'
`
`20
`
`In another variation (not shown), each lamp 14 comprises a pair of LEDS with one of the
`
`LEDS being capable of emitting white light and with the other of the LEDS being capable
`
`of producing a colour of light other than white.
`
`ln still another variation, each lamp 14
`
`comprises a LED capable of producing three or more different colours of light, while in
`
`the variation shown in Fig. lb, each lamp 14 comprises three or more difTerently-
`
`coloured LEDS. In these latter two variations, the LEDs are connected such that when
`
`25
`
`current flows i.n one direction one colour oflight is produced, and when current flows in
`
`the opposite direction another colour of light is produced.
`
`In yet another variation, shown in Fig. 1c, the programmable lamp controller 12
`
`comprises two bidirectional switches 22a, 22b each connected to a respective output Z1,
`
`
`0025
`
`0025
`
`
`
`Z2 of the microcontroller 20. The lamp assembly ll comprises first and second strings
`
`lla, 1 lb of series-connected backAto~back-coupled [.EDs 14a, 14b, with each string Ila,
`
`llb being connected to the AC voltage source 16 and to a respective one of the
`
`bidirectional switches 22a, 22b. In this variation, each multi-coloured larnpl4 comprises
`
`one pair of the back—to—back-coupled LEDS 14a, 14b of the first string lla and one pair of
`
`the back-to-l:Iack~c0upled LEDs 14a, 14b of the second string llb, with the LEDs of each
`
`lamp 14 being inserted in a respective translucent omamental bulb. As a result, the
`
`colour of light emanating from each bulb depends on the instantaneous ratio of the
`
`conduction angles of the LEDs 14a, 14b in both strings lla, llb. Preferably, the outputs
`
`Z1, 22 are