0% found this document useful (1 vote)
245 views13 pages

How To Make Laser Projection Virtual Keyboard 1

The document describes how to build a laser projection virtual keyboard. It involves using a PC camera, infrared laser, infrared filter, and keyboard projection laser. The infrared laser projects a grid onto the surface that the camera detects. When a finger interrupts the laser grid, computer vision algorithms are used to detect the finger position and map it to the corresponding keyboard key. The document provides detailed steps for designing the hardware system, calibrating the camera lens for distortion, and using software to process the image and recognize finger inputs as keyboard keys.

Uploaded by

Denisa Georgiana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
245 views13 pages

How To Make Laser Projection Virtual Keyboard 1

The document describes how to build a laser projection virtual keyboard. It involves using a PC camera, infrared laser, infrared filter, and keyboard projection laser. The infrared laser projects a grid onto the surface that the camera detects. When a finger interrupts the laser grid, computer vision algorithms are used to detect the finger position and map it to the corresponding keyboard key. The document provides detailed steps for designing the hardware system, calibrating the camera lens for distortion, and using software to process the image and recognize finger inputs as keyboard keys.

Uploaded by

Denisa Georgiana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

technology workshop living food play outside

How to make laser projection virtual keyboard


by 513696765 on May 27, 2015

Table of Contents

How to make laser projection virtual keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Intro: How to make laser projection virtual keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Step 1: The laser projection virtual keyboard designed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Step 2: How to work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Step 3: Choose camera lens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Step 4: Calibration the camera lens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Step 5: The camera calibration toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Step 6: Lens process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Step 7: Why choose linear laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Step 8: PC software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Step 9: Programming and algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Step 10: Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Intro: How to make laser projection virtual keyboard
The laser projection virtual keyboard designed in this thesis is based on OpenCV combine with image camera, 980nm linear laser, 980nm infrared filter and Keyboard
projection laser, the image camera detection used with 980nm infrared filter is caused by shielding finger to make 980nm linear laser diffuse reflection the light . By
detecting and locating the center position of the light outline to discern and detect the position of finger and then map to keyboard position to achieve relative keyboard
key events. With OpenCV vision library, it is fast to find the finger outline which is get by image camera, the position of finger location and revise the image surface
distortion which is caused by image camera. By using OpenCV, the bottom hardware drive code written can be reduced, and invoke built-in function can directly face to
hardware write code to fasten the difficult and speed of program development. By experiment and test, this virtual keyboard can correctly and accurately locate and
detect the finger position, on the other hand, this keyboard also have fault-tolerant treatment, and finally realize the function of key input.

Image Notes Image Notes


1. The PC camera 1. PC camera
2. Keyboard projection laser 2. 5V to 3.3V
3. 980nm infrared linear laser 3. Keyboard projection laser
4. PC software 4. 98nm infrared linear laser
5. 5V to 3.3V

Image Notes
http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
1. Keyboard projection laser
2. 980nm infrared linear laser

Image Notes
1. hardware
2. software

Image Notes
1. press keyboard

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. press space key
2. PC software check
3. hardware

Step 1: The laser projection virtual keyboard designed


You need?

Image camera: ?50 (CNY) ? $ 8.1 (USD)

Keyboard projection laser: ?38 (CNY) ? $ 6.1 (USD)

Infrared filter: ?38 (CNY) ? $ 6.1 (USD)

linear laser: ?10 (CNY) ? $ 1.6 (USD)

Image Notes
1. Keyboard projection laser
2. Keyboard projection
http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. The PC camera

Image Notes
1. 980nm infrared linear laser

Image Notes
1. 980nm infrared pass filter glass

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Step 2: How to work
At the bottom of the infrared laser emission from a surface of a covering space in the infrared range, of course this plane to cover the entire keyboard, a keyboard in the
center of the keyboard is the projection contour shape of the keyboard is mainly used for calibration, at the top of the real-time camera outside the graphics and pass data
to the computer, because the laser light is a horizontal and parallel so no object occlusion camera is unable to detect the infrared signal, but if there are objects in the
infrared laser region when the occluded objects' surface will be covered with the infrared camera will detect the infrared signal, computer access to the signal sent by the
camera after after a certain the algorithm to obtain coordinates in the picture of infrared spot and then put the coordinate mapping to real keyboard position so as to
realize its function.

