0%
0%

# Universal Touchscreen

Let's turn every surface into a Touchscreen on the cheap !

Similar projects worth following
1.2k views
Every time you touch something, you are giving the touched surface mechanical energy. This energy can easily be recorded by a simple microphone. The idea is the following : let's record what is happening inside the touched material and try to locate where the energy is coming from.

How do I measure the impact of a finger on a surface ?
I am using a piezo sensor. It is cheap, reliable and easy to interface. Also it does exactly the job it is meant for : it gives an image of the mecanical energy at its surface.

What surface do I use ?
Every experiment I am doing is made on a piece of glass. Approximatively 30cm*20cm.

System overview :

I made a video explaining a little what the system is all about :

• 4 × Piezo Sensor
• 4 × Dual Op Amp
• 1 × PIC18F4550 Microprocessors, Microcontrollers, DSPs / Microcontrollers (MCUs)
• 4 × LDR Resistor Networks / Thick Film Networks
• 4 × White DEL
• ### USB link, a first version

As it turns out, making a stable USB link is not as easy as it might look. I would like to emulate a mouse with the pic18f4550, I am still seachring how ! In the mean time, I am using the HID library in Mikroc for Pic which simplifies everything !
Actually, I am able to send data through the usb port ... getting in the right track !

• ### Basic principle

What happens when you touch the surface ?

- The mechanical energy propagates inside the material

How can the piezo find out where the finger landed ?
- Using the time of flight :

The energy wave arrives at the different sensors at time t1, t2 and t3.
The only problem is that you cannot determine t1 as there is no t=0s origin.
If there was a way to find t1, you would only need two piezo.

The only information we can find are the time differences. But that's more than enough because every time difference describes a hyperbola which goes through the point where the energy wave came from. The intersection between the 3 hyperbolas that can be drawn gives you an unique point : the origin of the energy wave.

• ### Analog signal processing

The signal comming from a piezo is really uneven. First of all in order to be able to compare the signals, they need to have some similarities. I

found that the signal is almost a sinewave (with decreasing amplitude). Here is a screenshot of my (little) oscilloscope :

My idea was to rectify the signal so that I only have to care about amplitude.

I used a rectifying bridge (Gretz Bridge) in order to do that.
What a noisy signal !

After passing it through an amplifier and an RS latch :

Now we are talking !

• ### USB Communication and calculations

In order to calculate where the finger touched the surface, I needed a powerful enough microcontroller. It also had to support USB in order to be able to communicate to a computer. I am planning to emulate an HID mouse with the microcontroller. I had a PIC18F4550 lying around with seems to fit to the requirements : it supports USB and has plenty of RAM !
But I cannot connect the piezos directly to the microcontroller, I first need to process the signals and make them a little more readable !

• ### Maths and Electronics are done !

Finaly the maths behind everything are done. Electronics are also done but I am planning to change the whole thing, the second version is in progress.

Share

## Discussions

arun.mukundan wrote 10/30/2015 at 12:15 point

Hey! Great Project! I want to try to make my entire desk a touchscreen :) May I ask which piezo are you using?

Are you sure? yes | no

aelias36 wrote 08/16/2014 at 06:46 point
How will a piezo be able to tell where it was pressed?

Are you sure? yes | no

CmC wrote 08/19/2014 at 07:22 point
Well only on piezo won't be able to tell where it was pressed. Indeed you need 3 piezo. You have to compare the time arrival in order to find out where the finger landed ! I will publish the maths as soon as possible.

Are you sure? yes | no

# Does this project spark your interest?

Become a member to follow this project and never miss any updates