Interactive IR electronic white board
First Claim
1. An interactive infrared electronic white board, wherein the infrared emitting array (611) horizontally and vertically lined up on the edge of the white board, and the corresponding infrared receiving array (621) horizontally and vertically lined up on the edge of the white board are connected with the microprocessor (637) via the row driver, the column driver respectively;
- the output port of the column driver (607) of the infrared emitting array (611) is connected with the high frequency modulated signal generator (640);
the output port of the column driver (617) of the infrared receiving array (621) is connected with the microprocessor (637) via the signal receiving circuit, the analog-digital (A/D) converter (644), characterized in that;
by means of a curve equation including a tan(x) function, or a quadratic curve equation, or a curve equation of higher orders, the relationship between the voltage generated by the infrared receiving diode and the blocked width di in the infrared light path blocked by the blocking object is established, and the equation for calculating the dimension W of the object is;
wherein, j is the sequence number of the receiving diode;
D is the blocked width in the light path;
n is a constant variable;
and the equation for calculating the coordinates of the moving object is;
wherein j is the sequence number of the receiving diode on the X axis;
k is the sequence number of the receiving diode on the Y axis;
d is the blocked length in the light path;
N;
N=j+n, n is a constant variable;
after the values of W, and X, Y are defined, coordinate capturing, identification, track reconstruction and storage of the moving path of the moving object on the infrared white board can be realized.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention discloses an interactive IR electronic white board, around which is an infrared emitting and receiving array. An output port of a column driver of emitting array is connected to high frequency modulating signal generator, and an output port of a column driver of the receiving array is connected to a microprocessor through a signal receiving circuit and an analog-digital converter A/D. The emitting array and the receiving array are connected to emitting and the receiving driver through emitting and receiving driver lines, and the emitting driver and the receiving driver are connected with the microprocessor through address bus. The present invention utilizes the Inverse Square Law of optical theory and the linear direct ratio relation between the quantity change of light particles received by an infrared receiving diode and the output voltage of the receiving diode to associate the output voltage of the receiving diode with the interrupted width of the infrared light path, so that it can calculate the coordinate of interrupter accurately and improve the resolution of infrared scanning. The present invention can not only distribute pens or erase, but can be used by plurality of users at the same time as well.
57 Citations
5 Claims
-
1. An interactive infrared electronic white board, wherein the infrared emitting array (611) horizontally and vertically lined up on the edge of the white board, and the corresponding infrared receiving array (621) horizontally and vertically lined up on the edge of the white board are connected with the microprocessor (637) via the row driver, the column driver respectively;
- the output port of the column driver (607) of the infrared emitting array (611) is connected with the high frequency modulated signal generator (640);
the output port of the column driver (617) of the infrared receiving array (621) is connected with the microprocessor (637) via the signal receiving circuit, the analog-digital (A/D) converter (644), characterized in that;
by means of a curve equation including a tan(x) function, or a quadratic curve equation, or a curve equation of higher orders, the relationship between the voltage generated by the infrared receiving diode and the blocked width di in the infrared light path blocked by the blocking object is established, and the equation for calculating the dimension W of the object is;wherein, j is the sequence number of the receiving diode; D is the blocked width in the light path; n is a constant variable; and the equation for calculating the coordinates of the moving object is; wherein j is the sequence number of the receiving diode on the X axis; k is the sequence number of the receiving diode on the Y axis; d is the blocked length in the light path; N;
N=j+n, n is a constant variable;after the values of W, and X, Y are defined, coordinate capturing, identification, track reconstruction and storage of the moving path of the moving object on the infrared white board can be realized. - View Dependent Claims (2, 3, 4, 5)
assuming n is the scanning cycle sequence number;
i is a constant ranging from 1 to ∞
;
W is the diameter of the moving object;
L is the physical dimension of the infrared emitting and receiving diode;
m is the object ID number;
X(m) is the X coordinate of the object m;
Y(m) is the Y coordinate of the object m;
steps for coordinate capturing and storing of moving objects are;1) the microprocessor writes the “
row” and
“
column”
address codes into “
00H”
, and outputs it to the row and column driver address bus of the emitting and receiving diode array through address ports;2) row and column drivers of the emitting array switch on the emitting diode located on the corresponding row and column, said diode then starts to emit infrared high frequency modulated pulses;
at the same time, row and column drivers of the receiving array switch on the corresponding receiving diode, since each pair of emitting and receiving diode is located on the same optical axis, corresponding one to one, the receiving diode starts to output analogy pulse signals;3) following step 2), a receiving conversion circuit converts the received analog pulse signal into analog voltage range signal, then inputs it to the analog-digital (A/D) converter, which in turn converts the analog voltage amplitude signal into discrete values; 4) following step 3), the microprocessor reads A/D voltage values from the A/D signal input port, and makes judgments;
if the value is near the peak value of the A/D voltage curve, i.e., when A/D value is at full range, the judgment is that there is no blocking event, and going to the next step;
otherwise, the judgment is that a blocking event happens, then the microprocessor runs the conversion sub-program concerning the A/D voltages and moving coordinates, so as to obtain the Xn or Yn coordinate values, and going to the next step;5) following step 4, judging whether the microprocessor timer overflows, if yes, going to step 6;
otherwise, back to step 2;6) at this stage, a scanning cycle for a unit, i.e., scanning for a pair of emitting and receiving diodes, has accomplished;
then the microprocessor judges if scanning of all row drive lines of all emitting and receiving arrays have been finished;
if yes, going to step 8;
otherwise going to the next step;7) the microprocessor adds 01H to the row address code, and outputs it to the address bus of the row driver, then scanning of the next row of the emitting and receiving arrays starts;
back to step 2;8) judging whether scanning of all column drive lines of all emitting and receiving arrays is finished, if yes, going to step 10;
otherwise going to the next step;9) the microprocessor adds 01H to the column address code, resets the row address code to 00H, then outputs the column address code to the address bus of the column driver, and outputs the row address code to the address bus of the row address driver;
the scanning of the next column of the emitting and receiving arrays begins, then back to step 2;10) at this stage, a full scanning cycle, i.e., scanning of all emitting and receiving diodes, has finished;
a check is then made on if there is an moving object captured;
if not, going to step 12;
if yes, going to the next step;11) if a single object is captured, storing the coordinates (Xn, Yn) of the moving object and the W values into the MMC storage device connected with the microprocessor based on the sequence number n of the scanning cycle, and uploading the data to computer through RS 232 port;
then going to step 14;
if multiple objects are captured, storing coordinates (X(m)n, Y(m)n), (X(m+1)n, Y(m+1), . . . , (X(m+i)n, Y(m+i)n) of the moving objects captured in this cycle and W(m), W(m+1), . . . , W(m+i) values into the MMC storage device connected with the microprocessor based on the sequence number n of the scanning cycle, and uploading the data to computer through RS 232 port;
then going to step 14;12) judging if the interactive mode of the computer is on, if not, going to step 14;
if yes, going to the next step;13) judging if the coordinate (X(n−
1), Y(n−
1) was captured during last scanning cycle, if yes, uploading a “
terminated”
mark through the RS232 port to the computer to notify the application program that the moving object has left the capturing range;
then going to the next step;
if not, going to the next step;14) the microprocessor resets the row address code to 00H, and the column address code to 00H, and outputs the column address code to the column driver address bus, the row address code to the row driver address bus;
then returns to step 2 to continue next scanning cycle;wherein the conversion sub program concerning A/D voltage and moving coordinates is; assuming d is the width of the blocked portion in the light path blocked by the object, j is the sequence number of the receiving diode on X axis, k is the sequence number of the emitting diode on the Y axis; 1) after the microprocessor reads in the data from the A/D converter, it substitutes the data into a curve equation including a tan(x) function or a quadratic curve equation, or a curve equation of higher order to get the length or width di of the blocked portion in the light path of said receiving diode by the blocking object, i.e., the height of the bow shape of the blocked portion; 2) then comparing the value di to the data table of the output voltage variation curve of the receiving diode collected from experiments, interpolating, valuing, so as to get the final precise position di; 3) using the following equation, by the means of substituting the known numbers j, k, dimension L of the receiving diode, height di of the bow shape of the blocked portion in the light path, calculating for the coordinates, the final moving positions on X, Y axis of the object captured during scanning cycle n are; 4) storing said coordinate values Xn or Yn of the moving objects into the registers of the microprocessor;
if multiple users are using the white board, i.e., more than one coordinates exist on axis X or Y, then, saving multiple (X(m), X(m+1)n . . . . X(m+i)n or multiple (Y(m)n, Y(m+1)n, . . . Y(m+i)n) into the registers of the microprocessor;5) returning to the main program; wherein the method of identification, track reconstruction and storage of a single moving object is; (1) the computer scans the RS232 port through the application program, and after reading coordinates (Xn, Yn) values and scanning cycle sequence numbers uploaded from the microprocessor, the application program starts to judge whether there are (X(n−
1), Y(n−
1)) coordinates captured during last scanning cycle;
if not, going to step 3;
if yes, going to the next step;(2) substituting coordinates (X(n−
1), Y(n−
1)) captured during last scanning cycle and the current coordinates (Xn, Yn) into the equation to calculate the distance between coordinates and to reach value D, then comparing D to the standard value, which is adjusted based on users'"'"' needs, but should not be less than 2W;
if D<
2w, then, going to step 4;
if D≧
2W, going to the next step;(3) judging whether this is a starting point of another line or a different point, then judging type of the object;
assuming W≦
2L, which can be adjusted based on users'"'"' needs, then, it is confirmed that the moving object is a pen, the application software starts to draw a black point of diameter W at the corresponding position of coordinates (Xn, Yn) on the screen;
if W>
2L, it is confirmed the moving object is an eraser, then the application software draws a white point of diameter W at the corresponding position of coordinates (Xn, Yn), i.e., erasing the point;
then going to step 5;(4) going on to judge the type of the object, if W≦
2L, which can be adjusted based on users'"'"' needs, it is confirmed that the object is a pen, and connecting points of coordinates (X(n−
1), Y(n−
1)) and (Xn, Yn) with a black line of diameter W, then going to the next step;
if W>
2L, it is confirmed that the moving object is an eraser, connecting points of coordinates (X(n−
1), Y(n−
1)) and (Xn, Yn) with a white line of diameter W, then going to the next step;(5) continuing to scan the RS232 port, then returning to step 1.
- the output port of the column driver (607) of the infrared emitting array (611) is connected with the high frequency modulated signal generator (640);
-
4. An interactive infrared electronic white board according to claim 1 or 2, characterized in that:
- the method of capturing, identification and track reconstruction of multiple moving objects is as follows;
1) the computer scans the RS232 port through the application program, and after reading coordinate values (X(m)n, Y(m)n), (X(m+1)n, Y(m+1)n), . . . (X(m+i)n, Y(m+i)n), W(m), W(m+1), . . . W(m+i) and sequence numbers of scanning cycles uploaded from the microprocessor, then saves those data into the computer memory, and uses the W value to decide the type of objects, i.e, if W(m) or W(m+1) or W(m+i)≧
2L, which can be adjusted based on users'"'"' needs, and might be W>
3L or another value, if yes, it is determined that the object is an eraser, then exiting the multiple object capturing program, and going to the single object capturing program;
otherwise, it is determined that the objects are multiple blocking objects, and going to the next step;2) substituting coordinate values (X(m)nY(m)n), (X(m+1)n, Y(m+1)n), . . . (X(m+i)n, Y(m+i)n) into the equation
and calculating distance between different objects within one cycle, to reach the value D(m+i);
then judging if those coordinates are continuous, i.e., if D(m+i)<
2W;
if yes, it is determined that the object is an eraser, and going to the single object capturing program;
otherwise, it is determined that the objects are multiple block objects, and going to the next step;3) the application program starts to judge if coordinates of the moving objects (m)n−
1, (m+1)n−
1, . . . (m+i)n−
1m were captured during last scanning cycle;
if object m was captured, going to the step 4;
if object m was not captured, drawing a point of width W(m) at the position of coordinate (X(m)n,Y(m)n), then going to the step 7;
if object m+1 was captured, going to the step 5;
if object m+1 was not captured, drawing a point of width W(m+1) at the position of coordinate (X(m+1)n,Y(m+1)n), then going to step 7;
if object m+i was captured, going to the step 6;
if object m+i was not captured, drawing a point of width W(m+i) at the position of coordinate (X(m+i)n, Y(m+i)n), then going to the step 7;4) substituting the coordinate (X(m)n−
1, Y(m)n−
1) of the object m captured during last scanning cycle and the current coordinate (X(m)n, Y(m)n) into the formula D(m)n=√
{square root over ((X(m)n−
X(m)n−
1)2+(Y(m)n−
Y(m)n−
1)2)}{square root over ((X(m)n−
X(m)n−
1)2+(Y(m)n−
Y(m)n−
1)2)}{square root over ((X(m)n−
X(m)n−
1)2+(Y(m)n−
Y(m)n−
1)2)}{square root over ((X(m)n−
X(m)n−
1)2+(Y(m)n−
Y(m)n−
1)2)} to calculate distance;
if the result D(m)n≧
2L, then it is determined what object m drawn was a starting point of a line, or a point then goung to the step 7;
if D(m)n<
2L, connecting the points of coordinates (X(m)n−
1, Y(m)n−
) and X(m)n, Y(m)n) with a line of width W(m), then going to the step 7;5) substitute coordinate (X(m+1)n−
1, Y(m+1)n−
1) of the object m+1 captured during the last scanning cycle and the current coordinate (X(m)n, Y(m)n) into the formula
to calculate distance;
if the result D(m+1)n≧
2W, then it is determined that what object m+1 drawn was a starting point of a line, or a point, then going to the step 7;
if D(m+1)n≧
2W, connecting the points of coordinates (X(m+1)n−
1, Y(m+1)n−
1) and X(m+1)n, Y(m+1)n) with a line of width W(m+1), then going to the step 7;6) substituting coordinate (X(m+i)n−
1, Y(m+i)n−
1) of the object m+1 captured during the last scanning cycle and the current coordinate (X(m+i)n, Y(m+i)n) into the formula
to calculate distance;
if the result D(m+i)n≧
2W, then it is determined what object m+1 drawn was a starting point of a line, or a point, then going to the step 7;
if D(m+i)n<
2W, connecting points of coordinates (X(m+i)n−
1, Y(m+i)n−
1), Y(m+1)n) with a line of width W(m+i), then going to the step 7;7) continuing to scan the RS232 port, then returning back to step 1.
- the method of capturing, identification and track reconstruction of multiple moving objects is as follows;
-
5. An interactive infrared electronic white board according to claim 1 or 2, characterized in that:
- the application program for the mode under which the electronic white board is interactive with the computer is as follows;
1) the computer scans the RS232 port under the application program, and reads coordinate value (Xn, Yn) or the “
termination”
mark uploaded from the microprocessor;2) following step 1, if “
termination”
mark is received, going to the step 4;
if coordinate value (Xn, Yn) and value W are received, moving the mouse to the screen position corresponding to (Xn, Yn), then going to the next step;3) judging if an object (Xn−
1, Yn−
1) was captured during last scanning cycle;
if yes, it is determined that the touching is going on, then going to the step 6;
if not, it is determined that the touching has just started, then switching on the timer T, and starting the timer;
going to the step 6;4) the application program judges if T<
100 ms on the timer;
the threshold can be set and adjusted by users by means of application software;
if not, it is determined as a void touching event, then going to the step 6;
if yes, it is determined as an effective touch, and going to the next step;5) judging if the touching or clicking position (Xn, Yn) is in the valid range of the instruction;
if yes, executing the click command in Microsoft Windows system or another application software instruction, and at the same time, resetting the timer T to “
0”
, and going to the next step;
if not, resetting the timer T to “
0”
, and going to the next step;6) continuing scanning the RS232 port, and returning to step 1 to read captured coordinate values of the next cycle uploaded from the microprocessor.
- the application program for the mode under which the electronic white board is interactive with the computer is as follows;
Specification