اطلاعیه

Collapse
No announcement yet.

کالیبره کردن تاچ اسکرین

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کالیبره کردن تاچ اسکرین

    سلام دوستان
    این برنامه تاچ اسکرین منه ، یه مشکلی داره که اونم کالیبره نیست

    ممنون میشم راهنمایی کنید ، کالیبرش کنم

    کد:
    void read_touch()
    {		
    	unsigned int x,y;
    	float x1,y1;
    	
    	adc_on();
    	
    	if(touch_pressed()==1)
    	{
    		x=1023-read_touch_x();
    		y=1023-read_touch_y();
    	}
    	else
    	{
    		x=0;
    		y=0;
    	}	
    
    	x1 = (float)(x) / 4.2624 ;
    	y1 = (float)(y) / 3.196875;
    	
    	x1*=1.148326;
    	y1*=1.159420;
    		
    	x = abs( (unsigned int) (x1) );
    	y = abs( (unsigned int) (y1) );
    		
    	_touch.x = x;
    	_touch.y = y;
    }
    
    char touch_pressed(void)
    {
    	unsigned int t=0;
    	adc_on();
    	for(int k=0;k<5;k++)	
    		t+=_touch_pressed();
    	t/=5;
    	return t;
    }
    
    char _touch_pressed(void)
    {
    	
    	int z1,z2;
    	float rtouch;	
    	lcd_touch_ddr._XP=1;
    	lcd_touch_port._XP=0;
    	lcd_touch_ddr._YM=1;
    	lcd_touch_port._YM=1;	
    	lcd_touch_ddr._XM=0;
    	lcd_touch_port._XM=0;	
    	lcd_touch_ddr._YP=0;
    	lcd_touch_port._YP=0;		
    	z1 = analog_read(XM);
    	z2 = analog_read(YP);
    	rtouch = z2;
    	rtouch /= z1;	
    	rtouch -= 1;
    	rtouch *= read_touch_x();
    	rtouch *= 150;
    	rtouch /= 1024;		
    	return (((unsigned int)(rtouch))>0) ? 1:0 ;		 
    }
    
    unsigned int read_touch_x()
    {
    	
    	lcd_touch_ddr._YP=0;		
    	lcd_touch_ddr._YM=0;
    	
    	lcd_touch_port._YP=0;
    	lcd_touch_port._YM=0;	
    	
    	lcd_touch_ddr._XP=1;
    	lcd_touch_ddr._XM=1;
    	
    	lcd_touch_port._XP=1;
    	lcd_touch_port._XM=0;
    	
    	_delay_ms(1);
    	
    	return analog_read(YP);
    
    }
    
    unsigned int read_touch_y()
    {	
    	
    	lcd_touch_ddr._XP=0;
    	lcd_touch_ddr._XM=0;
    	
    	lcd_touch_port._XP=0;
    	lcd_touch_port._XM=0;	
    	
    	lcd_touch_ddr._YP=1;
    	lcd_touch_ddr._YM=1;
    	
    	lcd_touch_port._YP=1;
    	lcd_touch_port._YM=0;
    					
    	_delay_ms(1);	
    	
    	return analog_read(XM);
    }
    کار میکنه ها و لی زیاد دقیق نیست مثلا :


    مختصات توی LCD :
    کد:
    x=100
    y=100
    خروجی تاچ من
    کد:
    x=120
    y=125

    مختصات توی LCD :
    کد:
    x=200
    y=200
    خروجی تاچ من
    کد:
    x=209
    y=214
    [hr]
    مختصات توی LCD :
    کد:
    x=220
    y=300
    خروجی تاچ من
    کد:
    x=226
    y=305
    دلا خو کن به تنهایی که از تنها بلا خیزد

    #2
    پاسخ : کالیبره کردن تاچ اسکرین

    کالیبرش کردم
    به روش 9 نقطه :applause: :applause: :applause: :applause:
    دلا خو کن به تنهایی که از تنها بلا خیزد

    دیدگاه


      #3
      پاسخ : کالیبره کردن تاچ اسکرین

      سلام
      لطفا کدتون رو قرار بدید تا بقیه هم در صورت نیاز استفاده کنن.
      www.gam-co.blogsky.com

      دیدگاه


        #4
        پاسخ : کالیبره کردن تاچ اسکرین

        از لایبرری خود کدویژن استفاده کردید؟
        با آیسی یا با ADC؟
        کد کالیبره رو قرار بدید لطفا!
        معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.

        دیدگاه

        لطفا صبر کنید...
        X