Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Touch Screen problem..

Status
Not open for further replies.

ajex

Member level 4
Joined
Nov 7, 2009
Messages
70
Helped
6
Reputation
12
Reaction score
6
Trophy points
1,288
Location
Sri lanka
Activity points
1,813
hello..

Recently I have started a project on Touch Screen. for that I bought a Touch Screen from a phone shop. Actually I dn't know it is a Resistive or a capasitive panel, I have two questions in this.

1. how to recognize whether it is a resistive or a capacitive one. (using a multimeter or any other teqnique)
2. I want to interface it with dsPIC30F6014A ( I used RB10 as a analogue input to grab touch panel x- plate and RB9 for keep X+ as high impedence, Y- was ground and Y+ connected to 3.3v supply voltage)

using this combination i'm able to recive some responce from panel but i can't get a responce for a small area of the panel. As I think, this because of this is not a resistive touch panel.
please tell me a solution for this.

thank you very much.. :p

this is my code structure..


adctemp = ADC_Read(10);

if (1250>adctemp > 1300) { // adc value will be 0 to 4095, bacuse dspic30f6014A has 12bit ADC)
// do something
}

and finally i have changed this range also 1250>adctemp > 1300 but i'm unable to select a thin line..
 
Last edited:

hello..

Recently I have started a project on Touch Screen. for that I bought a Touch Screen from a phone shop. Actually I dn't know it is a Resistive or a capasitive panel, I have two questions in this.

1. how to recognize whether it is a resistive or a capacitive one. (using a multimeter or any other teqnique)
2. I want to interface it with dsPIC30F6014A ( I used RB10 as a analogue input to grab touch panel x- plate and RB9 for keep X+ as high impedence, Y- was ground and Y+ connected to 3.3v supply voltage)

using this combination i'm able to recive some responce from panel but i can't get a responce for a small area of the panel. As I think, this because of this is not a resistive touch panel.
please tell me a solution for this.

thank you very much.. :p

this is my code structure..


adctemp = ADC_Read(10);

if (1250>adctemp > 1300) { // adc value will be 0 to 4095, bacuse dspic30f6014A has 12bit ADC)
// do something
}

and finally i have changed this range also 1250>adctemp > 1300 but i'm unable to select a thin line..


hah haaaaaaaaaaa... I have solved the problem by myself.. :lol:

The problem was syntax in C..

adctemp = ADC_Read(10);

if (1300> adctemp && adctemp> 1250) { // adc value will be 0 to 4095, bacuse dspic30f6014A has 12bit ADC)
// do something
}
 

So your Touch Screen is a resistive touch screen...

Can you share your project with us..
I am also trying to do so..
But not able to anything...

Pls share your schematic
 

So your Touch Screen is a resistive touch screen...

Can you share your project with us..
I am also trying to do so..
But not able to anything...

Pls share your schematic

Sure, this is my Schematics and complete code (MikroC)

//======================================================
//MC > dsPIC30F6014A
//Compiler > mikroC, mikroElektronika C compiler
// for Microchip dsPIC 30/33 and PIC 24 microcontrollers Version: 4.0.0.0
//Author > Ajex. Edaboard.com

const char nine= 9;

//==============================================
void Delay(int t)
{
while(--t);
}
//==============================================

void main (void)
{
unsigned int adctemp;

ADPCFG = 0b1111001111111111; //turn off A/D inputs except RB10 and RB11
TRISB=3072; //ONLY RB10(PIN29) and RB11(PIN30) as INPUTS
PORTB=0;
adctemp =0;

while(1){
Delay(1000);
adctemp = ADC_Read(10); // Read ADC value in RB10

if ( 920 > adctemp && adctemp > 880 ) { //ADC value shoud in range 0-4095(12bit)

Delay(100);
PORTB.nine=1; //turn on the LED attached to RB9 Pin

} else {

Delay(100);
PORTB.nine=0;
adctemp =0;
}
} //end of while(1)
}


//============================


First use a big range to check the system like this >> if ( 2000 > adctemp && adctemp > 800 )

Here I'm using a LED on RB9 pin to indicate the touch position is working, and you have to implement the x position detection(in this setup i used y position only). I have attached the image also, In above code I have removed the GLCD display code part. (for clear understanding the code) :grin:
 

Attachments

  • Touch.jpg
    Touch.jpg
    150.1 KB · Views: 68
  • dspic touch screen schematics.png
    dspic touch screen schematics.png
    114.1 KB · Views: 71
Last edited:

Thanks for the information..

Actually i am also implimenting in this way.
But the problem I am facing is due to the touch screen
I had purchased it from the local market and its not very sensitive.
Right now it's been damaged.

So I have to purchase a new touch screen.
Can you tell me from where you have purchased the screen.
I had purchased this touch screen from the local phone repairing shop.
He's just charged rs100 from me.
I am planning to buy a new touch screen froma genuine distributor
 

did u correctly identify the pins of touch?? see my photo(not the schematics) i wrote it in a piece of paper and placed near to screen.. that is the pin order(left to right Y-, X-, Y+,X+).. I also purchased it from local market(Sri Lanka) it was RS350(Sri Lankan rupee) and its compatible with NOKIA Chinese model..
 
Last edited:

Yes i checked that..
Actually its working before.. i manually gave 5V and GND on two pins and check voltage on other two pins on touching the touch screen its giving value based on my the position of my figure on touch screen..

But now its giving 5V on touching, and thats why saying that its damaged now.
Will purchase new one and try to do some exp.
 

Yes i checked that..
Actually its working before.. i manually gave 5V and GND on two pins and check voltage on other two pins on touching the touch screen its giving value based on my the position of my figure on touch screen..

But now its giving 5V on touching, and thats why saying that its damaged now.
Will purchase new one and try to do some exp.



ahh okey.. :) good luck..!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top