اطلاعیه

Collapse
No announcement yet.

[برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

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

    [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

    سلام
    چند وقتی بود که انجمن رو میگشتم تا یک هدر کامل برای ماژول های LCD فروشگاه تهیه کنم و سرانجام تونستم نسخه اولیه این هدر رو برای ARM آماده کنم و حالا هم نسخه مربوط به AVR رو آماده کردم.

    لازم به ذکر است که چندتا از تابع های هدر رو از کارای بچه های دیگه که توی انجمن گذاشته بودن گرفتم ولی تابع های فونت فارسی - انگلیسی و نمایش تصویر و چند مورد دیگه از خودمه
    ویژگی های این هدر به شرح زیر است

    · اضافه شدن تابع تعیین محدوده رفرش شدن تصویر (tftlcd_set_area)
    · اضافه شدن تابع ایجاد رنگ 16 بیتی جهت ارسال به LCD با استفاده از سه رنگ اصلی RGB (قرمز-سبز-آبی). (RGB2COL)
    · تغییر ساختار تابع tftlcd_write_pixel و افزایش سرعت آن و در نتیجه افزایش سرعت اکثر تابع های موجود در هدر (چون اکثر تابع ها از این تابع استفاده میکنند)
    · اضافه شدن تابع رسم بیضی (tftlcd_draw_elliptic)
    · اضافه شدن تابع رسم چهار ضلعی با گوشه های گرد (tftlcd_draw_round_rectangle)
    · اضافه شدن تابع رسم Button با متن مورد نظر و ابعاد دلخواه (tftlcd_draw_button)
    · اضافه شدن تابع رسم گستره رنگ های موجود در LCD. (tftlcd_pattern)
    · اضافه شدن تابع نمایش دادن تصویر موجود در حافظه فلش میکرو با سرعت بسیار بالا تر نسبت به تابع قبلی و با قابلیت کوچک کردن تصویر (با ضریب 1/N و N=1,2,3,&hellip و ایجاد تصویر خاکستری (Gray Scale) (tftlcd_imshow)
    · اضافه شدن فارسی و انگلیسی نویسی مختلط با قابلیت های مختلفی از جمله HighLight و چاپ ارقام به صورت فارسی و انگلیسی و انتخاب رنگ و ... (tftlcd_putsf_mix)
    · اضافه شدن قابلیت تغییر سایز فونت تابع فارسی نویسی و انگلیسی نویسی.
    · اضافه شدن قابلیت Italic به تابع فارسی و انگلیسی نویسی. (tftlcd_italic_on و tftlcd_italic_off)
    · اضافه شدن 5 افکت مختلف برای حروف در تابع مذکور. (tftlcd_font_effect)
    · اضافه شدن تابع رفتن به مختصات دلخواه بدون محدودیت. (از 0 تا 240 و 0 تا 320 بدون استپ های 8 و 16 تایی در عرض و ارتفاع) (tftlcd_goto_xy)
    · اضافه شدن تابع تبدیل کاراکتر های Unicode به ASCII جهت خواندن متون فارسی از روی مموری SD و چاپ روی LCD با تابع مذکور. (unicode2ascii)


    یک برنامه نمونه همراه هدر براتون گذاشتم. شماتیک هم داره
    در ضمن نرسیدم برنامه رو تست کنم ولی ایشالا که درسته. تست کنین خبرشو بهم بدین. منتظرما خیلی هی گفتن ما این هدرو میخایم زود باش و ... پس ی تست بگیرین خبرشو بهم بدین. من با این که حدود 10 برد بورد دارم همشون پرن و برد بورد خالی برای تست مدار ندارم
    موفق باشید.
    فایل های پیوست شده
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

    #2
    پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

    خیلی ممنون،خیلی به هدر احتیاج داشتم ،راستی اگر بشه توی یک فایل متنی هم نحوه استفاده از هدر رو مقداری توضیح بدید،مخصوصا برای نشان دادن عکس از mmc در Avr ، یا یک برنامه با این موضوع بگذارید. بازم ممنون.

    دیدگاه


      #3
      پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

      نوشته اصلی توسط اسلامی تبار
      خیلی ممنون،خیلی به هدر احتیاج داشتم ،راستی اگر بشه توی یک فایل متنی هم نحوه استفاده از هدر رو مقداری توضیح بدید،مخصوصا برای نشان دادن عکس از mmc در Avr ، یا یک برنامه با این موضوع بگذارید. بازم ممنون.
      سلام
      خیلی مشخص و روون نوشته شدن تابع ها.از اسمشون معلومه چه میکنن و با ی تست ساده دستتون میاد چی هستن بعلاوه این که توی کامنت هها هم ورودی ها رو توضیح دادم ی نگاه بندازین.
      در مورد تصویر از روی MMC هم اولا باید بتونی با MMC کار کنین که ربطی به این هدر نداره دوما اینجا رو مطالعه کنید تا خیلی راحت موفق به این کار بشین
      موفق باشید
      زندگی یعنی امید و حرکت
      کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
      سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
      برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
      به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

      دیدگاه


        #4
        پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

        راستی این هدر چرا رنگ نارنجی نداره؟ :-? :-??
        لطفا بگید چجوری کد هگز این رنگها رو گیر میارید؟؟؟؟ :-?? :-/
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #5
          پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

          نوشته اصلی توسط mahan.rafiee
          راستی این هدر چرا رنگ نارنجی نداره؟ :-? :-??
          لطفا بگید چجوری کد هگز این رنگها رو گیر میارید؟؟؟؟ :-?? :-/
          خب بسازید خودتون. ی تابع درست کردم که مقدار RGB رو میگره و رنگ رو درست میکنه اسمشم هست RGB2COL که سه تا ورودی میگره و مقادیر قرمز و سبز و آبی هست و ی رنگ میسازه
          برای این بدونید چه مقادیری بدین برین توی Paint ویندوز و قسمت درست کردن رنگ دلخواه به قرمز و سبز و آبی مقدار بدین رنگ مورد نظر رو بدست بیارن و توی برنامتون استفاده کنین.
          برنامه رو تست کردی؟ جواب داد؟ من تستش نکردم با AVR لطفا خبرشو بدین
          زندگی یعنی امید و حرکت
          کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
          سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
          برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
          به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

          دیدگاه


            #6
            پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

            نوشته اصلی توسط علی ایمانی فر
            خب بسازید خودتون. ی تابع درست کردم که مقدار RGB رو میگره و رنگ رو درست میکنه اسمشم هست RGB2COL که سه تا ورودی میگره و مقادیر قرمز و سبز و آبی هست و ی رنگ میسازه
            برای این بدونید چه مقادیری بدین برین توی Paint ویندوز و قسمت درست کردن رنگ دلخواه به قرمز و سبز و آبی مقدار بدین رنگ مورد نظر رو بدست بیارن و توی برنامتون استفاده کنین.
            برنامه رو تست کردی؟ جواب داد؟ من تستش نکردم با AVR لطفا خبرشو بدین
            ممنون :wow:
            متاسفانه به دلیل اینکه { ماژول السیدی فروشگاه وچند تاقطعه که از فروشگاه خریدم(با پست) هنوز هم به دستم نرسیده } این روزا نمیتونم برنامه رو تست کنم :sad:
            1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
            من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
            !Electronic On! Programming On
            هوشمندانه سوال بپرسیم!
            http://ir02x6.persiangig.com/logo/eca/tanks_01.png

            دیدگاه


              #7
              پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

              سلام
              علی آقا وقتی برنامه به ()lcd_fill که میرسه اجراش میکنه ولی دیگه دستورات بعدی رو اجرا نمیکنه و برنامه رو متوقف میکنه oo: ولی وقتی بجای این تابع از ()lcd_background_color استفاده میکنم برنامه درست کار میکنه. یه زخمتی بکشین بگین دلیلش چیه؟؟؟ :rolleyes:
              هر چند پير و خسته دل و ناتوان شدم * * * هر گه که ياد تو کردم جوان شدم :rolleyes:

              دیدگاه


                #8
                پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                نوشته اصلی توسط Javad1400
                سلام
                علی آقا وقتی برنامه به ()lcd_fill که میرسه اجراش میکنه ولی دیگه دستورات بعدی رو اجرا نمیکنه و برنامه رو متوقف میکنه oo: ولی وقتی بجای این تابع از ()lcd_background_color استفاده میکنم برنامه درست کار میکنه. یه زخمتی بکشین بگین دلیلش چیه؟؟؟ :rolleyes:
                سلام
                حقیقتش من الان همه برد بوردام پره و نمیتونم مدارشو برای AVR ببندم ولی توابع رو چک کردم و تفاوت آنچنانی نداشتن فقط برای من یکم فشرده تر نوشته شده بود.
                من توی یکی از تابع ها نوع آرگومان ورودی رو به جای char از int استفاده کردم و این رو تغییر دادم و هدر رو مجدد پیوست کردم. چک کنید ببنید درست شده؟
                فایل های پیوست شده
                زندگی یعنی امید و حرکت
                کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                دیدگاه


                  #9
                  پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                  ببخشید کدوم تابع رو تغییر دادین؟
                  هر چند پير و خسته دل و ناتوان شدم * * * هر گه که ياد تو کردم جوان شدم :rolleyes:

                  دیدگاه


                    #10
                    پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                    نوشته اصلی توسط Javad1400
                    ببخشید کدوم تابع رو تغییر دادین؟
                    کد:
                    lcd_write_command(char,int);
                    البته فقط نوع آرگومان ورودیش رو تغییر دادم نه چیز دیگه ای رو
                    زندگی یعنی امید و حرکت
                    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                    دیدگاه


                      #11
                      پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                      ببخشید اینترنتم یه لحظه قطع شد :rolleyes:
                      تغییر نکرد. حالا عجله ای نیست. هروقت فرصت داشتید لطف کنید یه بررسیش بکنید
                      هر چند پير و خسته دل و ناتوان شدم * * * هر گه که ياد تو کردم جوان شدم :rolleyes:

                      دیدگاه


                        #12
                        پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                        سلام
                        علی آقا یه سوال داشتم. چرا با فرمول زیر رنگ پس زمینه به رنگ دلخواه تغییر نمیکنه و رنگش فقط سیاه میشه؟ :angry:
                        لطف کنی جواب بدی خیلی خوشحال میشم :rolleyes:

                        کد:
                        char n [10]="01x001f";
                        lcd_background_color(atoi(n));
                        اگه سوالم غیر حرفه ایه ببخشید :mrgreen:
                        هر چند پير و خسته دل و ناتوان شدم * * * هر گه که ياد تو کردم جوان شدم :rolleyes:

                        دیدگاه


                          #13
                          پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                          نوشته اصلی توسط Javad1400
                          سلام
                          علی آقا یه سوال داشتم. چرا با فرمول زیر رنگ پس زمینه به رنگ دلخواه تغییر نمیکنه و رنگش فقط سیاه میشه؟ :angry:
                          لطف کنی جواب بدی خیلی خوشحال میشم :rolleyes:

                          کد:
                          char n [10]="01x001f";
                          lcd_background_color(atoi(n));
                          اگه سوالم غیر حرفه ایه ببخشید :mrgreen:
                          سلام
                          حقیقتش نمیفهمم این چیه اصلا :sad:
                          شما برای تولید رنگ دلخواه باید از تابع RGB2COL استفاده کنی
                          این تابع سه تا عدد 8 بیتی (24 بیت) میگیره و به ی عدد 16 بیتی تبدیل میکنه. خب مسلما بایدحذف اطلاعات داشته باشم. برای همین از قرمز و آبی 5 بیت نگه میدااریم و از سبز 6 بیت
                          در ضمن بیت های کم ارزش (بیت های سمت راست) رو حذف میکنیم
                          زندگی یعنی امید و حرکت
                          کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                          سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                          برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                          به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                          دیدگاه


                            #14
                            پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                            سلام علی آقا
                            راسیتش قضیه از این قراره که :
                            من با نرم افزار عکس bmp رو به کد هگز تبدیل کردم و فایل تکستش رو تو mmc ریختم. بعد با دستور f_read و f_lseek تونستم تک تک کد رنگهارو بخونم و توی رشته buffer ذخیرش کنم. همونطوری که میدونید فرمت buffer از نوع []int (با آرایه) هستش. وقتی هم که می خوام کد رنگهایی که با دستور بالا از mmc خوند رو با تابع زیر نشون بدم آرگومان ورودی این تابع از نوع int (بدون آرایه). :angry:
                            کد:
                            lcd_background_color()
                            من میخوام []int رو به int تبدیل کنم که اینجوری دیگه بدون کتابخونه sdbmp میتونم عکس رو از mmc روی lcd n96 نشون بدم.
                            اگه راهنماییم کنید لطف خیلی بزرگی به من کردید :cry2: :cry2: :cry2:
                            پیشاپیش ممنون
                            هر چند پير و خسته دل و ناتوان شدم * * * هر گه که ياد تو کردم جوان شدم :rolleyes:

                            دیدگاه


                              #15
                              پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                              سلام
                              شرمنده دیر شد
                              این تیکه کد رو برای آرم نوشتم
                              کد:
                              f = fopen("Pic1.BMP","r");
                              tftlcd_gotoxy(0,3);
                              tftlcd_putsf("opened",WHITE,PURPLE,0);
                              fseek(f,57,SEEK_SET);
                              for(i=319;i>-1;i--)
                              	for(j=239;j>-1;j--)
                              	{
                              		blue = fgetc(f);
                              		green = fgetc(f);
                              		red = fgetc(f);
                              		col = RGB2COL(red,green,blue);
                              		tftlcd_write_pixel(j,i,col);
                              			
                              	}
                              fclose(f);
                              برای اطلاعات بیشتر هم ی سر برو توی این تاپیک
                              البته دیگه نیازی تبدیل به Hex نیست و مستقیم از روی فایل BMP میخونید
                              خیلی هم راحته
                              زندگی یعنی امید و حرکت
                              کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                              سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                              برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                              به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                              دیدگاه

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