اطلاعیه

Collapse
No announcement yet.

ماژول LCD 3.2 به همراه تاچ اسکرین

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

    #61
    پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

    والله من سر در نیاوردم کتابخونش چی گفته
    این کتابخونشه : اگر می تونید بگید به کدوم پایه ها وصل کنم - از طریق مبدل انالوگ راه اندازی کرده
    #ifndef Touch_INCLUDED_
    #define Touch_INCLUDED_

    void touch(int *x , int *y);
    int ADC(char ch);
    void Del(void);


    void Del(void){
    int i=50000;
    while(i--);
    }

    double x,y;

    int ADC(char ch){
    int v;
    LPC_SC->PCONP |= (1<<12);
    switch(ch){
    case 0 : LPC_PINCON->PINSEL1 |= 1<<14 ;
    LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
    while (!(LPC_ADC->ADDR0 & (1UL<<31)));
    v = (LPC_ADC->ADDR0>>4 & 0xfff);
    break;

    case 1 : LPC_PINCON->PINSEL1 |= 1<<16 ;
    LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
    while (!(LPC_ADC->ADDR1 & (1UL<<31)));
    v = (LPC_ADC->ADDR1>>4 & 0xfff);
    break;
    case 2 : LPC_PINCON->PINSEL1 |= 1<<18 ;
    LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
    while (!(LPC_ADC->ADDR2 & (1UL<<31)));
    v = (LPC_ADC->ADDR2>>4 & 0xfff);
    break;

    case 3 : LPC_PINCON->PINSEL1 |= 1<<20 ;
    LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
    while (!(LPC_ADC->ADDR3 & (1UL<<31)));
    v = (LPC_ADC->ADDR3>>4 & 0xfff);
    break;
    }
    return v ;
    }

    void touch(int *x , int *y){
    int a,b;
    LPC_GPIO0->FIODIR |= (1<<23)|(1<<25) ;
    LPC_PINCON->PINMODE1 |= (1UL<<17)|(1UL<<21);
    LPC_GPIO0->FIOSET |= (1<<25) ;
    LPC_GPIO0->FIOCLR |= (1<<23) ;
    Del();
    b= ADC(1);
    //*y=b;
    *y=(320*(3330-b))/2490;
    LPC_PINCON->PINSEL1 &= ~(1<<16) ;
    LPC_PINCON->PINMODE1 &= ~((1UL<<17)|(1UL<<21));
    LPC_GPIO0->FIODIR &= ~((1<<23)|(1<<25)) ;
    LPC_GPIO0->FIOSET &= ~(1<<23) ;
    LPC_GPIO0->FIOCLR &= ~((1<<25)|(1<<26)) ;
    LPC_GPIO0->FIODIR |= (1<<24)|(1<<26) ;
    LPC_PINCON->PINMODE1 |= (1UL<<15)|(1UL<<19);
    LPC_GPIO0->FIOSET |= (1<<24) ;
    LPC_GPIO0->FIOCLR |= (1<<26) ;
    Del();
    a= ADC(2);
    //*x=a;
    *x= (240*(3360-a))/2720;
    LPC_PINCON->PINSEL1 &= ~(1<<18) ;
    LPC_PINCON->PINMODE1 &= ~((1UL<<15)|(1UL<<19));
    LPC_GPIO0->FIODIR &= ~((1<<24)|(1<<26)) ;
    LPC_GPIO0->FIOSET &= ~(1<<26) ;
    LPC_GPIO0->FIOCLR &= ~((1<<24)|(1<<23)) ;
    }

    #endif

    دیدگاه


      #62
      پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

      این همون کتابخانه ای هستش که تو مجلات نویز فایل های پیوستش برای lpc1768 هستش و دقیقا مثال های هدر برد آموزشی lpc1768 . کسی از بچه شماتیک هدر برد اموزشی رو داره که برای ما اینجا بذاره؟
      کسی می تونه بگه x+ و x- و y+ و y- ال سی دی 3.2 اینج به کدوم پایه های lpc 1768 باید وصل بشه؟

      دیدگاه


        #63
        پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

        توی این هدر که تعریف نشده
        شاید توی برنامه تعریف شده باشه
        مدت هاست نیستم

        دیدگاه


          #64
          پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

          توی برنامه بالا adc2 , adc1 تعرف شده - اینم فایل برنامه اصلی
          #include <LPC17xx.h>

          #define family_lpc17xx /* TFTLCD definition */
          #define TFTLCD_DATA_MSB_Nibble_Port_0
          #define LCD_MSB_Nibble_OFFSET 15
          #define TFTLCD_DATA_LSB_Nibble_Port_0
          #define LCD_LSB_Nibble_OFFSET 4
          #define TFTLCD_CONTROLPORT_2
          #define TFTLCD_CS 8
          #define TFTLCD_RS 9
          #define TFTLCD_WR 10
          #define TFTLCD_RD 11
          #define TFTLCD_RST 13

          #include "lcd.h"
          #include "Touch.h"


          int main(){

          int x,y ;
          LCD_Init();
          LCD_Clear(White);
          LCD_Fill(0,280,239,319,Black);
          LCD_Fill(120,282,150,319,RED);
          LCD_Fill(150,282,180,319,Green);
          LCD_Fill(180,282,210,319,BLUE);
          LCD_Fill(210,282,239,319,White);
          LCD_Fill(211,283,238,318,Black);

          LCD_ShowString(65,295,"CLEAR"
          while(1){
          touch(&x,&y);
          LCD_ShowString(2,282," "
          LCD_ShowString(2,302," "
          LCD_ShowNum(2,282,x,4,16);
          LCD_ShowNum(2,302,y,4,16);
          if (y > 280&& y <320) {
          if (x<120) LCD_Fill(0,0,239,280,White);
          if (x>120) POINT_COLOR=RED;
          if (x>150) POINT_COLOR=Green;
          if (x>180) POINT_COLOR=Blue;
          if (x>210) POINT_COLOR=Black;
          }
          else
          Draw_Circle(x,y,2);
          }
          }

          دیدگاه


            #65
            پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

            سلام
            من data port , control port ال سی دی را روس پورت b می زارم . اما ال سی دی کار نمی کنه .
            از بابت اتصالات هم مطمئن هستم.
            لطفا کمک کنید.
            با تشکر ................... 0
            :cry2: :cry2: :cry2: :cry2: :cry2:
            محمد.م

            دیدگاه


              #66
              پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

              سلام
              یه مقداری روی ال سی دی نویز دارم چطور میشه رفعش کرد؟
              خیلی کم تصویر راه راه میشه
              مدت هاست نیستم

              دیدگاه


                #67
                پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                بازم سلام
                اینم دومین پروژه من با این ال سی دی که توی این سایت قرار می گیره
                پروژه ها با میکرو at91sam7x256 و ال سی دی 3.2 اینچی هستن و در نرم افزار keil نوشته شدن
                اولین که پروژه راه اندازی ال سی دی و نوشتن متن و متغیر و خواندن مبدل آنالوگ به دیجیتال بود واینم لینک دانلود
                http://s2.picofile.com/file/7821587739/lcd_3_2_at91sam7x256_adc4.rar.html
                و اینم دومین پروژه من
                در این برنامه تاچ ال سی دی راه اندازی شده و مقادیر اون خونده میشه و نمایش داده میشه
                اگر روی اعداد صفحه کلید روی ال سی دی کلیک کنیم عدد اون نمایش داده میشه
                تاچ با تابع touch.h که با adc کار میکنه راه اندازی شده
                عکس از مدار و برنامه
                http://s3.picofile.com/file/7836522789/04042013025.jpg
                سورس برنامه
                http://s2.picofile.com/file/7836516876/lcd_3_2_at91sam7x256_touch.rar.html
                مدت هاست نیستم

                دیدگاه


                  #68
                  پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                  سلام با تشکر من برنامتونو گرفتم همچین خطایی میده اشکال از کجاست
                  lcd.h(357): error: #247: function "delay_ms" has already been defined
                  main.c(50): warning: #223-D: function "sprintf" declared implicitly

                  دیدگاه


                    #69
                    پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

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

                    C:\Keil\ARM\INC\Atmel\SAM7X
                    اینجا کپی کنید

                    لینک دانلود فایل های هدر استفاده شده در برنامه من
                    http://s1.picofile.com/file/7836822254/heder.rar.html
                    مدت هاست نیستم

                    دیدگاه


                      #70
                      پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

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

                      دیدگاه


                        #71
                        پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                        اگه روی کلید ها کلیک میکنید درست نشون داده میشه که هیچ در غیر این صورت باید مقادیر رو خودتون بهش بدین
                        اون یه مقدار کم لرزش مربوط به تابع touch.h هست و بخاطر خطایی که در اثر سرعت بالای تعویض پورت به مبدل آنالوگ به دیجیتال هست بوجود میاد برای کم کردن اون خطا باید سرعت رو داخل تابع تاچ کمی محدود کرد
                        مدت هاست نیستم

                        دیدگاه


                          #72
                          پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                          ممکنه سیم هارو درست وصل نکرده باشین
                          باید به این صورت باشه :
                          x-=B29
                          Y-=B29
                          Y+=B28
                          X+=B27
                          و همچنین دوتا مقاومت 10 کیلواهمی رو باید روی پایه های x- و y+ به زمین مدار وصل کنید

                          درضمن برای کالیبره کرده هم باید مقادیری که در حالت عادی x y نشون داده میشه رو توی تابع تاچ به جای y=0 x=0 عدد های کالیبره تون رو بنویسید
                          اگر کالیبره کنید با این برنامه باید دوباره مخصات xy رو برای کلید ها تعریف کنید
                          مدت هاست نیستم

                          دیدگاه


                            #73
                            پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                            سلام
                            اعدادو خودم دوباره براش تعریف کردم درست شد مقاومتای 10k رو هم وصل کردماما هنوز لرزش داره و در حالت معمولی x =140 , y=85 رو نشون میده که خیلی لرزش داره فرمودین برای رفعش باید دقیقا چیکار کنم

                            دیدگاه


                              #74
                              پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                              اعداد ثابتی که بدست آوردین رو باید توی تابع تاچ اون جایی کهx y رو من صفر گزاشتم شما عدد بزارین
                              برای لرزش هم حدس میزنم کتابخانه تاچ رو باید یه تغییراتی درش ایجا کنید مثلا یه تاخیر هایی با زمان های کم درش ایجاد کنید تا یه مقدار دقیق تر بشه
                              مدت هاست نیستم

                              دیدگاه


                                #75
                                پاسخ : ماژول LCD 3.2 به همراه تاچ اسکرین

                                :bye :bye :bye :bye :bye :bye :bye :bye :bye :bye :bye
                                با سلام
                                یکی هم جواب سوال مارا بده............................................... .
                                سلام
                                من data port , control port ال سی دی را روس پورت b می زارم . اما ال سی دی کار نمی کنه .
                                از بابت اتصالات هم مطمئن هستم.
                                لطفا کمک کنید.
                                با تشکر ................... 0
                                محمد.م

                                دیدگاه

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