Home

Programmable appliance controller

image

Contents

1. asked block 278 as to whether any row is enabled by the depression of an appropriate key on the keyboard If the answer is NO then the column count is incremented block 280 following which a determination is made as to whether or not all twelve columns have been acti vated block 282 and if not reentry is made to block 276 If a row was enabled block 284 is entered and a conversion is made of the column count and the row enabled to an internal key value A determination is then made as to the current keyboard state block 285 If it is Key Up the Key Down Once state is set block 286 If Key Down Once then a determination is made as to whether the current key is equal to the previously saved key value block 288 and if not block 272 is entered If equal then the Key Down state is set block 290 following which a key to be processed flag is set block 292 for use by the appropriate key processing routine entered by means of the MCL which is returned to block 294 Block 294 is also entered if the state so determined is Key Down If the Key Up Once state is determined by block 285 block 296 is entered and a determination is again made as to the current keyboard state If Key Up or Key Down Once return is made to the MCL If Key Down the Key Up Once state is set block 297 and return is made to the MCL If Key Up Once the Key Up State is set block 298 and return is made to the MCL 4 279 012 13 The Interrupt rout
2. ergy source from said source input to said source output and E means for generating said control signal compris ing 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated said storage means including a plurality of storage locations said plurality of locations including a plurality of groups of locations each of said groups of loca tions for storing said information indicative of different ones of said periods of time means for entering into said storage means infor mation defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time and means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal 44 Apparatus as in claim 43 wherein each day of a seven day interval includes a subplurality of said groups of said locations k c
3. 164 and keyboard 108 of lines 145 which wire corresponds to the number specified by the MPU is activated For example suppose that the MPU wants to illuminate LED position 7 The binary coded version of this O111 is presented on line 142 Converter 162 converts this so that the appropriate line of lines 145 is activated When buffered by buffer 164 this will permit LED s at posi tion 7 to be activated The second piece of information which of the eight available LED s at a given display position are to be illuminated is provided by the MPU on line 140 This is buffered by buffer 166 and sent to the display device 160 The MPU holds the information on lines 140 for a period of time This time is sufficient to insure that the individual LED s will be illuminated and seen by the operator The buffers 164 and 166 may be those manufacture by Texas Instruments Inc having part numbers 7407 and 75491 respectively whereas converter 162 may include that device having part num ber 74154 As mentioned above the MPU uses the display to communicate two types of information to the operator In the first mode the operator is entering the program ming information into the apparatus of the present in vention with the intention of establishing a schedule for automatic operation of the connected device s This mode is also used to review the programming informa tion previously entered into the invention In this pro gramming mode of operati
4. 6 or 10 and 5 MOD MOD HOUR 12 4 3 if Hour 3 7 or 11 and M L S left shift of M by the MOD number Thus by the above example BM would be calculated as follows BM 2 LS MOD MOD 11 12 4 2 2 1 6 3 2 2 LS 6 binary 10000000 Thus the bit is indicated by the binary one which by this example is in the left most position This correlates with the bits shown in the Bit Map of FIG 4 The Display Current Buffer routine DCB as shown in FIG 9 is entered at block 250 This routine is used to display the contents of the display buffer shown in FIG 6 Each byte of the display buffer is examined If the high order bit is a binary zero the current byte will not be displayed and the routine will proceed to the next byte If the high order bit is a binary one the low order six bits specify the information that is to be displayed These six bits are used to obtain a value in a conversion table which is stored in the control store Such value represents the segments of the display position to be illuminated Thus after initially setting the byte count to equal one block 252 such byte indicated by the byte count is fetched block 254 and as shown by block 256 either the byte count is incremented block 262 or the low order six bits of such byte are used to select a dis play value block 258 Such value is used for the dis play to the operator for a short period of time After incrementing the byte count a determinati
5. AM of the current day day as specified in the display buffer This temporary buffer is used as a pointer and is made to sequence through all of the BIT MAP values corresponding to the day in question The value in this buffer is main tained until the review routine is again initialized The buffer is used as a pointer into the Bit Map and the next bit which is a 1 is searched for If the temporary buffer teaches 12 00 AM both START and STOP display buffer fields are set to blank If a 1 is found the value in the temporary buffer is moved to the START display field and the temporary buffer is used to find the next 0 in the Bit Map If the temporary buffer reaches 12 00 AM of the next day the value is set to 12 00 AM In any case the temporary buffer is moved to the STOP field of the display buffer and return is made to the MCL As has been seen hereinbefore a Bit Map has been utilized to store on off information by bit representa tions with each bit representing a time interval of thirty minutes It has been seen however that more or less than thirty minutes may have been so represented An alter native embodiment to such Bit Map is shown in FIG 12 The memory table of FIG 12 is used to store time range information by use of slot entries As shown there are included eight slots however by expanding the memory table additional slots may be had Each slot specifies a time period for the operation of the appli ance under control For
6. each slot there is an entry for each day of the week FIG 12 illustrates entries by way of example for day 3 Wednesday The designation 0 0 means that there is no entry Thus non zero entries specify time periods for appliance operation Thus on Wednesday the appliance will be on from 7 00 AM to 8 30 AM as shown for the entry in slot 3 and so on as shown for the entries in slots 5 and 7 As shown slots are allotted for additional entries However such entries need not be made in a sequential manner by slot number That is an entry of 6 00 PM 7 00 PM may have been entered in any slot for example slot 1 and not necessarily slot 6 It can be seen that various changes may be made to the controller of the present invention without depart ing from the spirit and scope thereof For example it can be seen that the Bit Map may have a different orga nization or format of information Further the control ler may have been programmed for operation for longer than a seven day period for example one month or even one year The devices under control could have been operated independently i e on a different pro grammed basis by partially reproducing the controller of the present invention That is not all functions would have to be reproduced e g the time of day generation logic It can further be seen that the relay which is controlled for applying power to the appliance may have been included in the appliance itself with
7. error light and return to MCL move START time to temporary time of day tod buffer lI _ 27 x 16 17 continued set BIT MAP corresponding to temp tod to 1 I 17 10 17 11 increment temp tod by 30 minutes 17 12 is temp tod STOP time 17 13 return to MCL 18 REVIEW 18 1 is review not initialized flag set 18 2 reset review not initialized flag to 0 18 3 set temp tod to 12 00 AM 18 4 use temp tod as a pointer into BIT MAP search for the first 1 bit if 12 00 AM is reached blank the dis plays and return 18 5 move temp tod to START display buffer 18 6 use temp tod as a pointer into BIT MAP search for the first 0 bit if 12 00 AM is reached stop 18 7 move temp tod to STOP display buffer 188 return to MCL Keyboard processing routines 1 DAY through 8 PM all cause the display to be modified by selecting a portion of the display and then modifying it They all deal with a set of pointers kept in temporary bytes These pointers identify the interpretation of the digit keys 0 9 that will follow For example the value in one of the pointers will determine if the next number that is entered will be considered to be part of the combination to unlock the controller of the present invention The DAY routine 1 will set the day portion of the display to blank and then the day expected flag to 1 to indicate that a digit entered should be considered a value io be put into the day display portion of
8. low power lines coupling the controller and the relay in the 4 279 012 21 appliance In fact the controller may have been cou pled to the appliance without wires ie by remote control The power cord for the appliance under con tro may have been locked in a different way for exam ple by use of a lock plate without the need for hinging or for example by use of special AC sockets in which case the controlled appliance would have a special AC socket which could not be plugged into a conventional AC wall socket In fact for applications which need not have a locked AC cord such as for example for use in controlling lights for security purposes a lock need not be used It can further be seen that different types of logic may be used without departing from the invention and that the control words shown by the flow diagram and flow listings may be altered without departing from the scope of the invention Having described the invention what is claimed as new and novel and for which it is desired to secure Letters Patent is 1 Controller apparatus for controlling the operation of a device said apparatus comprising A switch means having a control input a source input and a source output B first means for coupling said source output to said device C second means for coupling an energy source to said source input D means for receiving a control signal at said control input wherein the presence of said control sig
9. means for generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated and 3 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal D means for setting a combination for use in prevent ing unauthorized use of said apparatus E means for entering said combination each time said information in said storage means is to be changed and F means for disabling any change of said information in said storage means if said combination entered by said means for entering is not the same as said combination set by said means for setting 34 Apparatus as in claim 33 further comprising means for securing said means for setting said combina tion from unauthorized use 35 Apparatus as in claim 33 further comprising means for entering into said storage means information defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time 36 Apparatus as in claim 33 wherei
10. means the keyboard is locked and that the com bination or code must be entered by use of the keyboard to unlock the keyboard and if subfield 30 is lit this means that a keyboard error has been made The total number of display positions may thus by way of exam ple include twelve display positions The keyboard 10 is shown to include three sections or groups of keys the control keys 32 the function keys 34 and the data keys 36 The control keys are used to lock and unlock the keyboard 10 and to begin and end program control The keys which may be used some of which will be referred to hereinafter are Unlock Key board Lock Keyboard Begin Program and End Pro gram 20 35 45 50 65 4 The function keys are used in conjunction with the data keys to specify days start times and stop times They are also used to store and review time ranges to set and display the controller s clock time of day and to clear memory and errors The ten keys which may be used in the function section are day start stop store review set time display time clear memory clear day and clear error The data keys are used to specify a particular day of the week of a particular time Keys used in this field may include 1 MON 1 1 or Monday 2 TUE 3 WED 4 THU 5 FRI 6 SAT 7 SUN 8 9 0 full colon AM and PM As shown in FIG 1 hinges 38 and 40 are used and as shown in FIG 2 such hinges are used only hinge 38 is
11. of each of the other ones of said periods of time stored in said storage means 39 Apparatus as in claim 38 further comprising means for entering into said storage means information defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time 40 Apparatus as in claim 38 wherein said storage means includes a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time com prises at least one of said predetermined time intervals 41 Controller apparatus for controlling the operation of a device said apparatus comprising A means for generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device and wherein said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated said storage means including a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time comprises at least one of said predetermined time intervals and 3 means responsive to said curr
12. said means for displaying of information indicative of each of the remaining ones of said periods of time for said predetermined twenty four hour period 24 Apparatus as in claim 1 wherein said storage means includes a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time is comprised of at least one of said predetermined time intervals each of said predetermined time intervals having a start point and a stop point and further com prising A means responsive to said means for entering for converting said start time to the start point of the 10 20 30 45 60 65 24 one of said predetermined time intervals in which said start time is included means responsive to said means for entering for converting said stop time to the stop point of the one of said predetermined time intervals in which said stop time is included and C means for storing indicia of said start point and said stop point as respectively converted from said start time and said stop time in said storage means 25 Apparatus as in claim 1 further comprising means for indicating the operational status of said apparatus and said device 26 Controller apparatus for controlling the operation of a device said apparatus comprising A means for generating a control signal B means for coupling said control signal for receipt by said device wherein th
13. steps required to program the controller should be as simple and straight forward as possible It is accordingly the primary object of the present invention to provide a programmable appliance con troller which is convenient and easy to use SUMMARY OF THE INVENTION The objects of the present invention are achieved by providing controller apparatus for controlling the oper ation of a device which apparatus includes a switch which switch includes a control input a source input and a source output First and second apparatus for respectively coupling the source output to the device and the source input to an energy source are also pro vided The control input is coupled to receive a control signal the presence of which enables the coupling of the energy source from the source input to the source output Apparatus for generating the control signal is also provided and includes apparatus for providing the current time of day storage apparatus for storing infor mation indicative of at least one period of time during which the control signal is to be generated and appara tus responsive to the current time of day and the infor mation stored in the storage apparatus for enabling the generation of the control signal BRIEF DESCRIPTION OF THE DRAWINGS For a full understanding of the nature and objectives of the present invention reference should be had to the following detailed description taken in connection with the accompanying
14. the buffer In addition the review flag is set to its non ini tialized state see REVIEW key description Finally return is taken to the MCL The START routine 2 will first test to see if the day expected flag is set If it is the error light will be lit and return taken to the MCL Otherwise the START field of the dislay will be set to blanks and then the right hand digit of the hours field will be set to display a 0 Also the hour expected flag is set to point to the right hand digit of the START minute field The AM PM expected flag is set to point to the AM PM portion of the START display field Finally return is taken to the MCL The STOP routine 3 will first test to see if the day expected flag is set If it is the error light will be illumi nated and return taken to the MCL Otherwise the STOP field of the display will be set to blanks and then the right hand digit of the hours field will be set to display a 0 Also the hour expected flag is set to point to the right hand digit of the STOP hour field of the display In addition the minute expected flag is set to point to the right hand digit of the STOP minute field The AM PM expected flag is set to point to the AM PM portion of the STOP display field Finally return is taken to the MCL The UNLOCK KEYBOARD routine 4 will pre condition the Digit routine so that the combination which will unlock the keyboard may be entered To accomplish this the UNLOCK KEYBO
15. ARD routine will set the combination expected flag to 1 and reset the digit number expected to 1 Finally return is taken to the MCL There is one common routine for handling all of the processing when a digit key is depressed This Digit routine 5 will use the various pointers to decide which field of the display when appropriate will receive the 4 279 012 20 25 35 40 45 55 60 65 18 yes 17 13 no 17 10 yes 182 18 4 new digit The first flag to be examined is the day expected flag If the flag is set a test is made to deter mine if the new key input is between the values of 1 and 7 inclusive If not an error is indicated Otherwise the value is used to obtain the proper segment enable which will illuminate the indicated day and this value is in serted into the display buffer in the day position The day expected flag is also reset to zero Then return is taken to the MCL When the day expected flag is not set the combination expected flag is examined If such flag is set the digit number expected flag is used to determine which switch of the 4 shown in FIG 2 is to be used for comparison The chosen switch is compared to the key being processed If they do not match then an error has been encountered in entering the combina tion This results in the combination expected flag being reset the error light being lit and return taken to the MCL If the switch and the key match then t
16. G 7 The MCL is executed repeatedly Yt directs the execution of other various routines and is analogous to a traffic director The MCL is entered at block 200 following which the Execute Test Bit Map routine TBM 202 see FIG 8 is exe cuted the Display Current Buffer routine DCB 204 see FIG 9 is executed and then the Test for New Keyboard Input routine TKI 206 see FIG 10 is 20 25 35 40 45 55 60 65 10 executed If there is no key depressed and thus board input to be processed then as indicated by test block 208 TBM 202 is again entered Otherwise after the housekeeping functions indicated in block 210 are processed block 212 is entered If the keyboard is un locked and there is no error condition the key that was depressed is processed by the appropriate keyboard processing routine as shown in block 220 If there is an error condition as indicated by block 212 only an input from the Clear Error key is accepted as shown in block 214 Otherwise the TBM 202 is again executed A de termination is made as indicated by block 216 as to whether the keyboard is locked Block 216 is entered by either a YES answer from block 214 or a NO answer from block 212 If the keyboard is not locked the ap propriate keyboard processing routine is executed block 220 1f the keyboard is locked block 218 is en tered and a determination is made as to whether unlock keyboard is the key input If not bl
17. STOP minute 3 6 of STOP 37 return to MCL 3 8 set error light and return to MCL 4 UNLOCK KEYBOARD 41 set combination expected flag to 1 42 set digit number expected to 1 43 return to MCL 5 DIGIT 0 9 MON SUN 5 1 is day expected 1 yes 5 6 5 2 5 2 is combination expected flag 1 yes 5 9 no 5 3 5 3 is hour expected flag 0 yes 5 4 no 5 15 5 4 is minute expected flag 0 yes 5 5 5 17 5 5 set error light and return to MCL 56 isl 7 yes 5 7 5 5 5 7 insert converted DAY into Display Buffer reset day expected flag to 0 5 10 5 11 5 12 5 13 5 14 5 15 5 16 5 17 4 279 012 15 continued return to MCL read code switch digit number expected and compare to new digit are they the same yes 5 12 5 11 reset combination expected flag to 0 go to 5 5 is digit number expected 4 yes 5 14 5 13 increment digit number expected go to 5 8 unlock keyboard go to 5 8 is right hand digit in hour field 0 yes 5 16 5 17 set right hand digit to blank go to 5 18 move right hand digit to left hand digit position 7 insert new digit into right hand digit position go to 5 8 COLON reset hour expected flag to 0 is minute expected flag 0 yes 6 3 no 6 4 set error light and return to MCL set minute field to 00 return to MCL AM is AM PM expected flag set not 0 yes 7 2 7 7 reset hour expecte
18. United States Patent Beckedorff et al 54 75 73 21 22 51 52 58 56 PROGRAMMABLE APPLIANCE CONTROLLER Inventors David L Beckedorff Wellesley Michael Sporer Harvard both of Mass Bruce R Watts Portsmouth R I Assignee Massachusetts Microcomputers Inc Wellesley Mass Appl No 953 558 Filed Oct 23 1978 06 15 20 43 00 US 364 104 307 141 4 340 147 364 120 340 309 4 455 231 Field of Search 364 104 107 120 400 364 569 307 39 41 141 141 4 340 147 P 147 C 309 1 309 4 328 130 194 114 122 325 396 References Cited U S PATENT DOCUMENTS 3 440 434 4 1969 Yates et al 307 141 4 X 3 774 056 11 1973 Sample et 364 104 X 11 4 279 012 45 Jul 14 1981 3 819 906 6 1974 Gould Jr 364 104 X 4 061 927 12 1977 Link issenensis 307 41 4 071 745 1 1978 Hall 364 120 X 4 081 754 3 1978 Jackson 325 396 Primary Examiner Joseph F Ruggiero 57 ABSTRACT Programmable apparatus for providing random on off control of electrical devices such as appliances Such control may be programmed for an entire week with different programming for each day and with program ming control over small blocks of time e g thirty min utes Programming is secured by the use of a combina t
19. Y 6 BYTES 48 BITS 24 HOURS BIT MAP 42 BYTES Fig 4 TIME OF DAY TOD BUFFER 5 BYTES SECONDS 00 591 pay 1 7 MINUTES 00 59 AM PM HOURS 1 42 Fig 5 U S Patent Ju 14 1981 Sheet 4 of 9 4 279 012 DISPLAY BUFFER EM gue eee aie HOUR HIGH ORDER HOUR LOW ORDER START MINUTE HIGH ORDER MINUTE LOW ORDER AM PM HOUR HIGH ORDER HOUR LOW ORDER STOP MINUTE HIGH ORDER MINUTE LOW ORDER AM PM STATUS DEVICE AND KEYBOARD Fig 6 U S Patent Jul 14 1981 Sheet 5 of 9 4 279 012 200 ENTER MAIN CONTROL LOOP ROUTINE MCL IS EXECUTE TEST BIT MAP KEY UNLOCK ROUTINE TBM EXECUTE DISPLAY CURRENT BUFFER ROUTINE DCB EXECUTE APPROPRIATE KEYBOARD PROCESSING ROUTINE EXECUTE TEST FOR NEW KEYBOARD INPUT ROUTINE TKI IS THERE A KEY TO BE ss 210 RESET TIME OF DAY IN DISPLAY FLAG RESET BLINK INDICATOR SET TIME OUT COUNTER 60 15 COMBINATION oe FLAG IS KEY ERROR id 15 m FH ig Z U S Patent Jul 14 1981 Sheet 6 of 9 4 279 012 CONVERT CURRENT TIME DAY TOD TO APPROPRIATE BIT IN BIT MAP BM T CONVERT THE STORED TOD AS INCREMENTED TO APPROPRIATE BIT IN BM AND ADDRESS BM Fig 8 U S Patent 14 1981 _ Sheet 7 of 9 4 279 012 IS THIS HIGH ORDER BIT 0 1 Fig 9 ENTER MCL U S Patent J
20. ay to alternate between illuminated and dark This alterna tion will take plate at 1 second intervals so that the colon will be lighted for 1 second and then dark for 1 second blocks 314 316 and 318 The time of day buffer is updated in stages First the second byte is incremented by 1 block 320 If the new 5 20 25 14 value is less than 60 block 322 the interrupt is com plete and the suspended sequence is resumed block 324 If the seconds byte has reached 60 seconds it is reset to 0 block 326 and the minutes byte is incre mented by 1 block 328 If the new minutes value is less than 60 block 330 a return is made to the suspended sequence block 324 If the minutes byte has reached 60 minutes it is reset to 0 block 332 and the hours byte is incremented by 1 block 324 If the hours byte is less than 12 block 336 a return is made to the suspended sequence If the hours byte is 13 block 338 it is reset to i block 340 and return is made to the suspended se quence If the hours byte is 12 NO answer from block 336 and a NO answer from block 338 then the byte is examined block 342 If the AM PM byte indicates AM it is set to PM block 344 and a return is made to the suspended sequence If it indicates PM it is set to AM block 346 and the day byte is incremented by 1 block 248 If the day byte is less than 8 block 350 a return is made to the suspended se quence If the day byt
21. ce is to be turned on at 12 00 A M on Monday then the bit which represents this time period will be set to a one when the controller is programmed When the time of day reaches 12 00 A M on Monday the MPU will examine the corre sponding bit Upon finding the bit a 1 the MPU will instruct the proper circuitry to turn the connected de vice on For the example given 12 00 M on Mon day the bit which represents this time period is the eighth bit of byte 0 in the Bit Map The manner in which the byte and bit to be examined are found is discussed hereinafter However as can be seen from FIG 4 there are 7 days represented with day 1 being Monday and with the 24 hours in each day represented by 6 bytes 48 bits If the first byte in day 1 15 designated as byte 0 then 11 30 on Sunday day 7 is the first bit of byte 38 the 39th byte Thus as can be seen for day 1 the last bit of each byte repre sents the first thirty minutes of the four hour time frame of the byte etc with the first bit representing the last thirty minutes of such time frame This is done to sim plify the calculation for the bit which is to be examined as discussed hereinafter It should be understood that 4 279 012 9 the Bit Map may have included more than 42 bytes For example to one extreme each bit could have been set to designate a one minute or even one second time inter val For example if each bit were allowed to represent fifteen mi
22. d flag to 0 reset minute expected flag to 0 put AM into position specified by AM PM expected flag reset AM PM expected flag to 0 return to MCL set error light and return to MCL PM is AM PM expected flag set not 0 yes 8 2 8 7 reset hour expected flag to 0 reset minute expected flag to 0 put PM into position specified by AM PM expected flag reset AM PM expected flag to 0 return to MCL set error light and return to MCL LOCK KEYBOARD set keyboard locked status into display reset day expected flag to 0 reset hour expected flag to 0 reset minute expected flag to 0 reset AM PM expected flag to 0 reset combination expected flag to 0 return to MCL SET TIME convert display buffer to time of day buffer return to MCL DISPLAY TIME move time of day to display buffer set time of day in display flag to 1 return to MCL CLEAR ERROR turn error light off return to MCL BEGIN PROGRAM set program flag to on return to MCL END PROGRAM set program flag to off return to MCL CLEAR MEMORY set each of the 42 BIT MAP bytes to 0 return to MCL CLEAR DAY set each of the 6 BIT MAP bytes for the current day to 0 return to MCL STORE convert STOP to internal and save is STOP 0 or 30 yes 17 4 no set STOP internal to next highest interval is STOP time 12 00 AM yes 17 5 no advance STOP internal to next day convert START to internal is START lt STOP yes 17 9 no 17 8 set
23. d of 128 bytes of storage byte is composed of 8 binary digits bits and can be used to hold a number which ranges from 0 to 255 Also a byte may be thought of as containing a pattern of 8 bits which are not interpreted to represent a number As an example the time of day buffer described hereinafter will con tain the binary pattern 00001010 to indicate that the time lies between 12 00 Midnight and 12 00 Noon The major sections which hold different types of informa tion will now be described The Bit Map shown in FIG 4 is a data buffer which by way of illustration for one embodiment includes 42 bytes The information that it contains is interpreted as the control program for the connected devices Thus when the operator enters a program for the control of the connected devices the MPU will sequence through the control firmware and change the values of one or more bytes within the Bit Map During normal running the MPU will use the current time of day to identify a portion of the Bit Map that is to be examined The Bit Map will contain a datum at the examined portion which will indicate whether the connected devices are to be turned on or off The Bit Map is not considered to contain numeric information It is considered to contain a sequence of 1 each of which occupies one bit posi tion Each bit will indicate that the connected devices are to be turned on or off for a given 30 minute period For example if the connected devi
24. drawings in which FIG 1 is a perspective view of the controller of the present invention FIG 2 is a view of the back panel and cover of the controller of the present invention FIG 3 is a logic block diagram of the controller of the present invention FIG 4 illustrates the manner in which program infor mation is stored for use in controlling the operation of the apparatus of the present invention FIG 5 illustrates the time of day buffer used in the controller of the present invention FIG 6 illustrates the display buffer used in the con troller of the present invention FIG 7 is a flow diagram of the firmware for the main control loop routine of the controlier of the present invention FIG 8 is a flow diagram of the firmware for the test bit map routine of the controller of the present inven tion FIG 9 is a flow diagram of the firmware for the display current buffer routine of the controller of the present invention FIG 10 is a flow diagram of the firmware for the test for new keyboard input routine of the controller of the present invention FIG 11 is a flow diagram of the firmware of the interrupt routine of the controller of the present inven tion and FIG 12 is an alternative manner for storing program information for use in controlling the operation of the apparatus of the present invention DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT S The programmable appliance controller of the pres ent in
25. e considered as part of the minutes field In addition this routine will move 0 s into the minutes field as specified by the mi 4 279 012 19 nutes expected flag Finally return is taken to the MCL The AM routine 7 will first test the AM FM expected flag If it isn t set an error is indicated If set the value of AM is inserted into the location specified by the AM PM expected flag and three of the time related digit expected flags are reset Thus the hour expected minute expected and the AM FM expected flags are all reset The PM routine 8 will first test the AM FM expected flag If it isn t set an error is indicated If set the value of PM is inserted into the location specified by the AM PM expected flag and three of the time related digit expected flags are reset Thus the hour expected minute expected and the AM PM expected flags are all reset The LOCK KEYBOARD routine 9 will set the keyboard status to locked and reset all four time related digit expected flags Thus day expected hour expected minute expected and AM PM expected flags are all reset Also the combination expected flag is set to zero Then return is taken to the MCL The SET TIME routine 10 will move the START field of the dislay buffer to the time of day buffer Then return is taken to the MCL The DISPLAY TIME routine 11 will move the current time of day to the display buffer and set the time of day in display flag to 1 Finall
26. e is 8 it is set to 1 block 352 and return is made to the suspended sequence As discussed hereinbefore appropriate keyboard processing routines are executed in response to the depression of the appropriate keys Such keyboard pro cessing routines are under control of the Main Control Loop routine MCL Each keyboard processing rou tine will perform its specified function and then returns control to the MCL The operation of such keyboard processing routines are shown by the following flow listings A description of each of the flow listings fol lows Keyboard Processing Routines yes 2 8 2 2 set AM PM expected flag to point to AM PM of yes 3 8 no 3 2 set AM PM expected flag to point to AM PM 1 L1 set DAY in display to 0 1 2 set day expected flag to 1 1 3 set review not initialized flag to 1 14 return to MCL 2 START 2 1 is day expected 1 2 2 set START field of display to blank 2 3 set right hand digit of hour field to 0 2 4 set hour expected flag to point to right hand digit of START hour 2 5 set minute expected flag to point to right hand digit of START minute 2 6 START 2 7 return to MCL 2 8 set error light and return to MCL 3 STOP 3 1 is day expected 1 3 2 set STOP field of display to blank 3 3 set right hand digit of hour field to 0 3 4 set hour expected flag to point to right hand digit of STOP hour 3 5 set minute expected flag to point to right hand digit of
27. e presence of said con trol signal enables the operation of said device and wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated said storage means including a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time comprises at least one of said predetermined time intervals 3 means for entering into said storage means infor mation defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time and means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal 27 Controller apparatus for controlling the operation of a device said apparatus comprising A means for generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device and wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural
28. e signal This signal is cyclic repeating its pattern 60 times per second The MPU keeps track of the time of day by counting occurrences of this signal After count of 60 is reached the mi crocomputer senses that 1 second of time has elapsed The MPU 100 exchanges information with the other components over lines 140 142 and 144 The MPU sends information to the units using lines 140 and 142 and receives information from units 108 and 110 using lines 144 Lines 140 include eight lines P10 P17 Lines 142 include five of eight possible lines The five lines are 10 20 25 30 35 40 45 50 55 60 65 6 noted as 23 27 with one line P27 coupled to the control input of switch es 104 and with four lines P23 P26 coupled with converter 162 Lines 144 in clude eight lines DB0 DB7 with four lines DB0 DB3 received from keyboard 108 and the other four lines DB4 DB7 received from combination en tering device 110 The AC switch 104 includes one or more mecha nism s for example a solid state relay triac or micro switch which will control one or more devices requir ing line power The control line 142 coupled to control switch 104 enables or disables the connection of the AC IN line to the AC OUT line thereby energizing or de energizing the connected devices 102 One switch would be used for each of the devices 102 with control line 142 being used in parallel to control each such switch However it s
29. ent time of day and said information stored in said storage means for enabling the generation of said control signal D means for placing said device either by a normal mode or a control mode said normal mode en abling the operation of said device independent of said information stored in said storage means and said control mode enabling the operation of said device subject to said information stored in said storage means and E means for enabling the operation of said device under the control of said apparatus and subject to said information stored in said storage means after 20 30 35 40 45 50 55 65 28 switching in response to said means for placing from said normal mode to said control mode 42 Apparatus as in claim 41 further comprising means for entering into said storage means information defining anyone of said periods of time and information including the requirement for only a start time and a stop time for each of said periods of time 43 Controller apparatus for controlling the operation of a device said apparatus comprising A switch means having a control input a source input and a source output B first means for coupling said source output to said device C second means for coupling an energy source to said source input D means for receiving a control signal at said control input wherein the presence of said control signal at said control input enables the coupling of said en
30. entry which corre sponds to the half hour interval beginning with the rounded up stop time value With the stop value con verted the START is converted the conversion rou tine will round the start time down to the nearest lower half hour interval and a test is performed to insure that the start value is less than the stop value If this is not true an error is indicated The Bit Map value corre sponding to the start value is set to 1 to indicate con nected devices on The start valve is incremented by 30 minutes and tested against the stop value If the new value is less than the stop value the routine continues setting the proper bits in the Bit Map When the new value reaches the stop value return is taken to the MCL Thus the bit in the Bit Map corresponding to the 50 55 65 20 start time is a 1 as are such bits thereafter until the stop time is reached The REVIEW routine 18 is used to recall the entries that have been programmed for a given day When the routine starts it tests if it has been initialized The initialized flag is reset by the DAY routine to indi cate that any successive REVIEW will require initial ization After the REVIEW routine has performed the initialization needed the initialized flag will be set so that further activations of the review key will retrieve succeeding intervals rather than commencing with 12 00 AM The initialization consists of setting a tempo rary buffer to represent 12 00
31. f a potential plurality of periods of time during which said control signal is to be generated 3 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal wherein said device includes a connector plug for connection to an energy source and wherein said apparatus further comprises D receptacle means for receiving said connector plug of said device and E means for securing said connector plug to said receptacle means so that said plug may not be re moved said means for securing comprising 1 cover plate for placement over said plug and said receptacle means and 2 means for locking said cover plate in placement over said plug and said receptacle means 3i Apparatus as in claim 30 further comprising means for entering into said storage means information defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time 32 Apparatus as in claim 30 wherein said storage means includes a plurality of storage locations each of 10 20 25 35 45 50 55 60 65 26 said locations corresponding to a predetermined time interval and wherein each of said periods of time com _ prises at least of said predetermined time intervals 33 Controller apparatus for controlling the operation of a device said apparatus comprising A
32. g information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated said storage means including a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time comprises at least one of said predetermined time intervals said information for each of said predetermined time intervals having either of two states wherein a first said state indicates that said control signal is to be generated and wherein a second said state indicates that said control signal is not to be generated and 3 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal 29 Apparatus as in claim 28 wherein said information for each of said predetermined time intervals comprises a single bit of information said bit having said two states 30 Controller apparatus for controlling the operation of a device said apparatus comprising A means for generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time o
33. he digit number expected flag is tested to see if the last key has been processed If not then the routine increments the digit number expected flag and returns to the MCL If the last key has been processed the routine resets the keyboard locked flag and returns to the MCL When the combination expected flag is not set the hour expected flag is examined If the flag is set the key being depressed is to be the new right hand digit in the hour field This is done by first moving the current right hand digit to the left to become the new left hand digit If the digit so moved is 0 instead of moving 0 a blank is inserted into the left hand digit Then the new key value is inserted as the new right hand digit Fi nally return is taken to the MCL When the hour expected flag is not set the minute expected flag is examined If the flag is set the key being depressed is to be the new right hand digit in the minute field This is done by first moving the current right hand digit to the left to become the new left hand digit Then the new key value is inserted as the new right hand digit Fi nally return is taken to the MCL Thereafter if none of the expected flags are set the key is ignored and return is taken to the MCL The Colon routine 6 will reset the hour expected flag to zero The minute expected flag is then tested If it isn t set an error is indicated If it is set then this routine will cause further digit keys to b
34. hould be understood that only one such switch need be used independent of the number of devices 102 connected for control so long as such switch can handle the power requirements of the de vices The display unit 106 has two primary functions both of which have to do with communicating information from the MPU 100 to the operator The display 106 may include several display devices DD 160 Devices 160 may by way of example be light emitting diodes LEDs several for each position of display which positions are organized in a multiplexed display config uration This means that each display position of which there are for example and as has been seen twelve requires two pieces of information in order for the LEDS at each position to be illuminated The MPU 100 provides these two pieces of information in a rotating manner so that first one position is activated then the next and so forth until all have been activated The rotation then commences anew with the first position The first piece of information identifies the position to be activated when one position is activated all others are dormant and will not be energized however the display appears continuous to the human eye due to the integration properties of the eye which allows a person to view for example television images as continuous images while in reality there are discrete frames being displayed The second identifies which of eight possi ble LED s in a given po
35. ine shown in FIG 11 is executed every second This routine is entered at block 300 Once the MPU counter has been initialized block 302 it will count 60 cycles of the 60 cycle line and then generate an interrupt once every second This will cause the MPU 5 to suspend the sequence that it is currently executing and temporarily commence executing the interrupt sequence When this sequence has completed the MPU will resume the sequence that was suspended The se quence that was suspended will not be altered in any way as a result of the interrupt During the interrupt sequence the counter is reinitialized to count another 60 cycles The time of day T O D in display flag is examined block 304 If it is a 1 then the current time of day is moved into the display buffer block 306 This will insure that the current time is being displayed If the answer to block 304 is NO then the controlled apparatus of the present invention is being used by the operator and some other information is in the display However the 60 second time out counter is decre mented block 308 and if it reaches 0 block 310 then the time of day in display flag is changed to a 1 block 312 and the time of day is moved into the display buffer block 306 The final purpose of the Interrupt routine is to update the time of day buffer In addition the blink indicator is reversed The blink indicator will cause the colon between the hours and minutes of the time of d
36. ion or lock and in addition the AC line cord of the electrical device which receives or does not receive AC power depending upon the status of the program is locked into the apparatus During operation the pro gram in the apparatus may be interrogated and dis played otherwise the time of day is displayed The apparatus also includes a look ahead feature turning on an appliance such as a television set earlier than pro grammed in order to provide sufficient warm up time 44 Claims 12 Drawing Figures U S Patent Jul 14 1981 Sheet 1 of 9 4 279 012 Sheet 2 of 9 4 279 012 Jul 14 1981 U S Patent MM 391430 bI QNVOBA3 9NIN31N3 z NOLLVNIBIWOO on gq ot v8 MES OO 8 3301 80 080 205109 EIN penser 180 080 9 43151933 SNDINOM 3018 30 00 NYY m aww u344ng 092654 Viva O9 za 5 321 30 nov S3 HOLIMS Sel 4ouiNOO 11027 2v 03105 22 ONIWIL 42 2d OSL 85 tot NI 2V 31242 09 U S Patent ul 14 1981 Sheet 3 of 9 4 279 012 3 30 00 3 59 59 3 00 00 3 29 59 12 30 00 12 59 59 12 00 00 12 29 59 7 30 00 7 59 59 4 00 00 4 29 59 ooo BYTE o 123456781 81 8 2 BYTE1 V BYTE 2 3 4 DAY 5 6 7 T 8 30 00 8 59 59 8 00 00 8 29 59 3 BYTES 24 BITS PM 12 HOURS DA
37. ity of periods of time during which said control signal is to be generated 3 means for entering into said storage means infor mation defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time and 4 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal and wherein D said storage means includes a plurality of loca tions each of said locations corresponding to a predetermined time interval wherein the time be tween said start time and said stop time includes a plurality of said predetermined time intervals and wherein said apparatus further comprises E means responsive to the entering into said storage means said start and stop times for storing an indi 225 4 279 012 cia each of said locations corresponding to said plurality of said predetermined time intervals be tween said start time and said stop time 28 Controller apparatus for controlling the operation of a device said apparatus comprising A means generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device and wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storin
38. ly be marketed under the trade name Video Proctor which was the subject of an article in the Jan 20 1978 issue of New York Tribune newspaper also see the Mar 1978 issue of Consumer Electronics magazine Some of the above mentioned controllers have been developed as has the apparatus of the present inven tion based on the rising concern about the quality of television programming TV violence and increasing concern about TV addiction among children Thus a convenient low cost way to regulate the amount and type of TV programs would help to alleviate such con cerns In addition to the use of such controller for regu lating television usage it is also important to control Other electrical devices such as common household appliances including lights radio toaster tape record ers video tape recorders etc Additionally such con troller should have the capability to turn such appliance on and off at completely random times for use for ex ample as a security timer For many of the above noted applications the con troller must be able to be locked i e the programming of the on off sequences should not be alterable without key combination under the control of an authorized operator Further for convenience the controller should be useable without the need for the services of for example a TV repairman to install the controller In 0 20 25 30 35 40 45 50 65 2 addition the
39. n said storage means includes a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time com prises at least one of said predetermined time intervals 37 Controller apparatus for controlling the operation of a device said apparatus comprising A means for generating a control signal B means for coupling said control signal for receipt by said device wherein the presence of said con trol signal enables the operation of said device wherein C said means for generating comprises 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated and 3 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal D means for entering a signal indicating that one of said periods of time stored in said storage means be visually displayed and E means responsive to said means for entering for displaying said one of said periods of time stored in said storage means 38 Apparatus as in claim 37 further comprising means responsive to the repeated enabling of said means for entering for enabling the successive display by means of said means for displaying of information 4 279 012 27 indicative
40. nal at said control input enables the coupling of said en ergy source from said source input to said source output and means for generating said control signal compris ing 1 means for providing the current time of day 2 storage means for storing information indicative of at least one period of time of a potential plural ity of periods of time during which said control signal is to be generated said storage means including a plurality of storage locations each of said locations corresponding to a predetermined time interval and wherein each of said periods of time is comprised of at least one of said predeter mined time intervals 3 means for entering into said storage means infor mation defining anyone of said periods of time said information including the requirement for only a start time and a stop time for each of said periods of time and 4 means responsive to said current time of day and said information stored in said storage means for enabling the generation of said control signal 2 Apparatus as in claim 1 wherein each of said stor age locations corresponds to one bit of storage 15 20 25 30 40 45 50 3 Apparatus as in claim 2 wherein each of said bits of 55 storage represents thirty minutes 4 Apparatus as in claim 1 wherein each of said prede termined time intervals is equal in duration and wherein the number of said locations corresponds to the number of said predetermined time i
41. ning the appliance on and then off once per day More recently such timers have been provided with either a turn on or turn off capability once per hour So called clock radios have also been provided with this turn on turn off capability integrated therein More sophisticated appliance controllers than the above noted timers have also been developed in the past One such controller is described in U S Pat No 3 577 004 This controller or programmed clock timer is provided with the capability to operate an alarm and an appliance on an adjustable 24 hour sequence which is supplemented with selectively programmed 24 hour and 7 day timing sequences In such manner one or more appliances may be operated according to a prede termined program which is visibly presented on a con trol panel with individual incremental time segments being programmed by an array of manually operated push pull switches Controllers of varying complexity and specific uses may also be seen from U S Pat Nos 3 965 366 3 840 752 and 4 035 661 In addition other controllers which have appeared in various newspaper or magazine articles for use with for example television sets which controllers are not necessarily included in the prior art include a programmable television set offered by Heathkit Corporation a programmable television set which will apparently be offered in the near future by Sharp Corporation and a television controller which will apparent
42. ns that this is the first time through this routine that we detected a key down This state is en tered from the Key Up state when a key is sensed as down In addition to the state transition the value in ternal representation is saved in a temporary data byte This state is also maintained when a key is sensed down which has a different value than the one saved previ ously The new key value replaces the previous one and the state is maintained as Key Down Once Key Down means that the routine has sensed the same key down for two invocations and thus is prepared to process the key This state is entered from the Key Down Once state when a key is sensed as down which has the same value as that saved in the temporary data byte This state is left when this routine senses no key currently depressed Key Up Once means that we were in the Key Down state and no key depressed was detected When this routine finds no key depressed in the Key Up Once state the Key Up state is entered The TKI rou tine will cause a key processing routine to be dispatched when the Key Down state is entered The value of the depressed key is passed to the Main Control Loop rou tine MCL so that it may invoke the proper keyboard processing routine ar More particularly after entering the TKI routine the column count is set equal to one block 274 following which the column next column indicated by the col umn count is activated block 276 The question is then
43. ntervals in a twenty four hour interval 5 Apparatus as in claim 1 wherein each of said prede termined time intervals is equal in duration and wherein the number of said locations corresponds to the number of said predetermined time intervals in a seven day interval 6 Apparatus as in claim 1 wherein said energy source is an alternating current power source 60 65 22 7 Apparatus as in claim 1 wherein said switch means includes a relay type unit 8 Apparatus as in claim 1 wherein said switch means includes at least two relay type units each of said relay type units having a separate one of said source outputs for connection to at least two of said devices 9 Apparatus as in claim 8 wherein said devices are of different type 10 Apparatus as in claim 1 wherein said device is a television type device 11 Apparatus as in claim 1 wherein said means for entering comprises A keyboard means having a plurality of keys includ ing a start key a stop key and a plurality of data keys B first means responsive to the actuation of said start key followed by the actuation of some of said data keys for storing said start time of one of said peri ods of time in said storage means and C second means responsive to the actuation of said stop key followed by the actuation of some of said data keys for storing said stop time of said one of said periods of time in said storage means whereby said information indicative of said
44. nutes rather than thirty minutes as discussed above then the Bit Map would have included 84 bytes rather than 42 bytes The Time of Day buffer shown in FIG 5 includes 5 bytes which hold the current time The time is set under control of the operator Once the operator has set the time it will be entered into the Time of Day buffer Each time the MPU senses that one second of time has elapsed the time if brought up to date The first byte will contain a number which is interpreted to represent seconds 00 to 59 The next byte will contain the min utes indicator 00 to 59 The third will contain the hours 1 to 12 The fourth contains a specified bit pat tern 00001010 if the current time is A M while it contains another pattern 00001011 if the current time is P M The final byte holds the day where 1 represents Monday 2 represents Tuesday and so on until 7 repre senis Sunday The display buffer shown in FIG 6 includes by way of example 12 bytes of storage one for each item of information to be displayed Each byte contains a num ber which is used as a pointer into a conversion table which is included in the control store This table con tains a bit pattern at each entry which indicates which segments of each display position are to be activated to illuminate the corresponding entry For example the conversion table contains a binary 11111110 in the entry that indicates that the number 8 has the first 7 segments but no
45. ock 219 is entered and a determination is made as to whether the combina tion expected flag is set If NO then block 292 is again entered If YES from block 239 or from block 218 then the appropriate keyboard processing routine is executed as indicated by block 220 After executing the appropri ate keyboard processing routine the MCL is again pro cessed by beginning the execution of block 202 A flow diagram of the Test Bit Map routine TBM is shown in FIG 8 The TBM causes the Bit Map BM to be examined once per cycle of the MCL After is entered block 230 a determination is made as to whether the program flag is on block 232 The pro gram flag is turned on and off by respective keys there for included in the keyboard If the program flag is off the MCL is again entered If the program flag is on the current time of day TOD is converted to the appropri ate bit in the Bit Map BM and such bit is addressed as indicated in blocks 234 and 236 The manner in which such conversion takes place is explained elsewhere herein If the bit addressed is a binary one the devices are turned on as indicated by block 240 If on the other hand the answer from decision block 238 is NO the current TOD is stored in a temporary location of the local memory block 242 and the value of the current TOD is incremented by thirty 30 seconds thereby looking ahead to see if a device should be turned on a little early for example thirty sec
46. on the display will show the day of the week the time that the controlled device s is to be turned on and the time that it is to be turned off The MPU has an internal table hereinafter referred to as the Bit Map which is included in its internal data memory 134 which determines when the controlled devices are to be activated or turned off The second piece of information will be displayed when the inven tion is not being programmed It will commence when instructed to do so by the operator or in any case 60 seconds after the last command given by the operator In this second mode of operation the current day of the week and the current time will be displayed The keyboard 108 is used to enter programming in formation into the apparatus of the present invention It is also used to set the proper day of the week and cur rent time The keyboard may by way of example be matrix type keyboard with for example forty eight positions However for purposes of the present inven tion only some of these keys are actually used and in fact the key positions which are not used may not have actual keys see FIG 1 or such keys may not be made accessible to the operator With such matrix type key board it may include twelve columns and four rows When a key is depressed a connection is established between the column and the row under the key The MPU 10 periodically scans the keyboard and senses when a key is depressed The MPU activate
47. on is made to see if all twelve bytes have been examined and dis played as appropriate Thus if the byte count equals thirteen block 264 then all such bytes have been so scanned and the MCL is again entered If not all bytes have been so scanned block 254 is again entered and the display information in the next byte is displayed as ap propriate The process continues until all bytes have been displayed as appropriate The Test for New Keyboard Input routine TKD is shown entered at block 270 of FIG 10 This routine is responsible for reading the operator input from the keyboard To accomplish this this routine will follow the procedure discussed with respect to the keyboard hereinafter This will lead to an identification of the key that is currently being depressed or an indication that no 10 15 20 25 30 45 35 60 12 key is currently down This routine will convert the key value into an internal representation and save it in a temporary byte block 272 This routine will perform the function of de bouncing the input keys This means that no processing will proceed until the key can be guaranteed to be down This is accomplished by main taining a status indicator which defines the current state of the keyboard The 4 states that a key may be in are Key Up Key Down Once Key Down Key Up Once Key Up means that all of the keys are currently up and that the keyboard is in its neutral position Key Down Once mea
48. onds to allow a de vice such as a television set to warm up Following the step of so converting and addressing as indicated by block 246 if this new bit which is representative of such thirty second increment from the current TOD is a binary zero the MCL is again entered block 248 Otherwise if a binary one the device s is turned on block 240 The following description will show how the current time of day is converted to point to the appropriate bit in the Bit Map see block 234 of FIG 8 by use of the arithmetic unit in the MPU The appropriate byte in the Bit Map is determined by use of the following formula BP DAY 1 6 PM 3 MOD HOUR 12 4 where BP is byte pointer DAY is the current day PM is 1 if current time is PM and MOD is the modulus function i e MOD hour 12 4 means use 0 if hour is 12 otherwise use the hour and then integer divide by 4 By way of exam 4 279 012 11 ple the byte in which 11 30 A M of the 7th day is located is determined as follows 7 1 6 0 3 11 4 36 0 2 38 The answer is byte 38 assuming the first byte is byte 0 To determine the particular bit in the byte above determined the following formula is used BM M LS MOD MOD HOUR 12 4 2 where BM Bit Mask M 1 if minute is 0 29 M 2 if minute is 30 59 MOD MOD HOUR 12 4 0 if Hour 4 8 or 12 MOD MOD HOUR 12 4 1 if Hour 1 5 or 9 MOD MOD HOUR 12 4 2 if Hour 2
49. one of said peri ods of time is stored by means of said keyboard means 12 Apparatus as in claim 11 wherein A said storage means includes a plurality of loca tions each of said locations corresponding to a predetermined time interval wherein the time be tween said start time and said stop time includes a plurality of said predetermined time intervals and wherein said apparatus further comprises B means responsive to said first and second means for storing for storing an indicia in each of said locations corresponding to said plurality of said predetermined time intervals between said start time and said stop time A 13 Apparatus as in claim 12 further comprising A means for incrementing said current time of day by a predetermined amount of time thereby provid ing a look ahead current time of day means for determining whether said location corresponding to said look ahead current time of day includes a said indicia and means responsive to said means for determining for enabling said apparatus to couple by means of said switch means said energy source to said source output thereby energizing said device ear lier than the time indicated by said start time 14 Apparatus as in claim 1 wherein said device in cludes a connector plug for connection to said energy source and wherein said apparatus further comprises A receptacle means for receiving said connector plug of said device and means f
50. or securing said connector plug to said receptacle means so that said plug may not be re moved 15 Apparatus as in claim 14 wherein said means for securing comprises plate for placement over said plug and said receptacle means and B means for locking said cover plate in placement over said plug and said receptacle means 16 Apparatus as in claim 1 further comprising A means for setting a combination for use in prevent ing unauthorized use of said apparatus 4 279 012 23 means for entering said combination each time said information in said storage means is to be changed and means for disabling any change of said information in said storage means if said combination entered by said means for entering is not the same as said combination set by said means for setting 17 Apparatus as in claim 16 further comprising means for securing said means for setting so that said combination is not available to unauthorized users of said apparatus 18 Apparatus as in claim 17 wherein said device includes a connector plug for connection to said energy source and wherein said apparatus further comprises A receptacle means for receiving said connector plug of said device B means for securing said connector plug to said receptacle means so that said plug may not be re moved and C wherein said means for securing said connector plug and said means for securing said means for setting include 1 a cover
51. plate for placement over said plug said receptacle means and said means for setting and 2 means for locking said cover plate in placement over said plug said receptacle means and said means for setting 19 Apparatus as in claim 1 further comprising A means for displaying said information stored in said storage means and B means included in said means for displaying for indicating the current time of day 20 Apparatus as in claim 19 further comprising means for displaying said current time of day when said information is not displayed 21 Apparatus as in claim 1 further comprising A means for entering a signal indicating that one of said periods of time stored in said storage means be visually displayed and B means responsive to said means for entering said signal for displaying said one of said periods of time stored in said storage means 22 Apparatus as in claim 21 wherein said storage means includes information indicative of a plurality of periods of time stored therein for a predetermined twenty four hour period and further comprising means responsive to the enabling of said means for entering said signal for enabling said means for displaying to display one of said periods of time for said predeter mined twenty four hour period 23 Apparatus as in claim 22 further comprising means responsive to the repeated enabling of said means for entering said signal for enabling the succes sive display by means of
52. provided with each start and stop time These start and stop times change depending on the program For example in a given day there may be several start and stop times As shall be seen the controller also displays the time of day The day of week and time of day are displayed in respectively the day subfield 20 and the start subfield 22 and when so displayed the stop subfield 24 is left blank The status field 18 includes information about the appliance s being controlled as well as the keyboard The status is indicated by use of the display for subfields 26 28 and 30 for both appliance and keyboard For appliance status if subfield 26 is lit this means that it is operable and under program control if subfield 28 is lit this means that the appliance is not operable because the program calls for it to be off but is under program control and if subfield 30 is lit this means normal oper ation with no program control If the on off control of the appliance is in the on position the appliance will actually switch on and off according to the program in the controller If the on off control is in the off position only subfields 26 and 28 in the status field 18 will switch on and off according to the program however when field 26 is lit the appliance may be turned on by use of the on off control thereof For keyboard status if subfield 26 is lit this means it is unlocked and that data can be entered if subfield 28 is lit this
53. s each of the twelve columns and senses the four rows at each activa tion When a key is depressed the keyboard will trans fer the activation signal from the active column to the connected row Thus the MPU will sense which key has been depressed The MPU will activate each of the twelve columns by using the converter 162 described hereinabove It will activate each line CKE4 CK E15 while it senses the rows on lines DB0 DB3 20 25 30 35 40 45 50 55 65 8 The combination entering device 110 is used to estab lish the key or combination lock information which must be entered by the operator at the keyboard 108 prior to the commencement of the programming of the apparatus of the present invention by an operator This combination or lock is designed to be secure to prevent unauthorized use of the apparatus of the present inven tion Device 110 may include several switches such as but not limited to so called thumbwheel switches or for example microswitches manufactured by Eeco Cor poration The characteristics of device 110 are similar to those of keyboard 108 Thus the MPU scans each of the plurality of switches included in device 110 by use of lines 0 15 and senses the position of the cor responding switch on lines DB4 DB7 The data memory is contained within the MPU It is used to store information which the MPU will need at a later time The data memory by way of example is comprise
54. shown because of the breakaway 42 and 43 to hold a lockable back cover 44 which by use of a key lock 47 serves to lock the back cover 44 over that portion of backplate 46 which includes AC power sockets 48 and 50 and combination code switches 52 The controller of the present invention is used to control the availabil ity of power to the sockets 48 and 50 to which an appli ance may be connected As shown up to two appliances may be controlled at the same time however it should be understood that by the use of additional sockets additional appliances may be controlled The controller receives its AC power via line cord 54 which is plugged into an AC wall outlet As stated the line cord of the appliance to be con trolled is with back cover 44 unlocked and moved out of the way by rotation about its hinged edge plugged into one of the sockets which is itself recessed or with the backplate or portion thereof is recessed to accom modate the size of the appliance s line plug thereby allowing the back cover to be placed in its proper posi tion and locked In doing so only the line cord 56 of the appliance remains outside the back cover through the accommodating slot 58 with the plug of such line cord 56 secured into the socket 50 Also included on the back plate 46 and lockable by back cover 44 is a switch 52 which may by way of example include four positions The authorized opera tor of the controller usually a parent when
55. sition are to be illuminated The eight possible LEDs are set in a physical orienta tion such that three horizontal bars and four vertical bars can be used to display alphanumeric information with the eighth position being the decimal point which is not needed for the display of the controller of the present invention Actually and with brief reference to FIG 6 only the hour and minute positions a total of 8 use up to eight possible LEDs The other positions for example AM PM are LEDs which have either AM or PM lit The same is true for the day field i e either MON or TUE or WED etc is lit The status field may include 6 LEDs or simply six light bulbs one for each position The MPU applies the position identifier on line 142 Ths is processed by converter 162 and buffer 164 and then sent to the display device 160 Buffer 64 provides electrical buffering to insure that the display has the proper current and voltage to illuminate the specified LEDs Converter 162 converts the information from one encoding scheme to another The first scheme called binary coded is used by the MPU so as to minimize the interconnections between units 100 and 106 in this 4 279 012 7 encoding any number between 0 and 15 can be sented using the four signal lines 23 26 of line 142 Converter 162 converts this to a linear coding scheme wherein only one of the 16 lines CKE0 CKE15 only 12 lines CKE4 CK E15 are received by buffer
56. t the decimal point illuminated Each of the values in the display buffer will be examined when the display is being activated and used to obtain the corre sponding conversion table entry The high order bit left most of a display buffer entry is set to a 1 to indi cate that the low order right most by way of exam ple 6 bits contain a valid entry to be displayed This is useful to distinguish a blank display entry from one containing the number 0 The display buffer is shown to include a left most and a right most position which corresponds to their physi cal position on the front display panel as shown in FIG 1 Both the start and stop information are shown Com mon to both are the hour high order and low order information e g for 12 o clock hour high order is 1 and hour low order is 2 The same is true for the mi nute high order and low order information A M or P M is also displayed for both the start and stop infor mation The day and status information are also dis played The remaining data locations of the data memory are used to store various pieces of information during the operation of the controller of the present invention Such information includes flags tables and other infor mation which are used during the operation of the pres ent invention The description of the various firmware sequences will expand on the use of such information The Main Control Loop routine MCL is shown by the flow diagram of FI
57. the control ler is used to regulate the children s television viewing sets a four digit secret code which will be inaccessible and hidden from view locked when the back cover 44 is secured in place Thus the operator must remember this number to unlock the keyboard to enter a program which unlocking is done simply by pressing the Unlock Keyboard key and depressing the secret code or combination Of course if the operator forgets the code he need simply unlock the back cover 44 and look at the switch 52 The code set in by switch 52 code 7825 is shown in FIG 2 may be reset at any time for example if the children break the code By way of example the operation of the controller by an operator shall now be discussed Suppose the opera tor desires that his television set be operable each week day between the hours of 7 00 A M to 8 00 A M 6 00 P M to 7 30 P M and 9 00 P M to 11 30 P M The operator first insures that the controller is no longer under program control This is done by pressing the End Program key following which the controller s memory storage is cleared by use of the Clear Memory key The following sequence of keystrokes is then en tered Start 7 00 A M Stop 8 00 A M Day Mon Store Day Tue Store Day Wed Store Day Thu Store Day Fri Store The time range need not be 4 279 012 5 reentered for each day since the Store key does not erase the information already keyed in The next
58. time range 6 00 P M to 7 30 P M is entered in a similar fashion the only change from the above sequence is that 7 00 A M is replaced by 6 00 P M and 8 00 A M by 7 30 P M The next time range is programmed in exactly the same manner Once all ranges have been entered the appliance may be placed under program control by use of the Begin Program key It should be understood that there is virtually no limit to the number of program ranges in each day the only limitation being dictated by the length of the programmable intervals e g thirty minutes Thus the controller could be by way of example turned on and off every half hour It should also be understood that the time ranges may be different for each day For example on weekends a time range during the afternoon may be programmed for viewing of sports programs logic block diagram of the apparatus of the present invention is shown in FIG 3 Such apparatus or con iroller includes five major units the microprocessing unit MPU 109 a device control unit or AC switch 104 the display 106 the keyboard 108 and the combina tion entering device 110 Such apparatus is coupled to control one or more appliances or devices 102 The apparatus would also include a power supply not shown for providing the necessary power to such units As shown the AC switch 104 is coupled to receive the AC line input AC IN directly and the MPU 100 is coupled to receive a 60 Hertz cycle signal
59. ul 14 1981 Sheet 8of9 4 279 012 ACTIVATE NEXT COLUMN COUNT COLUMN 280 INCREMENT COLUMN COUNT 282 SAVE KEY VALUE FOR LATER USE 29 SET STATE SET STATE TO KEY UP TO KEY UP ONCE Fig 10 U S Patent Ju 14 1981 Sheet 9 of 9 4 279 012 ENTER INTERRUPT ROUTINE 300 INIT CTR TO 60 1 SEC 304 302 I TOD IN DISPLAY FLAG 1 YES MOVE TOD TO DISPLAY BUFFER 306 314 DECR 60 SEC TIME OUT CTR 310 338 60 SEC 0 CTR S Y YES SET TOD IN DISPLAY SET HOURS FLAG 1 312 Is BLINK IND 1 318 316 SET BLINK IND 0 SET BLINK IND 1 T 344 SET SECONDS SECS 1 SET SECONDS 0 SET PM 328 320 F is SET MINUTES TO 330 IS 6 332 DAY lt 8 f NO Fig i I SET DAY TO DAY 1 RETURN TO SUSPENDED SEQUENCE 350 4 279 012 1 PROGRAMMABLE APPLIANCE CONTROLLER BACKGROUND OF THE INVENTION The present invention generally relates to controller devices and more particularly to programmable con troller for electrical devices such as appliances Controllers for electrical devices such as appliances have in one of their simplest forms included timers which plug into the AC line power source with the appliance such as a light radio coffee pot etc plug ging into the timer The timer includes a motor which causes a 24 hour dial to rotate making one full revolu tion per day tur
60. vention is shown in FIGS 1 and 2 FIG 1 illus 4 279 012 3 trates the keyboard 10 and the display 12 FIG 2 illus trates the back panel and cover 14 The controller may be programmed by use of the keyboard 10 to control one or more appliances for a full week cycle The pro gramming information as well as the time of day may be displayed on display 12 As will be seen the control ler provides a means to control each half hour interval within a one week time period although it should be understood that such half hour interval may be de creased or increased by use of more or less memory storage as shall be discussed The controller thus allows on off control of such appliances as television sets videotape recorders radios hi fi equipment lights etc automatically by use of a program preset into the con troller As desired the controller may be repro grammed at any time Further after the program has been entered the controller i e the keyboard 10 i e the ability to enter programs using the keyboard may be locked by use of a combination so that no unautho rized changes may be made to the program The display 12 of the controller as shown in FIG 1 includes a time field 16 and a status field 18 The time field 16 includes three subfields day 20 start 22 and stop 24 The day field 20 indicates the day of the week while the start and stop fields indicate the time an appli ance will be on The AM PM designation is
61. which may be derived from the AC line input frequency Where 60 Hertz is not the AC line frequency for example it may be 50 Hertz a frequency conversion is required Each such unit and its function shall now be described The MPU 100 may be for example that micro processor electronic chip model number 8049 manufac tured by Intel Corporation and described in Intel publi cation document number 98 270C dated January 1978 and entitled MCS 48 Family of Single Chip Mi crocomputers User s Manual The MPU includes five major functions including a control store 132 a data memory 134 an arithmetic computation unit ACU 136 a timing and control unit 138 and an input output unit 1 0 139 The MPU 100 executes sequences of control firmware instructions The particular sequence thereof is determined by the MPU based on information obiained from the other units The MPU affects the other units by transmitting information to them based on the particular control firmware instructions The MPU has an internal cycle time the time to perform the function specified by a control firmware instruction An external circuit not shown but consisting of an inductor and 2 capacitors is used in conjunction with circuits within the MPU to determine the internal cycle time In addition the MPU keeps track of the time of day in much the same way as an electronic digital clock As such a signal on line 150 is provided which is de rived from the AC lin
62. y return is taken to the MCL The CLEAR ERROR routine 12 will reset the error light and re turn to the MCL The BEGIN PROGRAM routine 13 will set the program flag to on 1 and return to the MCL The END PROGRAM routine 14 will set the program flag to off 0 and return to the MCL The CLEAR MEMORY routine 15 will set each of the 42 bytes which represent the Bit Map to 0 and return to the MCL The CLEAR DAY routine 16 will set each of the 6 bytes in the Bit Map associated with the current day to 0 and return to the MCL The STORE routine 17 allows the operator to enter new information into the Bit Map The information that is inserted into the Bit Map is the interval defined by the start and the stop times of the display This interval is expanded if it is not on a 0 or 30 minute boundary The STORE routine starts by converting the values in the 20 25 30 35 40 stop display field into interval form and testing to see if 45 the minute value is 00 or 30 If not 00 or 30 the interval value of the stop field is incremented to point to the next highest interval Thus if the values in the minutes field is 1 15 AM it will be converted so that the internal value represents 1 30 AM Once this is done the inter nal time is tested to see if it points to 12 00 AM mid night If it does the interval value is set to point to the first value for the next day Thus the internal vale to the stop time will point to that Bit Map

Download Pdf Manuals

image

Related Search

Related Contents

Instruction Manual Mode D`emploi Bedienungsanleitung  Lettre aux parents « Les poux sont parmi nous  Lupas grabables MANUAL DEL USUARIO  de lutte contre les discriminations  Delta T3568LF-SSWL Installation Guide  MANUALE DI ISTRUZIONI - Cascade Designs, Inc.  Guide d`utilisation Série TH2  

Copyright © All rights reserved.
Failed to retrieve file