Introduction: How to Make Laser Projection Virtual Keyboard

Picture of 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.

Step 1: The Laser Projection Virtual Keyboard Designed

Picture of The Laser Projection Virtual Keyboard Designed

You need:

Image camera: $ 20 (USD)

Keyboard projection laser: $ 38(USD)

Infrared filter: $ 6.1 (USD)

linear laser: $ 54 (USD)

Step 2: How to Work

Picture of 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

Picture of 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°.

Step 4: Calibration the Camera Lens

Picture of 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’.

Step 5: The Camera Calibration Toolbox

Picture of 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/

Step 6: Lens Process

Picture of 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.

Step 7: Why Choose Linear Laser

Picture of 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.

Step 8: PC Software

Picture of PC Software

The development of software is Visual Studio 2010 and OpenCV library.

Step 9: Programming and Algorithm

Picture of 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

Step 10: Test

Picture of Test

Press space key the PC will check the key

Comments

Sunset1z (author)2017-09-13

Nice work for your project! Could I get the OpenCV code as well? I would like to build a similar device like this. my project is this semester please help me out. thanks. God bless you

My email is : richrich693@gmail.com

Aryan77 (author)Sunset1z2017-11-20

hey @Sunset1z did you got the open cv or any related products ?

TrungP15 (author)2017-08-08

Hi there,

Could you please send me the OpenCV code at email : trungphamthanh86@gmail.com ?

Thanks in advance.

edma.analoua (author)2017-07-24

I was wondering if I could get the OpenCV code, I was doing this for a school project. My email is edma.analou.a@gmail.com

G.H.Q.D.mafiaWolf (author)2017-05-12

The keyboard pattern of you is not quite same as keyboard pattern in taobao. :'(

Ap amit (author)2017-03-25

Hi..I'm very much interested in this project. Can you please send me the openCV??? My email is apc3777@gmail.com

durvesh123 (author)2017-02-03

can i get open cv for this project , my email id is kunal.golvankar@gmail.com

Sung WooH1 (author)2017-01-16

Nice work for your project! Could I get the OpenCV code as well? I would like to build a similar device like this.
My email is : ihansw@gmail.com

500934 (author)2017-01-09

I was wondering if I could get the OpenCV code, I was doing this for a school project. My email is presidentpinecone777@gmail.com

Thank you :D

theawesomemt (author)2016-12-19

Can I get one of these kits? Are you reselling it?

513696765 (author)theawesomemt2016-12-19

Are you interested in this project?because i am a Chinese ,this is my graduation design,but I can help you to order all the components sent to you in China.my E-mail is 513696765@qq.com

TonyR87 (author)2016-12-04

i can't make program run correctly. can you send me openCV code my email is daggerincoat@gmail.com

KituM (author)2016-11-20

I just don't seem to find the components anywhere.. the DIY kit is out of stock on almost all the sites and aliexpress cancelled the order. can you please tell me where can I find all the components?

KituM (author)2016-11-05

Can I get the OpenCV code too? my email address is jainkkritika.km@gmail.com

westwarde (author)2016-09-27

This is a wonderful project, I would also very much appreciate the OpenCV code if you still have it around. If you can, send it my way via personal message or email.

Thanks so much in advance

513696765 (author)westwarde2016-10-19

Maybe you can send an E-mail to me,i very glad to by E-mail send the OpenCV code to you ! my E-mail address is 513696765@qq.com

good luck !

BokyeomK (author)2016-08-18

Hello I am really impressed by your work!

Could you please send me your code for an OpenCV?

I have succeeded calibrating by using MATLAB

But I am stuck in OpenCV. I need your help right now.

My adress is 'kimbou71@gmail.com'
Thank you

nehachandel (author)2015-10-21

i need to know how can i get keyboard projection laser? and what coding needs to be done if possible?

513696765 (author)nehachandel2015-12-01

Hi guys !because I am a Chinese user, all the devices are bought from
Taobao, Taobao is China's online shopping sites like Amazon, I provide
you with the product website does not know Chinese businesses will send
overseas express, Taobao has overseas website Alibaba you can find a
lower whether you want the cheap devices.

The keyboard projection laser don't need coding ,power supply direct current 3.3V can get the shape of the keyboard,the keyboard and laser projection module is like a slide projector.


The device's shopping site is as follows

Keyboard projection laser websites:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
Infrared filter websites:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
linear laser website:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
Image camera website:

https://item.taobao.com/item.htm?spm=a230r.1.14.16...

Good Luck !

psingh0139 (author)5136967652016-04-04

Where can i buy this????

513696765 (author)psingh01392016-04-05

Hi guys !because I am a Chinese user, all the devices are bought from
Taobao, Taobao is China's online shopping sites like Amazon, I provide
you with the product website does not know Chinese businesses will send
overseas express, Taobao has overseas website Alibaba you can find a
lower whether you want the cheap devices.

The device's shopping site is as follows

Keyboard projection laser websites:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
Infrared filter websites:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
linear laser website:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8...
Image camera website:

https://item.taobao.com/item.htm?spm=a230r.1.14.16...

Good Luck !

EnginH (author)nehachandel2015-11-26

me too I need to know them

HarshalJ1 (author)2016-01-04

Can somebody tell if we can use a transparency film instead of Diffractive Optical Element in the projection module??

karthik016 (author)2015-08-26

I want to build this, but i can't find a cheap projection module for that. Can you please suggest me some websites from where i can order this ?

BrettHacks (author)2015-05-28

Nice project. I always wondered how a virtual keyboard works. Thanks for sharing.

seamster (author)2015-05-27

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?

About This Instructable

32,186views

119favorites

License:

More by 513696765:ESP8266(NodeMCU) Weather StationUes Python Code Monitoring the Global EarthquakeHow to Make Laser Projection Virtual Keyboard
Add instructable to: