Abstract:
A system for providing a user with prerecorded audio/visual information on a display unit, the system comprising a unit including an audio/visual display play mechanism;  
     means for detecting the presence of a user within the vicinity of the unit; a library of stored audio/visual clips; an auto-ID reader, such as a bar code reader for indicating which of the stored audio/visual clips to use; and means for playing the clip to attract the attention of the user by using the audio/visual play mechanism.

Description:
[0001]    This application is a Continuation-in-Part of application Ser. No. 10/005,957, filed Nov. 8, 2001, which claims priority to U.S. Provisional Application Serial No. 60/334,816, filed Oct. 31, 2001.  
         [0002]    This application is also related to U.S. patent application Ser. No. 10/057,463, filed Jan. 24, 2002. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0003]    1. Field of the Invention  
           [0004]    The present invention relates to methods and apparatus for in-store advertising and promotional displays, including processors for coupons to be redeemed for products, especially products bearing symbols to be electro-optically read by personal, consumer hand-held readers or fixed mounted displays and auto-ID readers.  
           [0005]    2. Background and Objects  
           [0006]    The present invention relates to retail marketing systems in which an in-store promotional display is activated by and auto-ID reader, such as a small, personal bar-code readers are used by consumers are part of their product selection and purchasing process.  
           [0007]    Code readers are known in the prior art for reading various symbols such as bar code symbols appearing on a label or on the surfaces of an article. The bar code symbol itself is a coded pattern of indicia comprised of a series of bars of various widths spaced apart from one another to bound spaces of various widths, the bars and spaces having different light reflecting characteristics. The readers in scanning or imaging systems electro-optically transform the graphic indicia into electrical signals, which are decoded into information, typically descriptive of the article or some characteristic thereof. Such characteristics are conventionally represented in digital form and used as an input to a data processing system for applications in point-of-sale processing, inventory control and the like. Scanning systems of this general type have been disclosed, for example, in U.S. Pat. Nos. 4,251,798; 4,369,361; 4,387,297; 4,409,470; 4,760,248: 4,896,026 and 5,600,121, all of which have been assigned to the same assignee as the instant application. As disclosed in some of the above patents, such systems may employ a hand-held, portable laser scanning device held by a user, which is configured to allow the user to aim the device, and more particularly, a light beam, at a targeted symbol to be read.  
           [0008]    The light source in a laser scanner bar code reader is typically a semiconductor laser. The use of semiconductor devices as the light source is especially desirable because of their small size, low cost and low voltage and current requirements. The laser beam is optically modified, typically by an optical assembly, to form a beam which is directed to the target. A spot of a certain size, shape, and orientation is formed on the target, which varies with the distance to the target. Normally, such spot has beam width in its smallest cross-section from one to three times the size of the minimum width between regions of different light reflectivity, i.e., the bars and spaces.  
           [0009]    In the laser beam scanning systems known in the art, the laser light beam is directed by a lens or other optical components along the light path toward a target that includes a bar code symbol on the surface. The moving-beam scanner operates by repetitively scanning the light beam in a line, pattern or series of lines across the symbol by means of motion of a scanning component, such as the light source itself or a mirror or mirrors disposed in the path of the light beam. The scanning component may either sweep the beam spot across the symbol and trace a scan line across the pattern of the symbol, or scan the field of view of the scanner, or both.  
           [0010]    Bar code reading systems also include a sensor or photodetector, which detects light reflected or scattered from the symbol. The photodetector or sensor is positioned in the scanner in an optical path so that it has a field of view which ensures the capture of a portion of the light which is reflected or scattered off the symbol. This light is detected and converted into an electrical signal. Electronic circuitry and software decode the electrical signal into a digital representation of the data represented by the symbol that has been scanned. For example, the analog electrical signal generated by the photodetector is converted by a digitizer into a pulse or modulated digitized signal, with the widths corresponding to the physical widths of the bars and spaces. Such a digitized signal is then decoded, based on the specific symbology used by the symbol, into a binary representation of the data encoded in the symbol, and subsequently to the information or alphanumeric characters so represented.  
           [0011]    The decoding process of known bar code reading system usually works in the following way. The decoder receives the pulse width modulated digitized signal from the digitizer, and an algorithm, implemented in the software, attempts to decode the signal. If the start and stop characters and information between them in the scan were decoded successfully, the decoding process terminates and an indicator of a successful read (such as a green light and/or an audible beep) is provided to the user. Otherwise, the decoder receives the next scan, performs another decode attempt on that scan, and so on, until a satisfactorily decoded scan is achieved or no more scans are available.  
           [0012]    Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the information or alphanumeric characters so represented. The decoded information may be stored or subjected to data processing.  
           [0013]    Moving-beam laser scanners are not the only type of optical instrument capable of reading bar code symbols. Another type of bar code reader is one which incorporates detectors based on solid state imaging arrays or charge coupled device (CCD) technology. In such prior art readers the detector is typically smaller than the symbol to be read. Accordingly, image reduction is performed by an objective lens in front of the array or CCD. The symbol may be illuminated with light from a light source such as light emitting diodes (LED) in the scanning device, and each array cell is sequentially read out to determine the presence of a bar or a space. A code reading engine employing imager technology is disclosed in U.S. application Ser. No. 09/096,578, filed Sep. 1, 1998, and assigned to applicant herein.  
           [0014]    It is known to provide multiple actuators in hand-held optical code readers. For example, a system disclosed in U.S. Pat. No. 5,117,098, uses a multi-position trigger switch in a hand-held laser scanner. The scanner is aimed at the symbol to be scanned during a first operational state in which an aiming pattern is emitted. Once the user had aligned the scanner properly with respect to the location of the symbol, the trigger switch is actuated again to put the device into a second operational state in which the beam is scanned across the symbol in the normal scanning or reading mode, and the symbol decoded. European Patent No. 0355355 describes a combination bar code reader and EAS tag deactivator, including an embodiment with a multi-position trigger.  
           [0015]    U.S. Pat. No. 5,600,121, assigned to applicant, discloses, inter alia, a system for reading indicia such as bar code symbols having a scanner for generating a scanning light beam directed toward a symbol to be read; a first actuator manually displaceable from a first position to a second position for producing a first light beam for aiming or positioning the reader; and a second actuator manually displaceable from a first position to a second position for initiating a scanning beam pattern for reading the symbol. The actuators are independently operative of each other. A detector receives the reflected light from the symbol and produces electrical signals corresponding to data represented by the symbol. A graphical user interface simplifies system control functions.  
           [0016]    The known readers and scanners are generally employed to identify a product involved in a sales transaction. Once the product has been identified, its price can be retrieved from a database in order to complete the sales transaction. Manv industries, especially food retailers, have offered redeemable coupons as sales promotions to entitle the redeemers to discounts or refunds from the prices of the products being purchased. These coupons have typically been printed on paper and distributed in newspapers, magazines, mass mailings and like publications. Sometimes, they are simply made available in a retail store for a shopper to pick up the paper coupon and present it to a check-out clerk for redemption.  
           [0017]    Recently, coupons have been made available on the Internet due to the relatively low cost of on-line distribution of coupons, as well as the capability of tracking the activity of users on the Internet and targeting the users with coupons that they are most likely to use. Such on-line coupons have to be printed out on the printer of each user and thereupon presented to a check-out clerk in the same manner as the paper coupons that were traditionally clipped from publications.  
           [0018]    However, on-line coupons have inherent risks and are susceptible to duplication, multiple use, misuse and fraud. Some coupons may be less readable and scannable depending on the quality of the consumer&#39;s printer as compared to a professionally printed coupon. Many consumers&#39; printers print text in black and white, rather than in color, and many retailers are trained not to accept black and white coupons because of the concern that an authentic professionally printed, color coupon has been copied on a copy machine. Also, an on-line or electronic coupon may be easily fraudulently altered before it is printed, thereby decreasing the viability of on-line or Internet coupons.  
           [0019]    There is a need, therefore for retail marketing systems in which a consumer has a bar code reader, which is simply and inexpensively fabricated, which is easy to use, and which provides user access and feedback for a broad range of functions, including access to electronic coupons.  
         SUMMARY OF THE INVENTION  
         [0020]    Briefly, and in general terms, the present invention provides a system for providing a user with prerecorded audio/visual information on a display unit, including a unit including an audio/visual display mechanism; and means for detecting the presence of a user within the vicinity of the unit. There is further provided a library of stored audio/visual clips, or a software program to operate the display in some mechanical manner. There is further provider means for receiving information indicating which of the stored program or audio/visual clips to use, such as by object sensing, or auto-ID tag reading or sensing.  
           [0021]    There are also means for playing the clip or executing the software to attract the attention of the user by using the audio/visual play mechanism.  
           [0022]    The novel features which are considered as characteristic of the invention are set forth in particular in the appended claims. The invention itself, however, both as to its construction and its method of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0023]    [0023]FIG. 1 is a pictorial view of an optical code reader and cradle in accordance with a preferred embodiment of the present invention;  
         [0024]    [0024]FIG. 2 is a side view of the code reader and cradle of FIG. 1;  
         [0025]    [0025]FIG. 3 is a pictorial view of the optical code reader of FIG. 1 removed from its cradle and held in the palm of the hand of a user;  
         [0026]    [0026]FIGS. 4 a  and  4   b  are cross-sectional side views of two cradles employed in preferred embodiments of the present invention;  
         [0027]    [0027]FIGS. 5 and 6 are, respectively, a top view and a bottom view of a top housing half of an optical code reader of a preferred embodiment of the present invention;  
         [0028]    [0028]FIGS. 7 and 8 are, respectively, top and bottom views of a circuit board assembly used in a preferred embodiment of the present invention;  
         [0029]    [0029]FIG. 9 is a top view of a bottom housing half of an optical code reader of a preferred embodiment of the present invention, in partial cut away;  
         [0030]    [0030]FIG. 10 is a schematic block diagram illustrating various electronic sub-systems usable in data collection systems in accordance with aspects of the present invention;  
         [0031]    [0031]FIG. 11 is a state transition diagram of a preferred embodiment of the present invention;  
         [0032]    [0032]FIG. 12 is a timing diagram for the lock toggle function of a preferred embodiment of the present invention;  
         [0033]    [0033]FIG. 13 is a side cross-sectional view of a laser scan module used in a preferred embodiment of the present invention;  
         [0034]    [0034]FIG. 14 is a sample coupon printed in a UCC/EAN-128 coupon extended code format.  
         [0035]    [0035]FIG. 15 is an example of a display unit according to the present invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0036]    Many aspects of the present invention are contained in or useable in a preferred embodiment of the present invention whose external construction and appearance are depicted in FIGS.  1 - 3 .  
         [0037]    This portable handheld optical code reader  30  is of a generally elongate bar shape equal to or less than four and three quarters inches in length having generally opposing upper and lower broad faces  31  and shallow side faces  33 . The circumference of the code reader at its thickest portion  29  is about five inches, such that it fits comfortably in the average human hand as shown in FIG. 3. The front end is truncated to form a face to accommodate a scanner exit window  34 . The rear end  35  is generally tapered and is adapted to nest in a cradle  32 . Overall the reader is shaped generally elliptically when viewed from the angles shown in FIGS. 1 and 3.  
         [0038]    It will be understood that many aspects of the present invention described below may be adapted for use in this as well as other hand-held or stationary optical code readers.  
         [0039]    I. Housing, Actuators and Ergonomics of Code Reader Embodiments  
         [0040]    [0040]FIGS. 1 and 2 are, respectively, pictorial and side views of the optical code reader  30  and cradle  32  configured in accordance with a preferred embodiment of the present invention. The code reader  30  is generally elliptical in shape with slightly rounded upper and lower ends as viewed in FIGS. 1 and 3. FIG. 2 is a right side view of the code reader. The left side view is a mirror image of FIG. 2.  
         [0041]    A scanner exit window  34  is located at one end of the reader (the top end in FIGS. 1 and 3). The actuators comprise a scan button  36  and a delete button  38 . Feedback to the user is provided by a three-color LED display visible through LED window  40 . A removable battery cover  42  is located on the opposite side of the reader from the buttons and LED window.  
         [0042]    [0042]FIG. 3 is a pictorial view of the optical code reader  30  of FIGS. 1 and 2, shown removed from the cradle  32  and held in the hand of the user. The FIG. illustrates, among other things, the approximate size of the code reader. The FIG. also shows how the code reader fits in one hand, where it can be easily and accurately aimed. The scan button  36  may be pressed with the thumb to initiate scanning. Access to the delete button  38  is partially obstructed by a raised casing area  44 , which reduces the possibility of inadvertent actuation of the delete button  38 .  
         [0043]    II. Cradle, and Electrical and Optical Interfaces  
         [0044]    With continued reference to FIG. 3, the code reader  30  also may include a communication connector socket  46  at the rear end of the device into which a plug  48  may be inserted. The plug and socket may be used to electronically transfer collected optical code data to a personal computer or other suitable data handling terminal.  
         [0045]    In a more preferred embodiment the plug  48  is a miniature stereo phone plug located in the cradle  32 . The structure of such a cradle and plug is shown in greater detail in the cross-sectional view of FIG. 4( a ). The structure may be easily fabricated from a pre-made miniature phone plug and cable assembly  50 . The plug portion  52  may have a molded casing  54  which snaps into and out of corresponding walls  56  of the cradle  32 . This construction has the advantage that a stock cable can be used for communication either by itself or in conjunction with the cradle  32 . A switch in the socket  46  may be used to detect insertion of the plug and to disable the laser scanner when the plug is inserted in the code reader.  
         [0046]    An optional optical interface may also be conveniently provided using a suitable cradle or docking station. The structure of such a cradle  60  is shown in FIG. 4( b ) in cross-section. A code reader  30  of a preferred embodiment of the present invention is shown inserted in the cradle  60 . When so inserted the LED display window  40  of the reader is located adjacent to a photo detector  62 . A light emitting element or LED  64  is located on a optical path of the code reader  30 , to project an optical signal to the code reader  30  through the scanner exit window  34 .  
         [0047]    In operation an RS 232 output port of the reader  30  may be electrically connected to the LED display and to a photo detector employed in the scanning module of the reader. Data may be input into the reader  30  by means of the LED  64  as indicated by signal line  66 . Light produced by the LED  64  is projected along an optical input path which may be collinear with an optical input path of the scanner during normal scanning operations. Detection input data may be digitized and applied to a data receptor line of a microcontroller of the reader. Advantageously, the input data may be transmitted at about a 9600 baud rate, which approximates the frequency band associated with light signals produced when a bar code is scanned. Thus, the input electronics of the reader may be optimized to one frequency band common to both bar code scanning and optical interface signal input.  
         [0048]    Data may be optically outputted from the code reader  30  by employing the display LED. Light produced by a display LED for example a red display LED may pass through LED display window  40  and be detected by the photo detector  62 , where it is converted to a electrical signal and passed to a host or terminal as indicated by signal line  68 .  
         [0049]    It will be understood from the foregoing that the reader  30  may be provided with two modes of connectivity: electrical and optical. The electrical communication mode may be implemented at lower cost and may be more appropriate for home use, especially where the reader host is a home personal computer. The optical cradle requires electrical power for the LED  64 . It may be more appropriate in heavy use environments such as a centralized host Kiosk in a store which exchanges data with many code readers and which is always ready to accept data from the code readers it services. It will be understood that while the optical interface cradle or dock may be more expensive to fabricate, it is less susceptible to wear and tear caused by, for example, electrical contact degradation.  
         [0050]    Further alternative types of cradles or docks may employ either of the above described electrical or optical interfaces, but contain further circuitry permitting direct access to and communication with telephone, cable or internet lines.  
         [0051]    III. Internal Construction  
         [0052]    The internal construction of the optical code reader  30  of FIGS. 1 through 3 will now be described. The top housing half  100  of the optical code reader is shown in plan view in FIG. 5, wherein like features of the embodiment of the preceding figures are identified by the same numerals. The underside of the top housing half  100  is shown in plan view in FIG. 6. A flexible button pad member  102  is attached to the housing half  100  at  104 . The pad assembly  102  includes a scan button portion  106  and a delete button portion  108  integrally connected to each other by the elongated, flexible, serpentine portion  110 . Flange portion  112  and  114  of the button portions are normally held against the housing half  100  by internal protruding posts  116  which rest on an underlying circuit board assembly  152  depicted in FIGS. 7 and 8. Activation pillars  118  and  120  are integrally formed in their respective button portions  106  and  108  respectively.  
         [0053]    In operation, when the scan button  106  is depressed, it triggers an electrical switch  150  located on an underlying circuit board assembly  152  shown in FIG. 7. Likewise, when the delete button  108  is depressed, it triggers an electrical switch  154 , also located on the circuit board assembly  152 .  
         [0054]    The circuit board assembly  152  will now be described in greater detail in connection with FIGS. 7 and 8. The circuit board assembly is shown in FIG. 7 positioned in a lower housing half  156  and held in position by post  157  and pressure tabs  159 , both carried by the lower housing half  156 . The scanner exit window is located at  158 . A scanner module or engine  160  is located on the underside of the circuit board assembly  152  and directs a laser scanning beam outward through the exit window at  158 .  
         [0055]    A scanner module useful in the code reader of the present invention is constructed in the shape of a rectangular solid and known as an SE 900 scanner module. Such a scanner module is disclosed in U.S. patent application Ser. No. 09/275,858, filed Mar. 24, 1999, which is hereby incorporated by reference. Alternatively, the scanner module may be a “scanner on a chip” such as disclosed in U.S. patent application Ser. No. 09/209,243 filed Dec. 10, 1998, now U.S. Pat. No. 6,021,947, which is hereby incorporated by reference. As a further alternate the scanner module may be of a cylindrical type as discussed below in connection with FIG. 13. Finally, the optical detection may be performed by a code reading engine employing imager technology such as disclosed in U.S. patent application Ser. No. 09/096,578, filed Sep. 1, 1998, and hereby incorporated by reference.  
         [0056]    The circuit board assembly  152  includes a single main circuit board  161  on which electrical components are mounted, including switches  150  and  154 , display LED  162 , micro processor chip  164 , memory chip  166  and I/O communications chip  168 . Advantageously, the display LED is a conventional bi-color LED (red and green) capable of producing red, green and yellow light (yellow light being produced by combining red and green light). A communication connector socket  170  and the scanner module may be mounted on the underside of the circuit board  161  as shown in FIG. 8.  
         [0057]    [0057]FIG. 9 illustrates the lower housing half of the optical code reader, with an upper wall of a battery compartment  180  cut away to reveal the location of the batteries  182  and  184 , battery compartment side walls and spring contacts. In a preferred embodiment the batteries are AAA type batteries.  
         [0058]    An outer side wall  186  of the battery compartment forms a side wall which encircles the batteries. Inner end walls  188  and  190  are configured with small apertures  192  slightly larger than the protruding contacts  194  (positive terminals) employed on standard 1.5 volt batteries. In operation the contacts  194  penetrate in the apertures  192  and make electrical contact with conductive spiral helical springs  196  and  198 .  
         [0059]    The opposite ends (negative terminals)  199  of the batteries are formed substantially flat and rest against helical springs  200  and  202  which protrude through larger apertures  204  in the inner side walls  188  and  190 .  
         [0060]    Spiral helical springs  196  and  200  are electrically connected together. Spiral helical springs  198  and  202  end in spring loaded arms  206  and  207 , respectively. When the circuit board assembly  152  is positioned in the lower housing half  156 , the spring arms maintain themselves in pressure contact with conductive lands  208  on the underside of the cicuit board  161  shown in FIG. 8. Thereby, the batteries are connected in series to provide an appropriate voltage (typically 3V DC) to the circuit elements of the optical code reader.  
         [0061]    It is conventional to include at least one diode in the power supply circuit of hand held battery powered scanners and other battery powered devices to prevent damage to the circuitry if a battery is inadvertently installed backwards (i.e., with its positive and negative terminals reversed). The need for such measures is obviated by the structures of FIG. 9. It will be readily understood that the contact spring for the positive battery terminal is accessible only if the protruding terminal  194  of the battery is inserted into the small aperture  192 . These same contact springs are inaccessible to the wide, flat negative terminal of the battery. Accordingly, if a battery is inserted backwards, the circuit is not completed.  
         [0062]    IV. Optical/Electronic Systems  
         [0063]    [0063]FIG. 10 is a schematic block diagram of a preferred embodiment of an optical code reading system of the present invention. Portions of the systems of FIG. 10 are described in U.S. Pat. No. 5,801,371, the contents of which are hereby incorporated by reference herein. Generally speaking, the system elements enclosed by the dotted line  209  may be housed in a hand-held optical code reader  210 , while the systems outside line  209  may be resident in an external computer or terminal which communicates with the reader through a communications link such as described above.  
         [0064]    The hand-held code reader  210  includes an optical code reading module  211  which may be an imager or a laser scan module of conventional construction or of the type described in detail below. The bar code being read is indicated at  212 .  
         [0065]    The module is controlled by a controller  214 , which may be implemented in a microprocessor. The controller receives at least three user signals: from the scan key switch  216 ; from the delete key switch  218  and from the docking switch  220 . The keys may be actuated by the fingers of the user. The docking switch may be actuated by insertion of a communication plug  222  into the docking switch.  
         [0066]    The optical code reader  210  provides feedback directly to the user in at least two ways: through audible signals produced by one or more audio enunciators  224  and through visual signals produced by one or more light emitting diodes  226 . In a preferred embodiment, the code reader provides audio feedback in the form of short or long beeps of two different frequency and warble beeps. Visual feedback may include continuous (solid) or flashing red, amber and/or green light signals from the LED. The audio enunciator(s) and LED(s) are operated in response to the controller  214 . Preferred techniques for providing the user feedback are described below.  
         [0067]    Signals from the module  211  may be processed in signal processor  228  and decoded by decoder  230 . Decoded signals may be provided for storage in the memory  232  which may have, for example, a capacity to store information of up to  500  scanned items (UPC codes). Information concerning coupons (discussed below) may preferably be stored in a separate memory or a distinct section of an existing memory. This segregation reflects the fact that coupon data may be stored for the duration of multiple scanning or shopping sessions until used. Information in the memory or memories may be communicated to an external terminal  234  through communications unit  236 , the plug  222 , and cable  238 .  
         [0068]    A clock  240  may be included in the circuitry of the code reader. The clock may be employed, for example, to periodically awaken the code reader at scheduled times or intervals for data downloading. The clock may also be connected to a display (not shown) so that the code reader can be used as a timepiece.  
         [0069]    V. Host Terminal Implementations and Uses for the Code Reader  
         [0070]    With continuing reference to FIG. 10, the optical code reader  210  may communicate with the terminal  234  in the manner described above. The type of terminal and communication used with the code reader will depend on the use environment for the code reader. Several examples will now be provided.  
         [0071]    It will be understood that versions of the optical code readers described may be very inexpensively fabricated. So much so that it becomes feasible to sell the unit to store customers for use in tallying their purchases in store and/or for use at home in preparing shopping lists. As an alternate the code reader could be leased to the customer. The rental can be based on time (for example a monthly rental fee). More preferably, the rental may be based on the number of decodes performed by the customer with the unit. The numbers of decodes or accumulated rental charges can be counted by software and hardware in the code reader or in a store terminal with which the code reader periodically communicates. In this system, the rental is based on use and can be conveniently tallied and automatically collected when the code reader communicates with a system terminal.  
         [0072]    In one preferred embodiment, the system terminal may be a personal computer. Through the appropriate selection of the communication unit  236  and the cabling, the reader may communicate directly with a serial port of the personal computer. The code reader and cradle may be provided as an inexpensive preferred component. Applications software installed on the computer enables the upload of a data from the code reader to the computer. Such software may be provided to the computer, for example, on magnetic media, CDs or over the Internet.  
         [0073]    With appropriate applications software the PC can recognize when the code reader is docked in the cradle. The PC can, for example, download information from the docked reader at a predetermined time. Docking may automatically disable the scanning mode of the code reader.  
         [0074]    In other preferred embodiments, the system terminal may be a highly capable point of sale terminal. The point of sale terminal may bring together inputs and data from a variety of sources other than the hand held optical code readers of customers and employees. Such sources include a pen tablet, a fingerprint recognition pad, a magnetic strip reader (e.g., for credit card verification), a smart card reader (with or without contacts), a speech recognition system, a global positioning system (GPS), an RF transceiver, removable memory cards or discs, analog I/O, IrDA data or an encryption/decryption system. Outputs of the terminal may include a display, a speaker system and a printer.  
         [0075]    In a shopping environment, the system may provide additional functions such as aisle sorting the customer&#39;s shopping list or providing price ranges for items on the list. Such information can be obtained by connecting the code reader to the merchants&#39; data server to obtain product, price and/or location data on the items which the merchant has for sale.  
         [0076]    Advantageously, a portion of the internal memory of the code reader can be allocated to a variety of applications other than storing information on scanned items. For example, 128 bytes of memory could be allocated to applications memory. Among the data which could be stored in the applications memory are the customer&#39;s name, the customer&#39;s telephone number, the identity of the issuing store or owner of the scanner and the telephone number of the store. The customer and the store identity and telephone numbers provide convenient means by which a host terminal can greet and identify the user of the code reader and indicate and access the associated issuer or store. Alternatively or in addition, each code reader may be provided with a memory of its unique serial number, which a host terminal may use to look up, for example, the identity of the customer or the issuing store. Such identification information may be used in a key and lock system which enables only authorized customers to use the scanner at authorized stores or for authorized purchases.  
         [0077]    The allocated applications memory may also be employed to store transaction related data. For example, the memory may store the number of decodes for billing as described above, or keep a store-by-store log of the total dollar purchases (for example for tallying up volume or patronage discounts).  
         [0078]    Other memory internal to the code reader may be used for storing coupon data. For example, an electronic coupon can be uploaded by scanning the bar code of a printed coupon or by electronically downloading the coupon from a web site or by simply inputting the coupon into the code reader when the code reader is connected to a merchant host terminal. For example, memory for 200 or 300 coupons might be provided including coupon values, expiration dates and validity data.  
         [0079]    An example of the operation of a coupon redemption process is as follows. A customer could load electronic coupons into the reader in one or more of the ways described above. The customer could scan purchased items with the code reader. Data concerning both the purchased item and the electronic coupon could be downloaded by a merchant host terminal, which would pair valid coupons with corresponding purchases. The host terminal would discard expired coupons, delete used coupons, and return unexpired, unused coupons to the memory of the code reader.  
         [0080]    In other preferred embodiments, a method is provided for using the bar code reader to facilitate a transaction between a buyer and at least one of a plurality of merchants or sellers of a product or service utilizing a computer network. In accordance with that method, a product or service identification derived from scanning a bar code symbol is in put into the bar code reader. A customer identifier is provided in the bar code reader (for example, a unique serial number permanently stored in the bar code reader). The bar code reader is manually associated with a transaction terminal linked to a computer network by, for example, docking the code reader in a host terminal. The potential suppliers on the network capable of providing the product or service are determined. An inquiry is transmitted over the network to the plurality of sellers to determine the price and availability of the product or service. In some environments such as stock transactions, price and availability change rapidly and, it will be understood that, sales transactions can be performed in a timely way with the present method. Also, the sellers can use the customer identity to determine whether and under what terms to complete the sale. Responses are received in the host terminal from one or more sellers including a sales offer; an acceptance is transmitted responsive to one of said sale offers; and a payment is provided to the seller by using a payment identifier transmitted by the transaction terminal. In this way the network is accessed by the bar code reader to facilitate sales transactions.  
         [0081]    In other preferred embodiments, a customized scanner is employed which carries an identifier of a particular supplier or distributor of a product or service, e.g., a sponsoring merchant. The sponsoring merchant may itself distribute its bar code readers to customers or potential customers. In this case the bar code reader may be used to facilitate transactions between a customer and the particular supplier to whom an inquiry is transmitted over a computer network to determine the current price and availability of a product or service from the supplier. The customer may receive a response from the supplier over the computer network including a current price. The customer may then transmit an acceptance identifier to the supplier over the computer network.  
         [0082]    In further, preferred embodiments, the code reader is integrated with a wireless transceiver unit to facilitate a transaction between a buyer and a seller. For example bar code scanners of the present invention may be integrated into a cellular telephone. In such a case, the need to dock the scanner with a host terminal or home personal computer to upload or download data may be obviated. The user of such a system may input an order or bid request and directly transmit the order or bid request to a supplier. It will be understood that a customer or supplier identifier in the unit may be used for the purposes described above, in order, for example to direct customers to a sponsoring merchant, or to identify the customer to validate use, payment or acceptance.  
         [0083]    VI. Actuator States, Timing, Indicators and Functionality.  
         [0084]    [0084]FIG. 11 is a state transition diagram, illustrating the coordination of various functions of the optical codes reader/PC system of a preferred embodiment of the present invention. In the diagram various code reader operation such as scan, dock and delete are represented as circles. System states are represented as squares. The PC operation of viewing a list of stored items is shown in a rounded square accessible from the “dock” operation. The diagram, indicates, among other things, the various options or responses to the condition of full memory or low battery.  
         [0085]    As noted above, the code reader of a preferred embodiment has two user actuated keys and a number of audio and visual feedback capabilities. These inputs and outputs are coordinated with at least five basic functions: Scan (e.g., item input), deletion of item, clearing memory, communicating with a host terminal and actuating a lock out. The relationship of the user action to function performed and audible/visual feedback are given in the following Table I.  
                                                           TABLE I                           Code Reader Functions-User Action/Feedback            Function       LED Feedback   Beeper           Performed   User Action   (Green, Red, Amber)   Feedback   Other                    Scan                       Item bar code   Press &amp; hold   Flashing green -&gt; solid green   Short beep, freq1   Laser       Valid param bar code   scan key   Flashing green -&gt; solid green   2 short beeps, freq1   Laser       Invalid param bar code       Flashing green -&gt; solid red   3 short beeps, freq1   Laser       Delete       (When enabled)   Press &amp; hold   Flashing amber -&gt; solid amber   Short beep, freq2   Laser       Item barcode   delete key       Item doesn&#39;t exist       Flashing amber -&gt; solid red   Warble beep.   Laser       Param bar code       Flashing amber -&gt; solid red   3 short beeps   Laser       (Delete disabled-   Press &amp; hold   Flashing amber   None   Laser       Clear All enabled)   delete key   Fall through to Clear All       (Delete &amp; Clear All   Press &amp; hold   None   None   None       disabled)   delete key       Clear All       (When enabled)   Press &amp; hold   Flashing amber -&gt; solid amber   Long beep, freq2   Laser on           delete key           for scan           3 sec past           time, then           scan time           off       (When disabled)   Hold delete key   None   None   None       Host Communication   past scan time       Successful   Unit docked and   Flashing green -&gt; solid green   Short beep on host   None       (Powerdown recv&#39;d)   awakened by       connect, then long           Host or push of   beep on power down           scan or delete key       Unsuccessful       Flashing green -&gt; solid red   None       Child Lock Toggle       (When enabled)   Press &amp; hold both   None   Hi low, Hi low   None           scan and delete           keys for 1 sec                  
 
         [0086]    Under the “Scan” function, three possibilities and their user feedbacks are noted in Table I: scan of an item bar code, scan of a valid param bar code and scan of an invalid param bar code. Param bar codes are bar codes which change the behavior or basic functionality of the code reader, rather than indicating the identity of a particular item in the manner of a UPC code. As such the param bar code may be used to effect or toggle higher level operations such as for example converting the code reader to a laser pointer.  
         [0087]    Under the “Delete” function, three possibilities are noted in Table I: scan of an item bar code previously entered in memory, scan of a bar code not in memory, and scan of a param bar code. When the delete function is enabled, the scanning of an item bar code previously entered in memory, deletes one of the item from memory. Repeated use of this delete function may be used to decrement the quantity field in memory for the item, one unit at a time. Scanning of the bar code of an item whose current count in memory is zero while pressing and holding the delete key, provides the user a feedback signal of the inability to delete. Param bar codes may be scanned to enable or disable the Delete function and Clear All function (described below).  
         [0088]    Under the Clear All function, two possibilities are noted in Table I: when Clear All function is enabled or when Clear All function is disabled. When the Clear All function is enabled, pressing and holding the delete key while scanning an item bar code and holding the delete key 3 seconds past the scan time, deletes all of the items memory (reduces the item count to zero) and provides the indicated user feedbacks. In this way the memory can be cleared of all of an item, and, if desired, one or more of the item may then be reentered by using the Scan function for the item bar code. Advantageously, the default setting of the code reader is one in which both the Clear All and Delete functions are enabled.  
         [0089]    As shown in Table I a Lock Toggle is provided in the code reader. The system may be employed to shut out unauthorized use to protect data and to prevent inadvertent eye exposure to laser light. As indicated in Table I the function is performed by pressing and holding both the scan and delete keys for one second. Because of the location of the two keys and the location of the blocking ridge  44  around the delete key, accidental toggling of the lock is minimized.  
         [0090]    [0090]FIG. 12 is a switch timing diagram for the Lock Toggle function. In the example, the state of a first key pressed (the scan or delete key) is indicated by line  250 . The state of the other key is indicated by line  252 . A delay of T occurs during which the unit powers up and recognized the first key press at  254 . An additional interval of up to 200 milliseconds is provided for pressing of the other key to toggle the lock out function. If the second key is pressed within that interval (as it is at  256 ) and if both keys remain depressed fro the remainder of the 1 second interval, the lock is toggled. The requirement that actuation of both keys be detected within the 200 millisecond period tends to prevent lock out toggling except in situations where the user intended to simultaneously press both buttons.  
         [0091]    The code reader is also capable of communicating certain special conditions such as MEMORY LOW (reader memory nearly filled to capacity), MEMORY FULL, BATTERY LOW, LOCK ENABLED AND ON, and UNEXPECTED FAILURE. (The BATTERY DEAD condition is implicitly communicated because the system ceases to respond altogether when the battery is dead). The relationship of user actions, the special conditions, and the audible/visible feedback are given in the following Table II.  
                                     TABLE II                           Code Reader Functions-User Action/Feedback       Special Cases                    LED Feedback   Beeper           Special Condition   User Action   (Green, Red, Amber)   Feedback   Other               Memory Low                       Scan Item   Press &amp; hold   Flashing red -&gt;   Normal operation   Laser       or param bar codes   scan key   Normal operation       Delete/Clear All   Press &amp; hold   Normal operation   Normal operation   Laser       Memory Full   delete key       Scan   Press &amp; hold   Solid red   Long beeps for 5 sec   None       Any bar code   scan key       or until scan released       Delete/Clear All   Press &amp; hold   Normal operation   Normal operation   Laser           delete key       Battery Low Indication       (When enabled)   Press &amp; hold   Solid red -&gt;   Normal operation   Laser       Scan   scan key   normal operation       Item &amp; param bar codes       Delete   Press &amp; hold   Solid red -&gt;   Normal operation   Laser       Item &amp; param bar codes   delete key   normal operation       Clear All   Press &amp; hold   Solid red -&gt;   Long beep, freq2   Laser on for           delete key   solid amber       scan time then           3 sec past           off           scan time           off       Lock       (Enabled &amp; ON)   scan/delete/dock   Rapidly flashing red   None   None       Unexpected Failure   scan/delete/dock   Flash red, green and   None   None               amber for 5 sec               (Service Call)       Battery Dead   scan/delete/dock   None   None   None                  
 
         [0092]    It will understood that the code reader of the above-described embodiments in capable of performing its many functions and provide user feedback without the need of an on board display screen, thus reducing the cost and complexity of the code reader.  
         [0093]    VI. Opto-mechanical Layout of Cylindrical Module Embodiment  
         [0094]    [0094]FIG. 13 illustrates an embodiment of a laser scan module for use in generally cylindrical housings. The module of FIG. 13 employs a mirror mounted on a leaf spring. Alternative embodiments may use spiral tape springs which permit the mirror to pivot about a shaft about which the spiral tape spring is wrapped.  
         [0095]    In FIG. 13, the laser scan module  500 , includes a generally circular planar base  502 . It is adapted to be housed in a generally cylindrical housing such as that indicated at  501 . Alternatively the module may be positioned on a code reader main circuit board such as shown in FIG. 8. A semiconductor light source  504 , such as a laser diode  506  and lens  508  may be located on the base  502 . The light source  504  generates a light beam projected along a first optical path indicated by arrows  510 .  
         [0096]    A generally planar, reciprocally oscillated reflector or mirror  512  is positioned above the base and located in the first optical path  510 . The reflector directs the laser beam impinging on it toward a code symbol located in the field indicated by arrow  514 . A spring coupled to the reflector  512 , pivotably supports the reflector for oscillating movement. In the embodiment of FIG. 13, the spring is a leaf spring  516 , fixed to the module at  518 .  
         [0097]    A drive mechanism is also supported on the base  502  for reciprocally oscillating the reflector  512 . The drive may include a permanent magnet  520  connected to the reflector and coupled to an electromagnetic coil  522 . When an alternating drive signal is applied to the coil  522 , an alternating magnetic field is produced which acts to oscillate the permanent magnet and, in turn, to flex the spring and reciprocally oscillate the reflector about an axis generally perpendicular to the plane of the figure.  
         [0098]    A photodetector  524 , such as a semiconductor photodiode is also mounted on the circular base under the reflector. The photodetector generates an electrical signal indicative of light reflected from a target code symbol. A one-piece optical element  526 , includes a beam folding section (such as generally planar section  528 ), and a collection mirror portion (such as curved portion  530 ). The optical element  526  is designed to receive retro-reflected light from the reflector and direct it to the photodetector  524 .  
         [0099]    The electronic coupon redemption process discussed above is enhanced by using additional information encoded as a second bar code symbol in addition to the first bar code symbol  212 . As shown for a sample coupon  600  in FIG. 14, the first bar code symbol  212  contains the manufacturer&#39;s identity and the product identifying information, as is standard. The second bar code symbol  610  contains the additional information arranged in a template or format in which a four digit application identifier  612  gives the format of the data to follow, a single digit number system character code  614  gives a manufacturer&#39;s number for products of the same manufacturer, a four digit offer code  616  gives a number assigned by manufacturers to code coupon offers, and a four digit expiration date  618 , where the first two digits represents the month, and the last two digits represents the year, gives the date that the product expires. The extended symbol  610  can also include a second two digit application identifier  620  followed by an eight digit household identifier  622 .  
         [0100]    The portable user apparatus or optical code reader  30 ,  210  is capable of reading both symbols  212 ,  610  on the extended code coupon  600 . The coupon  600  was downloaded from a server on the Internet, or from a host terminal at the transaction site, and was printed on paper.  
         [0101]    As previously described, an electronic coupon may be read into the memory  232  of the portable reader by scanning a printed symbol  610 , by downloading data from an Internet server or from a host computer, or by manual keyboard entry, to store coupon data. The reader can also scan a product identifying code or symbol  212  associated with the product being purchased, preferably being affixed directly on the product, to store product data. The coupon data and the product data are transmitted, preferably by wireless transmission at a radio frequency, to a transaction system or host computer  234  remote from the portable reader. The coupon data and the product data are electronically matched in a memory of the host computer, which thereupon transmits an acknowledgment signal to the portable reader, or to a check-out terminal at the site of the sales transaction, again by wireless transmission. The acknowledgment signal confirms that a match has been made and that the coupon is valid and has been redeemed.  
         [0102]    It is advantageous if the controller  214  includes circuitry for limiting the number of coupons that are stored in the memory  232 . The limiting circuitry could also be located in the host computer  234 . The limiting circuitry serves to insure that the number of coupons that are redeemed does not exceed a maximum approved by the manufacturer.  
         [0103]    It is further advantageous if the wireless transmission is initiated when the portable reader  30  is placed on the cradle  32 , or when an actuator on the reader is manually actuated, or automatically after each reading of a product identifying code and coupon. The customer identifier stored in the memory  232  is useful in determining the origin and destination of each transmission. Advantageously, the customer identifier is provided in the household ID field  622  of the symbol  610 .  
         [0104]    Another feature of the product invention is an in-store advertising system  700  illustrated in FIG. 15 which includes a display  701  and/or printed sign mounted on a stand, column, or the edge of a shelf in a supermarket (or other kind of store) along with some other features.  
         [0105]    Many of the points outlined below pertain to ways to decrease power consumption. This is a critical aspect of the invention, and one that differentiates it from varius kiosk marketing systems that have preceded it. It is important to position the display near products being advertised, where there will usually be no source of power available, so batteries will be the only practical means of powering these displays. It would, of course, be impractical to run wiring to a new location every time the display is moved to be near a new product for a new promotion. It will therefore be important to minimize power consumption by powering down any part of the system whenever possible. The power supply rail system can be used to eliminate batteries, but it will be impractical to install it for initial roll-outs, pilot tests etc., so initial acceptance of this kind of product will be dependant upon its ability to operate for a long time on a set of batteries. Later, when the product becomes well established, and when it is known there will be a large enough continuing revenue stream generated by this system it may become economically justified to install the power supply rails.  
         [0106]    The features of the invention are numbered below:  
         [0107]    1. A shelf mounted advertising display system  700  that includes an object sensor to initiate actions that will draw the shoppers attention to the display. The initiated actions can include blinking LEDs  702 , animating displays on an LCD display screen  701 , energizing motors to cause physical motion etc.  
         [0108]    2. The display described above may also including a bar code, R.F. tag, mag stripe or smart card reader  703 .  
         [0109]    3. The device of  1  and  2  above but also including a radio for one or two way communication with a computer system.  
         [0110]    4. The device of  1 , 2 , 3  above in which the bar code scanner, r.f. tag reader, smart card reader or mag stripe reader are de-energized until the presence of an object bearing the media that is to be read is detected by a sensor.  
         [0111]    5. All of the above with the radio only being energized when a bar code (assume from here on that when I say bar code I also mean R.F. tag , mag stripe or smart card) has been decoded.  
         [0112]    6. No.  5  in which the radio is automatically powered down after the bar code data has been transmitted to the remote computing device, and in which the bar code scanner is automatically de-energized when the bar code has been decoded.  
         [0113]    7. The shelf mounted advertising display described above which also includes a printer for printing coupons or a dispenser for dispensing pre-printed coupons. The printer and its associated electronics only being energized during the printing process.  
         [0114]    8. All of the above in which the advertising system is powered by rechargeable batteries or by disposable single use batteries.  
         [0115]    9. Feature  1  through  7  in which the system is powered by power supplied to it by a rail system mounted to the store shelf, allowing the system to be positioned anywhere along the shelf.  
         [0116]    10. Feature No.  8  in which the batteries are recharged, or in which battery life is extended by solar cells mounted on the housing of the advertising system.  
         [0117]    11. All of the above features in which the advertising system is part of a larger system that enables shoppers to receive discounts or other offers on the advertised products.  
         [0118]    12. Feature No.  11  in which the discounts are delivered electronically, without the use of paper coupons.  
         [0119]    13. Features No.  11  and  12  in which the shopper receives a discount or other offer after scanning an identification card with the bar code scanner in the advertising display unit.  
         [0120]    14. All of the above features in which the offered discount or offer is dependant on the identity of the shopper.  
         [0121]    15. The above features in which the system keeps records about the number of user identity cards scanned, the number of offers accepted by shoppers and/or the number of activations of the attention drawing features.  
         [0122]    16. All of the above features in which the display can also be used as a price checker, or to perform other kiosk functions.  
         [0123]    17. The advertising display above which includes two sensors. One sensor has extended range sufficient to activate attention attracting features when a person or shopping cart moves within several feet of the display. A second sensor turns on the bar code scanner when an object carrying the bar code is placed within the reading field of the scanner.  
         [0124]    18. The advertising systems above including a bar code printed on the advertising display, or on the display housing, or displayed on an electronic display, in which the bar code can be scanned by a portable scanner carried by a shopper to facilitate delivering offers or coupons to the shopper.  
         [0125]    19. The system of  18  in which the offers or discounts are varied depending upon who the shopper is.  
         [0126]    20. The advertising system above in which the attention attracting actions are canceled when an object comes within range of the short range sensor that triggers the bar code scanner, or when a bar code is decoded by the scanner. The actions are re-initiated when another shopper comes within range of the extended range sensor.  
         [0127]    21. The systems described above in which the object sensors use optical or R.F. energy to sense objects.  
         [0128]    While aspects of the present invention have been described with reference to preferred embodiments and examples, the invention to be protected is defined by the literal language of the following claims and equivalents thereof.