Step 3: Choose camera lens


The camera of detection of the same area, ‘Camera2’ is angle of view 150°need height is 'h2', and the ‘Camera1’is angle of view 90°need height is 'h1', in order to
narrow the project size and choose the lens of angle of view 150°.

Image Notes
1. Angle of view?150°
2. Angle of view?90°

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. Angle of view?90°
2. Angle of view?150°

Step 4: Calibration the camera lens


The picture taken by use the angle of view 150 camera is a distortion, and in order to Calibration the distortion of the picture using Matlab camera Calibration tool
‘Calibration Toolbox Camera’.

Image Notes
1. picture taken by use the angle of view 150 camera
2. Calibration after
3. Calibration after

Step 5: The camera calibration toolbox


Although "the camera calibration toolbox" as long as 3 different angles to shoot photos can be a good camera calibration, but in this design used 9 different angles to
shoot photos of the camera calibration the calibration parameters, the parameters are applied to opencv correction algorithm in real-time operation can be real-time
correction of distortion of the picture.

The following link is the algorithm paper and ‘camera calibration toolbox’ guide

http://www.vision.caltech.edu/bouguetj/calib_doc/
http://research.microsoft.com/en-us/um/people/zhang/Calib/

Image Notes
1. Matlab " camera calibration toolbox" GUI

Image Notes
1. camera calibration image

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. camera calibration process

Step 6: Lens process


The PC camera is visible and infrared detection are not allowed to enter because the infrared light in practice may cause the whole picture of the color fidelity, PC camera
in the design of the product design manufacturers often use infrared filters in the infrared light environment, in this project need to detect the infrared signal is so PC
camera behind add a layer of infrared filter, this filter can filter out visible light infrared light and visible light are only allowed to enter, because of the use of this system is
the 980nm infrared laser, so the permeability of 980nm filter, this filter can filter the 980nm light for more than 980nm light has good permeability.

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. infrared block filter glass
2. 980nm infrared pass filter glass

Step 7: Why choose linear laser


Select the 980nm infrared linear laser as the source of the signal detection, the linear laser can cover all the keyboard range.

Image Notes
1. 980nm infrared

Image Notes
1. 980nm infrared linear laser
2. Keyboard projection

Step 8: PC software
The development of software is Visual Studio 2010 and OpenCV library.

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes
1. Visual Studio 2010

Image Notes
1. Add OpenCV library to Visual Studio 2010

Step 9: Programming and algorithm


Use cvCaptureFromCAM () function and cvQueryFrame () function to get the camera image?Using the cvCvtColor () function binarization the image,Use findContours ()
function to find the object contour, drawContours () function to draw the object contour, boundingRect () function to draw the object contour of the rectangle

Image Notes
1. Camera get object image
2. Image binarization
3. Map to keyboard
4. Find object contour and get coordinate

Image Notes
1. OpenCV

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Step 10: Test
Press space key the PC will check the key

Image Notes Image Notes


1. press the space key 1. PC camera
2. PC check 2. 5V to 3.3V
3. Keyboard projection laser
4. 98nm infrared linear laser

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Image Notes Image Notes
1. hardware 1. press space key
2. software 2. PC software check
3. hardware

Image Notes Image Notes


1. Keyboard projection laser 1. press keyboard
2. 980nm infrared linear laser

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/
Related Instructables

Drawdio My Keyboard
How to make Laser Midi Conductive Ink My Hands by Use Palm
laser projection Controller - Keyboard noahw infrared
LASER
virtual keyboard (Laser (Photos) by keyboard with
GRAFFITI by
by 513696765 Triggered Midi jrutter Android devices
luifer78
Keyboard) by by arpruss
lasermidi

Advertisements

Comments
1 comments Add Comment

seamster says: May 27, 2015. 11:02 AM REPLY


This is really cool!

But the camera and laser structure is right in front of the monitor . . . Have you figured out a way to make this work with that not in the way of your screen?

http://www.instructables.com/id/How-to-make-laser-projection-virtual-keyboard-1/

You might also like