HAND HELD DATA PROCESSOR UNIT
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to hand held data processor units, i.e., units which are sufficiently small in size and light in weight to be held by a user in one hand. The invention is useful in a number of applications described below, particularly in a mobile telephone incorporating other functional devices, including a personal digital assistant (PDA), a computer game, a body-position detector, e.g., for detecting drowsiness in a vehicle driver, and/or a dynamic spherical keyboard facilitating key selection.
A number of hand-held data processor units have been described in the patent literature which include a display screen and a microcontroller for controlling the display on the screen in accordance with the tilt position of the unit with respect to gravity, to enable a user to control the display by merely tilting the unit to different positions in space. For example, US Patent 5,602,566 discloses a hand-held unit including a photo-optical type tilt sensor which controls a microcontroller to scroll a screen display in accordance with the tilt positions of the unit. European Patent Application 825514A2 discloses a hand-held unit including a tri-axial gyro sensor which controls a microprocessor to control the display on a screen in accordance with the tilt positions of the unit.
However, the device described in these two patents are extremely complicated and would therefore appear to have very limited use.
OBJECTS AND BRIEF SUMMARY OF THE PRESENT INVENTION
An object of the present invention is to provide a hand-held data processor unit of a novel construction enabling it to be used for a wide variety of applications, particularly as a mobile telephone unit usable alone, or incorporating a number of other functional devices.
According to a broad aspect of the present invention, there is provided a data processor unit sufficiently small in size and light in weight to be held by a user in one hand and to be oriented in different positions in space, the data processor unit comprising: a display screen viewable by the user and having orthogonal X and Y axes; and a microcontroller having two orthogonally-mounted, solid-state, micromachined tilt meters for measuring the tilts of the X and Y axes of the screen with respect to gravity for controlling the display on the screen in accordance with the measured tilt.
Such solid-state micromachined tilt meters are known and have been used in a number of applications, as described for example in US Patents 4,955,234 and 5,353,656. Particularly good results were obtained when using, in the data processor unit of the present invention, solid-state tilt meter devices which include a silicon wafer micromachined to define a tilt sensor element movable by gravity in accordance with the tilt position of the unit, and to produce an output signal corresponding to the tilt position, which output signal is fed to the microcontroller to control the display on the screen in accordance with the measured tilt.
According to further features in the preferred embodiments described below, the microcontroller is programmed such that, when the unit is turned on, the microcontroller controls the display on the screen first to display a cursor, and thereafter to move the cursor over the screen according to the measured tilts of the unit. The microcontroller is also programmed such that, when a push-button is held depressed for a predetermined period of time, and the unit is held steadily in a single position for the predetermined period of time, the cursor is automatically moved to a reference position with respect to the screen.
According to further features in the described preferred embodiments, the microcontroller is programmed to vary the sensitivity of movements of the cursor to the measured tilts of the unit in a self-adaptive or automatic manner according to: (1) the movements of the unit, to filter out hand tremors and other extraneous movements; (2) the instantaneous velocity of the cursor; and/or (3) the instantaneous position of the cursor on the screen.
A preferred embodiment of the invention described below is one wherein the unit includes a mobile telephone having an antenna, a transmitter, a receiver, and telephone circuitry controlled by the microcontroller.
The invention may be embodied in a hand-held unit which includes, together with or in lieu of such a mobile telephone, also a personal digital assistant (PDA), the microcontroller being programmed to control the display of a plurality of program icons on the screen and the movement of a cursor to select one of the program icons in accordance with the measured tilts of the unit. One such icon could designate the mobile telephone program, whereas other such icons could designate different programs involved in a PDA, such as programs for entering names, addresses, appointments, etc., and for displaying such entries.
The microcontroller could be programmed to execute, with respect to another selected icon, a game in which the screen is controlled to display an object movable with respect to the X and Y axes of the screen in accordance with the measured tilts of the unit during a series of manipulations of the unit, rather than in accordance with the depression of X-axis and Y-axis push buttons, or the movement of a joystick, as presently used in existing computer games for moving objects over the screen.
A still further embodiment is described below wherein the unit is also mountable on the torso of a user, and the microcontroller is programmed, when a particular icon is selected, to control an audible alarm in the event of excessive movement of the user's torso in a predetermined direction as sensed by the measured tilts of the unit. Such a unit may be used as a monitor of human posture for encouraging correct posture, but is particularly useful as a monitor of drowsiness in a vehicle driver for preventing vehicle accidents.
A still further embodiment is described below wherein the microcontroller is programmed, when another icon is selected, to display on the screen a sphere having a plurality of images arranged at different locations on the outer surface of the sphere, and thereafter to effectively rotate the displayed sphere according to the measured tilts of the unit in order to move a selected image to the center of the outer surface of the sphere facing the viewer of the screen. In the described preferred embodiment, the images displayed on the outer surface of the screen are characters of a keyboard; and the
microcontroller is programmed also to display on the screen a cursor at the center of the outer surface of the sphere facing the viewer of the screen, and to move a selected image towards that cursor according to the measured tilts of the unit.
Further features and advantages of the invention will be apparent from the description below.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
Fig. 1 diagrammatically illustrates a mobile telephone constructed in accordance with the present invention;
Figs. 2 and 3 are diagrammatic side and end views, respectively, of the mobile telephone of Fig. 1 ;
Fig. 4 is a pictorial view illustrating the operation of the mobile telephone of Fig. l ;
Fig. 5 is a block diagram illustrating the electrical circuitry included in the mobile telephone of Fig. 1 particularly for controlling the cursor in accordance with the tilt position of the telephone unit;
Fig. 6 is a flow chart illustrating the operation of the mobile telephone of Figs. 1 - 5;
Fig. 7 is a view similar to that of Fig. 4 but illustrating the unit for multi-purpose use, e.g., as a personal digital assistant (PDA) in addition to, or in lieu of, its operation as a mobile telephone;
Fig. 8 illustrates the display of a unit constructed in accordance with the present invention for use in a hand-held computer game;
Fig. 9 illustrates a unit constructed in accordance with the present invention for use as a body-position monitor;
Fig. 10 illustrates a unit constructed in accordance with the present invention for use in detecting drowsiness on the part of a vehicle driver in order to prevent vehicle accidents; and
Fig. 11 illustrates a spherical-type display that may be generated and manipulated in accordance with the invention, for displaying a keyboard or other selectable images in a manner facilitating selection by the user; and
Fig. 12 illustrates a still further arrangement wherein a hand-held unit controls the display of a computer or other data processor via a wireless link.
DESCRIPTION OF PREFERRED EMBODIMENTS
Figs. 1 - 7 illustrate a data processor unit 1 constructed in accordance with the present invention in the form of a mobile telephone sufficiently small in size and light in weight to be held by user in one hand, and to be oriented in different positions in space in order to control the telephone, as will be described more particularly below. The illustrated mobile telephone unit includes a large display screen 2 viewable by the user, an antenna 3 for transmitting and receiving information, and a push-button 4 depressible by a finger of the user when held in the user's hand for controlling the mobile telephone. The mobile telephone unit 1, when held in the user's hand, may be tilted to any angular position about the X-axis of the screen 2 by pitch motions as indicated by arrow 5, or may be tilted to any angular position about the Y-axis of the screen by roll motions as indicated by arrow 6. Such tilting movements of the mobile telephone unit 1 are effective to control the display on screen 2, particularly the position of a cursor 7 on the screen, as will be described more particularly below.
The illustrated mobile telephone unit, further includes an on/off switch 8. Actuating switch 8 to its "on" condition automatically controls the display on the screen 2 to first display the cursor 7, and thereafter to move the cursor over the screen according to the tilt positions of the unit produced by the pitch and roll motions of the unit when held in the user's hand.
Fig. 2 is a diagrammatic side view of the mobile telephone unit 1 of Fig. 1 showing the manner of detecting and measuring the tilts of the mobile telephone unit 1 by pitch movements; and Fig. 3 is a diagrammatic end view of the mobile telephone unit 1 of Fig. 1 showing the manner of detecting and measuring the tilts of the unit by roll movements.
Thus, as shown in Fig. 2, the mobile telephone unit 1 includes a tilt meter, schematically shown at 10, for measuring the tilts of the unit with respect to the screen Y-axis produced by pitch movements as indicated by arrow 5 in Fig. 1. Tilt meter 10 is a solid-state, micromachined tilt meter mounted on a printed circuit board 1 1 within the housing 12 of the mobile telephone unit 1. The micromachined tilt meter 10 is preferably a silicon wafer having a tilt sensor element 13 movable by gravity 15 in accordance with the tilt position of the unit to define the angle α between the screen Y-axis 14 and the tilt sensor element 13.
Such a tilt meter may be of a micromachined construction, such as described in one of the prior patents cited above. Preferably, however, it is of the construction used in the tilt meter ADXL 202 supplied by Analog Devices. Inc. Such a tilt meter includes a silicon wafer whose surface is micromachined to produce a capacitor having one or more tilt sensor elements deflectable by gravity to vary its capacitance in accordance with the tilt position of the unit with respect to gravity.
The output signal from tilt meter 10, shown at 16, is fed to a microcontroller 17 within the housing 12 of the mobile telephone unit 1. Housing 12 also contains the telephone circuitry, indicated by box 18, including the transmitter, receiver, dialing circuitry, etc., commonly included in a mobile telephone.
The end view illustrated in Fig. 3 illustrates a similar tilt meter, generally designated 20, which is of the same construction as tilt meter 10 in Fig. 2, but is mounted orthogonally with respect to the latter tilt meter. Thus tilt meter 20 also includes a tilt sensor element 21 movable by gravity in accordance with the tilt position of the unit to define angle β between the screen X-axis 22 and the tilt sensor element. A roll movement thus produces an output signal 23 corresponding to the tilt position of the mobile telephone unit 1 with respect to the screen X-axis. The output signal 23 from tilt meter 20 is also fed to the microcontroller 17.
As will be described more particularly below, the microcontroller 17 is programmed such that, when the on/off button 8 is depressed, it displays on the screen 2 the cursor 7 and also a keyboard, shown at 24 in Fig. 4. Thereafter, microcontroller 17 controls the display to move the cursor 7 over the keyboard according to the measured tilt of the unit. The cursor 7 may be moved by merely tilting the portable unit 1 to select the
numbers 0 - 9 to be dialed; and a selected number may then be entered by depressing push-button 4, thereby eliminating the need for a conventional keyboard containing a plurality of depressible keys for dialing the telephone numbers.
Fig. 5 is a block diagram of the electronic circuitry, particularly illustrating the microcontroller 17, its inputs from the two tilt sensors 10 and 20, and the manner in which it controls the display on the screen 2 of the mobile telephone unit 1.
Thus, the two tilt sensors 10, 20 are fed by an oscillator 30 and control their respective demodulators 31, 32 according to the measured tilts. Demodulators 31, 32 produce pulse-width-modulated (PWM) signals applied to a duty cycle modulator 33. Modulator 33 in turn produces X and Y outputs 33x, 33y to the microcontroller 17. Since such tilt meters 10, 20, including the circuitry for producing the tilt output measurements 33x, 33y, are well known, e.g., in the above-cited ADXL 202 tilt meters, further details of their construction and operation are not set forth herein.
The tilt output measurements 33x, 33y are inputted into counter/timer circuits 34, 35 within the microcontroller 17. The CPU 36 of microcontroller 17 processes the outputs of the latter circuits and generates cursor driver signals at 37 for controlling the display on the screen 2 of the mobile telephone unit 1 in accordance with the measured tilt positions of the unit.
As shown in Fig. 5, the mobile unit 1 includes a feedback circuit 38 connected to the microcontroller 17 for controlling the sensitivity of the unit and also for filtering out unwanted artifact signals, such as caused by hand tremors, vehicle movements, and the like, as will be described more particularly below.
In the preferred embodiment described herein, the microcontroller 17 is programmed such that, when on/off button 8 is depressed, it displays the cursor 7 and the keyboard 24 on the screen 2; and when the push-button 4 is held depressed for a predetermined period of time (e.g., 2 seconds), and the unit is held steadily in a single position for such predetermined period of time, the cursor 7 is automatically moved to a reference position, such as the "0" position on the keyboard 20. It will be appreciated that the cursor 7 need not be an arrow but could be, for example, a star, an asterisk or the like. The unit may then be tilted by pitch movements around the screen X-axis, or roll
movements around the screen Y-axis, to move the cursor to a selected number key of the keyboard. The selected number is entered by the depression of the push-button 4.
Fig. 6 is a flow chart illustrating one particular mode of operation of the microcontroller 17.
Block 40 in Fig. 6 illustrates the pulse-width-modulated X-axis and Y-axis signals 33x, 33y outputted from the duty cycle modulator 33 in Fig. 5 to the microcontroller 17. The microcontroller 17 is programmed to provide an automatic sensitivity control by means of an adjustable (i.e., a variable cut-off) digital lowpass filter (block 41) having a preferred sensitivity setting input 42, and two further inputs for modifying the sensitivity of the preferred setting in an automatic manner according to certain instantaneous conditions of the cursor 7.
One automatic sensitivity control is based on the instantaneous velocity of the cursor 7, as indicated by block 43. According to this sensitivity control, the movement of the cursor 7 is analyzed to determine whether it is at rest or in motion, and if in motion, whether it is moving at a constant velocity, or at an accelerated or decelerated velocity. Thus, when the cursor is at rest (velocity=0), the sensitivity of the cursor to the tilt movements is relatively low so that relatively large tilt movements are required for the cursor to start to move in the tilt direction. The sensitivity of the cursor movements increases with acceleration, is maximum at constant velocity, and decreases with deceleration, until it again comes to rest at the desired location determined by the measured tilt movements.
The foregoing sensitivity control 41 can be implemented by a dynamic filter whose time constant is changed automatically according to the instantaneous velocity of the cursor, such that the longer the time constant, the greater the filtering action, and thereby the lower the sensitivity of the cursor movements to the measured tilts.
Block 44 indicates an automatic control of the sensitivity of the cursor movements based on the instantaneous position of the cursor. This automatic sensitivity control is particularly useful where the unit displays a plurality of icons, such as shown in Fig. 7 to be described below. Thus, if the cursor is on an icon, the sensitivity of the cursor to tilt movements is relatively low, so that relatively large tilt movements are required for the cursor to start to move towards another selected icon. After the cursor has left an icon,
its sensitivity is increased to make it more responsive to the direction of the tilt movements, until it arrives at the selected icon, whereupon its sensitivity is again decreased. This manner of sensitivity control can be implemented also by using a dynamic filter whose time constant is automatically controlled according to the instantaneous position of the cursor.
Microcontroller 17, by adaptive learning and storage of significant user behavior and environmental parameters, also filters unwanted movement signals, such as caused by user hand tremor, user movements, vehicle movements, etc. (block 45) before the final calculation of the tilt angles (block 47, described below).
As indicated earlier, microcontroller 17 can be preprogrammed to locate the cursor 7 at a predetermined reference position, (such as the "0" number key of the keyboard 22) by holding the push-button 4 depressed for a predetermined period of time (e.g., a few seconds) while holding the unit steadily in the user's hand (block 46). The starting or reference position of the cursor may also be preset by the user.
After the cursor has been set at its initial reference position, the unit may be hand-tilted by pitch movements to move the cursor about the X-axis, and by roll movements to move the cursor about the Y-axis, to select any desired number key of the keyboard 22, (or otherwise to move the cursor to any desired location on the screen). The final tilt position is calculated (block 47); the cursor 7 is moved to the calculated position (block 48); and the push button 4 is depressed (block 49) to enter that number (or other information identified by the location of the cursor on the screen) into the dialing circuitry of the mobile telephone (block 49a). The instantaneous velocity and position of the cursor may also be calculated and used for the sensitivity controls 43, 44..
Fig. 7 illustrates a hand-held unit, generally designated 50, usable both as a personal digital assistant (PDA) and also as a mobile telephone, as described above with respect to Figs. 1 - 6. Thus, the hand-held unit 50 in Fig. 7 also includes a screen 52, a push-button 54, an on/off button 58, and a cursor 57 selectively movable by pitch movements 55 about the X-axis, and by roll movements 56 about the Y-axis, to any desired location on the screen 52. In this case, the screen includes a plurality of icons, shown schematically at 59a - 59g, selectable by the cursor 57 to produce different modes of operation of the unit. For example, the microcontroller within the unit could be
programmed such that selecting icon 59a enables the unit to serve as a mobile telephone, selecting icon 59b enables the unit to record names and addresses, selecting icon 59c enables the unit to record appointments, selecting icon 59d enables the unit to display names and addresses and/or appointments, selecting icon 59e enables the unit to serve as a computer game (e.g., as described below with respect to Fig. 8), selecting icon 59f enables the unit to serve as a body position monitor (e.g., as described below with respect to Figs. 9 and 10), and selecting icon 59g enables the unit to produce a spherical keyboard to facilitate selecting individual keys, as described below with respect to Fig. 11. It will be appreciated that the hand-held unit could be programmed to perform only some of the foregoing functions, or to perform additional functions involving the movement of a cursor or an otherwise change in the display on the screen in response to measured tilts of a hand-held data processor unit.
Fig. 8 illustrates a hand-held unit 60, such as described above with respect to Figs. 1 - 6, but programmed to function as a computer game, in addition to, or instead of, the mobile telephone functions described above with respect to Figs. 1 - 6, and/or the PDA functions described above with respect to Fig. 7. The embodiment illustrated in Fig. 8 simulates the popular "snake" game, wherein the screen 62 displays a snake 63 movable towards food 64. Such games are known and very popular in mobile telephone units, wherein the snake 63 is movable towards the food 64 by X-axis and Y-axis push buttons. In this case, however, the snake would be moved towards the food by the above-described pitch and roll movements of the hand-held unit.
While the described computer game is the popular "snake" game, it will be appreciated that the unit could be programmed to play many other types of games involving the movement of an object or cursor to selected positions or according to selected paths. Whereas such computer games generally include X-axis and Y-axis buttons or joysticks to effect the movements in the desired directions, here the movements would be effected by pitch and roll movements of the unit while held in the user's hand.
Figs. 9 and 10 illustrate the invention embodied in a unit for monitoring the user's body position. The unit, generally designated 70 in Figs. 9 and 10, may be a mobile telephone unit as described above with respect to Figs. 1 - 6, a PDA as described
above with respect to Fig. 7, a computer game as described above with respect to Fig. 8, or a combination of some or all of the foregoing, but further programmed to monitor the body position of the user. Thus, as shown in Fig. 9, the unit 70 is mounted at a suitable position on the user's torso, such as being slipped into a pocket on a shirt worn by the user. Thereafter, the unit 70, after learning the correct orientation of the user's torso with respect to both the X-axis and Y-axis of the unit, will detect any excessive deviations in the position of the user's torso, as sensed by the measured tilt of the unit with respect to the learned correct position.
In the embodiment illustrated in Fig. 10, the unit is programmed for detecting a drowsiness condition of a user driving a vehicle, such that, if the user's body should move forwardly as might occur at the onset of drowsiness (box 71), the unit will activate an audible alarm (blocks 72, 73), e.g., in the mobile telephone, to alert the driver to this condition.
Fig. 11 illustrates the hand-held unit, therein designated 80, also programmed to display on its screen 82 a spherical keyboard in a dynamic manner facilitating a selection of the individual keys by pitch and roll movements of the unit. Thus, as shown in Fig. 11, the displayed sphere 82 has a plurality of keyboard characters arrayed at different locations on the outer surface of the sphere, e.g., for one-half the circumference of the sphere. The microcontroller would be programmed, according to known graphic processing techniques, to rotate the sphere 82 according to the measured tilts of the unit as produced by the pitch roll movements, to move a selected key to the center of the outer surface of the sphere facing the viewer of the screen. In the illustration of Fig. 1 1 , this center region is occupied by a cursor 87, so that the sphere 82 may be effectively rotated by the pitch and roll movements to bring a selected character of the keyboard to the center position occupied by the cursor 87, whereupon the push-button 84 of the unit would be depressed to select that character.
It will be appreciated that moving the selected character towards the cursor 87 (rather than moving the cursor towards the selected character as described earlier) has the advantage, in the spherical display of Fig. 11, that it effectively enlarges the selected character for better viewing, and thereby facilitates its selection. It will be appreciated, however, that in some cases it may be desired to move the cursor towards the selected
character as well as, or instead of, moving the selected character towards the cursor. It will also be appreciated that the circle display could display other images rather than the characters of a keyboard, for example a plurality of individually-selectable icons, or a plurality of individually-selectable objects in a computer game.
Fig. 12 illustrates an arrangement wherein a hand-held unit 90, such as described above, also transmits via a wireless link 91, to another unit 92 for controlling the display 93 thereon, e.g., the movement of a cursor 94 thereon, in accordance with the pitch and roll movement of unit 90.
While the invention has been described with respect to several preferred embodiments, it will be appreciated that these are set forth merely for purposes of example, and that many other variations, modifications and applications of the invention may be made.