Bongofish
December 06, 2019, 02:02:51 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You may have to login twice the first time,  but we don't know why - Erm I mean it's a security thing yeah that's it - security.
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Interpreting USB data output from a touch screen?  (Read 4671 times)
cawthorne
New Poster
*
Posts: 11


View Profile
« on: April 03, 2012, 11:15:41 AM »

Hello there. I was wondering how a USB interface of a touch screen outputs it's data? Does it output a continuous dump of the the states (touched or not) of all of the registrable points of the entire touch screen? Or does it simply output a coordinate of where the person is touching?

Does there need to be any software/drivers to interpret it/(is it encoded)? I know you can get window drivers etc. for them, but I won't be using an operating system on PC or Tablet, I will be using a micro-controller.

I would appreciate it if you guys could maybe give me a clue as to the format the data is outputted, so I can see if I can write a program to interpret the raw output data. I know they are probably all different depending on make/model, but maybe if any of you know of a well known touch screen panel, which I could work with.

Also I now there are resistive/capacitive/infrared touch screens. I hear capacitive is the best for sensitivity? Will the type have a bearing on how the data is outputted? Furthermore, with multi-touch screens, will they output multiple coordinates or whole dumps?

Thank you for your time and any help at ALL,

Greg.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #1 on: April 05, 2012, 04:27:25 PM »

In theory, all touch screens can be different. 

What is inside the USB is going through the HID system. You can very easily trace USB HID packets in windows using some tools. If you plan to use a micro-controller to interface the USB, I would urge you to find a good USB (HOST side) library that supports HID else you will spend all your time creating a USB/HID driver.

Multi-touch is a whole different ball-game. It is much more than just a list of x/y coordinates. So unless you want multi-touch, I would keep it simple and stay with a non-multi-touch panel.

Another alternative is to interface the hardware more directly instead of through USB.  If it is not a multi-touch, it is, in general easy. There are two standard ways, one of them being analog:  The X and Y are analog signals going from ground to VCC. This gives out the relative X or Y position on the touch rectangle. Along with a "touch" digital line to know if there is a pen (or finger) touching.   The digital ways typically uses SPI or I2C and send coordinates in digital form. Every touch panel is different, for the digital specs, it depends on the touch controller installed on the panel.  (Often there is none and you are left out with analog signals).  Going through a touch controller makes it cleaner because the controller applies filtering to handle the static noise in the analog signals (causing jitter).

Just a random touch controller datasheet to get you started with dealing with touch stuff (this one is SPI, but I2C is also popular).
http://www.ti.com/lit/ds/symlink/tsc2005.pdf
Logged
cawthorne
New Poster
*
Posts: 11


View Profile
« Reply #2 on: April 10, 2012, 02:05:28 PM »

Thanks for the input Smiley.

I have brought a 12.1 inch LCD laptop display eBay and a LCD controller from njytouch, as well as a matching 12.1 inch infrared multi touch panel (USB interface) from a supplier on Alibaba. Can't wait to experiment!

I am tempted to buy a raspberry pi computer when they launch with a version of linux on, since there are linux drivers for touch screens I could easier write a program to get the co-ordinates from the OS integrated drivers after a little bit of research. Might be easier than actually learning the USB protocols etc. But I would prefer to do it using a micro-controller. Will be diving fully into this in July, so for now I'm juts going to have to wait Tongue.

Thanks for the input again Smiley.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #3 on: April 10, 2012, 03:22:53 PM »

try not to double post please, instead put a note in the "second" thread with a link to the first one.
Logged
cawthorne
New Poster
*
Posts: 11


View Profile
« Reply #4 on: April 10, 2012, 05:47:32 PM »

no problem. Smiley
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!