اطلاعیه

Collapse
No announcement yet.

مشکل با صفحه تاچ

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

    مشکل با صفحه تاچ

    سلام
    من یه صفحه تاچ خریدم و خیلی باهاش ور رفتم نشد که نشد
    وقتی با مولتی متر تست میکنم قسمتهای لبه از 5-6 اهم پایین تر نمیاد
    رو ال سی دی گذاشتم و برنامه رو طوری نوشتم که هرجا فشار میدم پیکسل زیرش روشن بشه
    مرکز درسته و دقیقا زیر انگشت نقطه میذاره
    اما به سمت لبه ها که میریم نقطه از انگشت جا میمونه
    مثلا وقتی نقطه 0 و 0 روی تاچ رو فشار میدم نقطه 10 و 10 رو ال سی دی روشن میشه
    کسی میدونه مشکل چیه؟
    اگه لازمه تا ی عکس از تاچ بذارم
    آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

    116 کتابخانه مورد نیاز برای Altium Designer

    از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

    #2
    پاسخ : مشکل با صفحه تاچ

    آیا از مقاومت 3.3 کیلو در پایه های تاج استفاده کردید؟
    اگر ممکنه عکس و یا مدار آن را در اینجا قرار دهید
    در غیر این صورت حتما اشکال شما در برنامه نویسی است

    دیدگاه


      #3
      پاسخ : مشکل با صفحه تاچ

      آیا صفحه لمسیتون رو درست کالیبره کردین؟
      اگه از سخت افزار مطمئنید، کدتون رو قرار بدید شاید برنامتون ابراد داشته باشه
      اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

      دیدگاه


        #4
        پاسخ : مشکل با صفحه تاچ

        نوشته اصلی توسط mohsen diod
        آیا از مقاومت 3.3 کیلو در پایه های تاج استفاده کردید؟
        اگر ممکنه عکس و یا مدار آن را در اینجا قرار دهید
        در غیر این صورت حتما اشکال شما در برنامه نویسی است
        خب معلوم شد من از تاچ هیچی نمیدونم
        راستش اینو خیلی وقت پیش بستم که جواب نگرفتم
        یادم نی
        اما الان واسه ی پروژه باید راهش بندازم
        اما میشه بگین مقاومتها رو چطور باید بذارم؟
        عکسش رو میذارم


        نوشته اصلی توسط ☺بابابرقی☺
        آیا صفحه لمسیتون رو درست کالیبره کردین؟
        اگه از سخت افزار مطمئنید، کدتون رو قرار بدید شاید برنامتون ابراد داشته باشه
        و میشه بفرمایید چطور کالیبره میشه؟
        درضمن برنامه رو گم کردم باید دوباره بنویسم

        ممکنه تاچ سوخته باشه؟
        چون من 5 ولت رو مستقیم بهش وصل کردم! oo:
        آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

        116 کتابخانه مورد نیاز برای Altium Designer

        از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

        دیدگاه


          #5
          پاسخ : مشکل با صفحه تاچ

          مسعود جان توصیه میکنم برای برنامه شیوه نویسی و کالیبره کردنش این تاپیک رو یک نگاهی بندازید:

          http://www.eca.ir/forum2/index.php?topic=43559.msg359520#msg359520

          اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

          دیدگاه


            #6
            پاسخ : مشکل با صفحه تاچ

            نوشته اصلی توسط ☺بابابرقی☺
            مسعود جان توصیه میکنم برای برنامه شیوه نویسی و کالیبره کردنش این تاپیک رو یک نگاهی بندازید:

            http://www.eca.ir/forum2/index.php?action=profile;u=102567

            بابا برقی سلام
            خودت یه نگاه بنداز چی فرستادی بعد لینکشو قراربده تو انجمن !!!!!!!!!!!
            :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO:

            دیدگاه


              #7
              پاسخ : مشکل با صفحه تاچ

              ا بابا برقی این چیه؟
              حل شد راه افتاد
              کالیبره کردنش رو هم خودم کفش کردم :biggrin:
              فقط من الان دوتا مقاومت بین ورودیهای ADC و زمین گذاشتم
              درسته دیگه؟
              آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

              116 کتابخانه مورد نیاز برای Altium Designer

              از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

              دیدگاه


                #8
                پاسخ : مشکل با صفحه تاچ

                آقا من یه مشکل دارم
                مجبور شدم مقاومتها رو بردارم چون وقتی صفحه لمس نمیشد مختصاتی رو میخوند
                الان خیلی خوب کالیبره شده(مستقیم وصلش کردم)
                و وقتی خط های پیوسته میکشم خوب کار میکنه
                اما وقتی ی نقطه رو فشار میدم چند تا پیکسل دیگه هم روشن میشه
                دقیقتر بگم وقتی فشار میدم یا برمیدارم مختصات اشتباهی رو میخونه
                اگه فیلم زیر رو ببینید متوجه میشید
                MOV_0119.rar - 258.3 Kb
                ببخشید کیفیت نداره
                ممنون میشم راهنماییم کنید
                آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

                116 کتابخانه مورد نیاز برای Altium Designer

                از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

                دیدگاه


                  #9
                  پاسخ : مشکل با صفحه تاچ

                  نوشته اصلی توسط سینا پاشایی
                  بابا برقی سلام
                  خودت یه نگاه بنداز چی فرستادی بعد لینکشو قراربده تو انجمن !!!!!!!!!!!
                  :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO: :NO:
                  حالا چرا اینقدر عصبانی سینا جان :mrgreen:
                  شرمنده، اتفاقا چک هم کردم اما کثل این که اشتباه چک کردم، به جای آدرس پست، آدرس پروفایلم رو کپی کردم، عذر می خوام :redface:
                  ویرایش شد...
                  اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                  دیدگاه


                    #10
                    پاسخ : مشکل با صفحه تاچ

                    نوشته اصلی توسط masoud_m_bf
                    آقا من یه مشکل دارم
                    مجبور شدم مقاومتها رو بردارم چون وقتی صفحه لمس نمیشد مختصاتی رو میخوند
                    الان خیلی خوب کالیبره شده(مستقیم وصلش کردم)
                    و وقتی خط های پیوسته میکشم خوب کار میکنه
                    اما وقتی ی نقطه رو فشار میدم چند تا پیکسل دیگه هم روشن میشه
                    دقیقتر بگم وقتی فشار میدم یا برمیدارم مختصات اشتباهی رو میخونه
                    اگه فیلم زیر رو ببینید متوجه میشید
                    MOV_0119.rar - 258.3 Kb
                    ببخشید کیفیت نداره
                    ممنون میشم راهنماییم کنید
                    توصیه می کنم حداقل دوبار نمونه بردارید از نقطه تاچ شده، و اگر اختلاف مقادبر خوانده شده کم بود، اونو به عنوان مقدار صحیح در نظر بگیرید، این کد رو ملاحظه بفرمایید:

                    کد:
                    #include <mega16.h>
                    #include <delay.h>
                    #include <stdlib.h>
                    
                    
                    #define LANDSCAPE
                    #define LCD_RST_DDR   DDRB
                    #define LCD_RST_PORT  PORTB
                    #define LCD_RST_PIN    0
                    #define LCD_RS_DDR   DDRB
                    #define LCD_RS_PORT  PORTB
                    #define LCD_RS_PIN    1
                    #define LCD_CS_DDR   DDRB
                    #define LCD_CS_PORT  PORTB
                    #define LCD_CS_PIN    2
                    #define LCD_RD_DDR   DDRB
                    #define LCD_RD_PORT  PORTB
                    #define LCD_RD_PIN    3
                    #define LCD_WR_DDR   DDRB
                    #define LCD_WR_PORT  PORTB
                    #define LCD_WR_PIN    4
                    #define LCD_DATAPORT_MSB_DDR     DDRC
                    #define LCD_DATAPORT_MSB_PORT    PORTC
                    #define LCD_DATAPORT_MSB_PIN      PINC
                    #define LCD_DATAPORT_LSB_DDR     DDRD
                    #define LCD_DATAPORT_LSB_PORT    PORTD
                    #define LCD_DATAPORT_LSB_PIN      PIND   
                                 
                    #define LCD_CONTROLPORT_DDR     DDRB
                    #define LCD_CONTROLPORT_PORT    PORTB
                    #define LCD_CONTROLPORT_PIN      PINB      
                    
                    #include <tftlcd_functions.h>
                    
                    #define ADC_VREF_TYPE 0xC0
                    // Read the AD conversion result
                    unsigned int read_adc(unsigned char adc_input)
                    {
                    ADMUX=adc_input | ADC_VREF_TYPE;
                    // Delay needed for the stabilization of the ADC input voltage
                    delay_us(10);
                    // Start the AD conversion
                    ADCSRA|=0x40;
                    // Wait for the AD conversion to complete
                    while ((ADCSRA & 0x10)==0);
                    ADCSRA|=0x10;
                    return ADCW;
                    }
                    
                    
                    //******************************************************************************
                    //******************************************************************************
                     
                    void main()
                    {
                    int x,y,x1,y1,dx,dy;
                    float xr,yr;
                    
                    lcd_draw_rectangle(2,2,318,238,0,BLACK);
                    lcd_draw_rectangle(3,3,317,237,0,BLACK);
                    lcd_draw_rectangle(260,3,317,70,1,BLUE); // Touch Key.
                    
                    while(PINA.7==0)
                    {
                    do
                    {
                    //Read X1
                    DDRA=0x03; 
                    PORTA=0x02; 
                    ADMUX=ADC_VREF_TYPE;
                    ADCSRA=0x86;
                    x=read_adc(2); 
                    
                    //Read Y1
                    DDRA=0x0C; 
                    PORTA=0x08; 
                    ADMUX=ADC_VREF_TYPE;
                    ADCSRA=0x86;
                    y=read_adc(0);
                    
                    //Read X2
                    DDRA=0x03; 
                    PORTA=0x02; 
                    ADMUX=ADC_VREF_TYPE;
                    ADCSRA=0x86;
                    x1=read_adc(2); 
                    
                    //Read Y2
                    DDRA=0x0C; 
                    PORTA=0x08; 
                    ADMUX=ADC_VREF_TYPE;
                    ADCSRA=0x86;
                    y1=read_adc(0);
                    
                    dx=x-x1;
                    dy=y-y1;
                    }
                    while(dx!=0 || dy!=0 );
                    //Calibrating The Touch PAD
                    [glow=red,2,300]x-=130;
                    y-=75;
                    
                    if(x<0) x=0; 
                    if(y<0) y=0;
                    
                    xr= x*6/17;
                    yr= y*32/79; 
                    yr=320-yr;
                    [/glow]//lcd_gotoxy(x,y);
                    //lcd_write_pixel( xr,yr,BLUE);
                    lcd_write_pixel( yr+1,xr,RED);
                    lcd_write_pixel( yr-1,xr,RED);
                    lcd_write_pixel( yr,xr+1,RED);
                    lcd_write_pixel( yr,xr-1,RED);
                    
                    
                    if (xr<65 && yr>255 && xr>0 && yr>0) { lcd_clear_screen(); lcd_draw_rectangle(3,3,317,237,0,BLUE); lcd_draw_rectangle(2,2,318,238,0,BLUE); lcd_draw_rectangle(260,3,317,70,1,BLACK);}
                    
                    
                    }
                    
                    
                    delay_ms(5000);
                    }
                    اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                    دیدگاه


                      #11
                      پاسخ : مشکل با صفحه تاچ

                      نوشته اصلی توسط ☺بابابرقی☺
                      توصیه می کنم حداقل دوبار نمونه بردارید از نقطه تاچ شده، و اگر اختلاف مقادبر خوانده شده کم بود، اونو به عنوان مقدار صحیح در نظر بگیرید، این کد رو ملاحظه بفرمایید:

                      کد:
                      #include <mega16.h>
                      #include <delay.h>
                      #include <stdlib.h>
                      
                      
                      #define LANDSCAPE
                      #define LCD_RST_DDR   DDRB
                      #define LCD_RST_PORT  PORTB
                      #define LCD_RST_PIN    0
                      #define LCD_RS_DDR   DDRB
                      #define LCD_RS_PORT  PORTB
                      #define LCD_RS_PIN    1
                      #define LCD_CS_DDR   DDRB
                      #define LCD_CS_PORT  PORTB
                      #define LCD_CS_PIN    2
                      #define LCD_RD_DDR   DDRB
                      #define LCD_RD_PORT  PORTB
                      #define LCD_RD_PIN    3
                      #define LCD_WR_DDR   DDRB
                      #define LCD_WR_PORT  PORTB
                      #define LCD_WR_PIN    4
                      #define LCD_DATAPORT_MSB_DDR     DDRC
                      #define LCD_DATAPORT_MSB_PORT    PORTC
                      #define LCD_DATAPORT_MSB_PIN      PINC
                      #define LCD_DATAPORT_LSB_DDR     DDRD
                      #define LCD_DATAPORT_LSB_PORT    PORTD
                      #define LCD_DATAPORT_LSB_PIN      PIND   
                                   
                      #define LCD_CONTROLPORT_DDR     DDRB
                      #define LCD_CONTROLPORT_PORT    PORTB
                      #define LCD_CONTROLPORT_PIN      PINB      
                      
                      #include <tftlcd_functions.h>
                      
                      #define ADC_VREF_TYPE 0xC0
                      // Read the AD conversion result
                      unsigned int read_adc(unsigned char adc_input)
                      {
                      ADMUX=adc_input | ADC_VREF_TYPE;
                      // Delay needed for the stabilization of the ADC input voltage
                      delay_us(10);
                      // Start the AD conversion
                      ADCSRA|=0x40;
                      // Wait for the AD conversion to complete
                      while ((ADCSRA & 0x10)==0);
                      ADCSRA|=0x10;
                      return ADCW;
                      }
                      
                      
                      //******************************************************************************
                      //******************************************************************************
                       
                      void main()
                      {
                      int x,y,x1,y1,dx,dy;
                      float xr,yr;
                      
                      lcd_draw_rectangle(2,2,318,238,0,BLACK);
                      lcd_draw_rectangle(3,3,317,237,0,BLACK);
                      lcd_draw_rectangle(260,3,317,70,1,BLUE); // Touch Key.
                      
                      while(PINA.7==0)
                      {
                      do
                      {
                      //Read X1
                      DDRA=0x03; 
                      PORTA=0x02; 
                      ADMUX=ADC_VREF_TYPE;
                      ADCSRA=0x86;
                      x=read_adc(2); 
                      
                      //Read Y1
                      DDRA=0x0C; 
                      PORTA=0x08; 
                      ADMUX=ADC_VREF_TYPE;
                      ADCSRA=0x86;
                      y=read_adc(0);
                      
                      //Read X2
                      DDRA=0x03; 
                      PORTA=0x02; 
                      ADMUX=ADC_VREF_TYPE;
                      ADCSRA=0x86;
                      x1=read_adc(2); 
                      
                      //Read Y2
                      DDRA=0x0C; 
                      PORTA=0x08; 
                      ADMUX=ADC_VREF_TYPE;
                      ADCSRA=0x86;
                      y1=read_adc(0);
                      
                      dx=x-x1;
                      dy=y-y1;
                      }
                      while(dx!=0 || dy!=0 );
                      //Calibrating The Touch PAD
                      [glow=red,2,300]x-=130;
                      y-=75;
                      
                      if(x<0) x=0; 
                      if(y<0) y=0;
                      
                      xr= x*6/17;
                      yr= y*32/79; 
                      yr=320-yr;
                      [/glow]//lcd_gotoxy(x,y);
                      //lcd_write_pixel( xr,yr,BLUE);
                      lcd_write_pixel( yr+1,xr,RED);
                      lcd_write_pixel( yr-1,xr,RED);
                      lcd_write_pixel( yr,xr+1,RED);
                      lcd_write_pixel( yr,xr-1,RED);
                      
                      
                      if (xr<65 && yr>255 && xr>0 && yr>0) { lcd_clear_screen(); lcd_draw_rectangle(3,3,317,237,0,BLUE); lcd_draw_rectangle(2,2,318,238,0,BLUE); lcd_draw_rectangle(260,3,317,70,1,BLACK);}
                      
                      
                      }
                      
                      
                      delay_ms(5000);
                      }
                      ایول
                      ایده خوبیه
                      چرا به فکر خودم نرسید؟ :biggrin:
                      آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

                      116 کتابخانه مورد نیاز برای Altium Designer

                      از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

                      دیدگاه


                        #12
                        پاسخ : مشکل با صفحه تاچ

                        اگه جواب نگرفتی بگو تا مدار و برنامشو که در عمل صد در صد جواب میده رو در اینجا قرار بدم

                        دیدگاه


                          #13
                          پاسخ : مشکل با صفحه تاچ

                          نوشته اصلی توسط mohsen diod
                          اگه جواب نگرفتی بگو تا مدار و برنامشو که در عمل صد در صد جواب میده رو در اینجا قرار بدم

                          ن آقا قربون دستت حل شد
                          دوبار با فاصله 500 میکرو ثانیه میخونه و اگه برابر نبود هیچ کاری نمیکنه
                          فقط ی مشکل دارم(یاد آوری میکنم قراره ی چیزی مثل دفتر نقاشی داشته باشم)
                          اول اینکه به دلیل فاصله 500 میکرو نمیشه خطوط پیوسته کشید(اگه بخوام خط پیوسته بکشم باید خیلی آهسته حرکت کنم)
                          فرکانس رو هم بردم بالا بهتر شد اما بازم کامل رفع نشد
                          باید چیکار کنم؟
                          آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

                          116 کتابخانه مورد نیاز برای Altium Designer

                          از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

                          دیدگاه


                            #14
                            پاسخ : مشکل با صفحه تاچ

                            نوشته اصلی توسط masoud_m_bf

                            ن آقا قربون دستت حل شد
                            دوبار با فاصله 500 میکرو ثانیه میخونه و اگه برابر نبود هیچ کاری نمیکنه
                            فقط ی مشکل دارم(یاد آوری میکنم قراره ی چیزی مثل دفتر نقاشی داشته باشم)
                            اول اینکه به دلیل فاصله 500 میکرو نمیشه خطوط پیوسته کشید(اگه بخوام خط پیوسته بکشم باید خیلی آهسته حرکت کنم)
                            فرکانس رو هم بردم بالا بهتر شد اما بازم کامل رفع نشد
                            باید چیکار کنم؟
                            1- فرکانس کاریتون چقدره؟
                            2- اگه با CV کار می کنید تنظیمات کدویزارد رو چک کردید که فرکانسش با فرکانس شما یکی باشه؟(چون اگه یکی نباشه تاخیرها هم درست در نمیاد)
                            3- تاخیر 500us اینقدری زیاد نیست که خط پیوسته کشیده نشه، با این حال اگه از مورد 2 مطمئنید، تاخیر رو کمتر کنید
                            اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                            دیدگاه


                              #15
                              پاسخ : مشکل با صفحه تاچ

                              نوشته اصلی توسط masoud_m_bf

                              ن آقا قربون دستت حل شد
                              دوبار با فاصله 500 میکرو ثانیه میخونه و اگه برابر نبود هیچ کاری نمیکنه
                              فقط ی مشکل دارم(یاد آوری میکنم قراره ی چیزی مثل دفتر نقاشی داشته باشم)
                              اول اینکه به دلیل فاصله 500 میکرو نمیشه خطوط پیوسته کشید(اگه بخوام خط پیوسته بکشم باید خیلی آهسته حرکت کنم)
                              فرکانس رو هم بردم بالا بهتر شد اما بازم کامل رفع نشد
                              باید چیکار کنم؟
                              1- فرکانس کاریتون چقدره؟
                              2- اگه با CV کار می کنید تنظیمات کدویزارد رو چک کردید که فرکانسش با فرکانس شما یکی باشه؟(چون اگه یکی نباشه تاخیرها هم درست در نمیاد)
                              3- به نظر تاخیر 500us اینقدری زیاد نیست که خط پیوسته کشیده نشه، با این حال اگه از مورد 2 مطمئنید، تاخیر رو کمتر کنید
                              اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

                              دیدگاه

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