Pages: [1] 2 3   Go Down
Author Topic: DIY Touch Screen from a simple Glass?  (Read 8785 times)
0 Members and 1 Guest are viewing this topic.
Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was wondering if there's some way to create a DIY touch-screen using a simple glass and some ICs? I saw the Quantum ICs that handles things, but no idea if that's the way to go. I was hoping there was some sort of IC that would detect touching but also how near it was, and combining multiples ICs I could triangulate where the touch happened? Or I'm just dreaming? ;-)

Here's an interesting IC: Quantum QT100-ISG QPROX Near-Proximity Touch Sensor



Thanks, WilliamK
Logged


Southern California
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cool idea!  In theory, you could put a force sensor under each corner of a piece of glass and calculate the touch location by analysing the four sensor readings.  The calculation would be like finding the center of gravity.  These calculations may not be exactly right, but I think they are a good starting point. 

x position = W*(combined readings of 2 sensors on right / combined readings of 2 sensors on left)
y position = H*(combined readings of 2 sensors at bottom/ combined readings of 2 sensors at top)
where W is the width(x direction) of the glass and H is the height(y direction) of the glass.

The only way to find out if it works is to try it!  It sounds like a fun project - I would be trying it right now if I had the sensors.
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Or I'm just dreaming? ;-)

Probably. If there were an easy and robust solution, it would've been found by now, since touchscreen technology is anything but new. Think about it: If there were something cheap, easy, and robust (discounting multi-touch, of course), we would've seen it being used in the market for tablets and cell-phones already. Since there isn't, it is unlikely to be something to pursue.

Likely your idea has already been explored, and has been found to have flaws in the approach - flaws that may or may not be insurmountable. You might want to do a ton of research (research papers and/or patents) to see what others have done - so you don't go down a road blind. Maybe you might make a discovery that makes the previously difficult or expensive to do (that is, more difficult/expensive than current solutions), easy? It is better though to know what has been done before and the methods used so you just don't reinvent the wheel and encounter the same problems which have already been documented.
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Southern California
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wait - sorry, the above equations won't work.  Try these instead:

x position = W * R / (R + L)
y position = H * B / (T + B)

where:
W is a scaling factor proportional to the width of glass,
H is a scaling factor proportional to the height of the glass,
R is combined readings of 2 sensors on the right,
L is combined readings of 2 sensors on the left,
T is combined readings of 2 sensors at the top,
B is combined readings of 2 sensors at the bottom.

Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was thinking on a simple thing, lets say, to use 4 piezos on each corner of an acrylic A4 sheet (or something like that). When you hit the thing, each piezo should give you a response, different depending on where you hit. Its just a crazy mad-scientist idea, but in theory it would work, just the math would be a bit killer. Now, in conjunction with the Quantum chip above, to know if you actually touched the darn thing, or just hit the table or whatever, it could be very precise.

In any event, everything can be done in multiple ways, some are stupid, some are creative. Big corporations tend to think inside-the-box, while most of us think outside-the-box, specially non-engineering guys like me.  smiley-lol

Here's an interesting story, a company that made tooth-paste, was having problems with empty boxes at the end of the line. So they spent thousands of dollars to create a machine that would x-ray each box near the end and check if it had something or not. One day, the CEO went to visit the factory just to see the machine disabled. "Why the heck is the machine disabled? And why there's a Fan there?" - "Well, the machine wasn't working, it would halt most of the time, so we just disabled it and put a Fan to push the empty boxes outside the production line..." - Yeah, a Fan, simple as that. ;-)
Logged


Dubai, UAE
Offline Offline
Edison Member
*
Karma: 22
Posts: 1675
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think that sound/vibration travels much faster in stiffer objects, I suspect that in Arduino time the pulse would arrive at all four corners at the same time - if you were using interrupts to catch it, the internal interrupt priority of the IC and the time it would take to service each one would certainly have a bigger effect than the time the pulse takes to reach all four corners.

Try it anyway, you never know.

Duane B
Logged


Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm thinking on measuring the analog output of each piezo, and compare. The problem is the math, as we don't have constants, since you could do a soft or hard hit, and I don't know if 10 bits will be enough, we may need a better ADC. Still, I'm mostly day-dreaming. ;-)
Logged


Dubai, UAE
Offline Offline
Edison Member
*
Karma: 22
Posts: 1675
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I get the day dreaming bit, ADC's still will not held, the wave will arrive each sensor at unpredictable times and by the time you have read one, it will be long gone from all the others.

Keep at it though ...

Duane B
Logged


Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Maybe add some capacitors for each piezo, so it sums up all the max value for each piezo when a hit occurs? Anyway, I will try something later on...
Logged


Southern California
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I think that sound/vibration travels much faster in stiffer objects, I suspect that in Arduino time the pulse would arrive at all four corners at the same time - if you were using interrupts to catch it, the internal interrupt priority of the IC and the time it would take to service each one would certainly have a bigger effect than the time the pulse takes to reach all four corners.

The force reading on each sensor is needed, not the time of arrival of a pulse.

Quote
I'm thinking on measuring the analog output of each piezo, and compare. The problem is the math, as we don't have constants, since you could do a soft or hard hit...

That's right.  The skeptics should consider this:  If you put a bathroom scale at each corner of a large, rigid plate and then stood on top of the plate, you could easily calculate where you were standing by looking at the reading on each scale.  The math is not hard, in fact I already gave it to you:

Quote
x position = W * R / (R + L)
y position = H * B / (T + B)

This can be simplified even more because R + L = T + B = sum of all 4 readings.  So now it's:

x position = W * R / S
y position = H * B / S

where:
W is a scaling factor proportional to the width of glass,
H is a scaling factor proportional to the height of the glass,
R is combined readings of 2 sensors on the right,
B is combined readings of 2 sensors at the bottom,
S is the sum of all 4 sensor readings.

Since you are dividing by the sum of the sensor readings, the equation will have the same output whether you push softly or firmly on the glass.  Just adjust W and H for the size and shape of the glass plate.  Simple.
Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The Nintendo Wii Fit Balance Board actually does that, it has 4 sensors, on each corner of the board. ;-)
Logged


Southern California
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cool!  Go figure.  So it looks like you weren't just dreaming after all... 

What exact sensor are you planning to use?   I'd still like to try ths myself.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi.
Does it have to be transparent?
Logged

Southern California
Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Does it have to be transparent?

No, depending on what you are trying to do, it need not necessarily be transparent.  Rigidity is the main requirement.  You don't want the plate to sag in the middle and come to rest on anything.  You want all the force to be felt by the sensors under each corner.   
Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I would love it to be transparent, so I could put LEDs behind it and make a nice 4 x 4 grid, maybe even 16 x 6 grid. ;-) (cheeeeap MIDI Sequencer bonanza!!)
Logged


Pages: [1] 2 3   Go Up
Jump to: