Universal Touchscreen

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

Similar projects worth following
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

View all 7 components

  • USB link, a first version

    CmC08/21/2014 at 06:42 0 comments

    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

    CmC08/19/2014 at 07:43 0 comments

    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

    CmC08/19/2014 at 07:19 0 comments

    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

    CmC08/19/2014 at 07:07 0 comments

    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 !

    CmC07/21/2014 at 07:50 0 comments

    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.

View all 5 project logs

Enjoy this project?



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

Similar Projects

Does this project spark your interest?

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