اطلاعیه

Collapse
No announcement yet.

ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

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

    ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

    با سلام،

    اگر تا بحال قصد کرده باشید یک منو ( مثل گوشی های موبایل قدیمی ) برای سخت افزار خودتون بنویسید، متوجه شدید که مدیریت کردن منوها کار خیلی سختیه و ممکنه که سیستم رو کند کنه.

    این پروژه که در اینجا ارائه میکنم، یک منو سیستم برای LCD های گرافیکی هستش که قابلیت های خوبی رو به شما میده و استفاده از اون بسیار راحته و با توجه به اینکه انعطاف پذیری بالایی داره، به سادگی میشه اون رو روی هر سخت افزاری اجرا کرد.

    این پروژه در WinAVR نوشته و تست شده و هنوز فرصت نکردم که اون رو با پلتفرم کدویژن مطابقت بدم، اما در آینده قصد دارم که این کار رو بکنم و روی فارسی کردنش هم کار خواهم کرد ( تا ببینیم استقبال چطوریه! )

    در شبیه سازی پروتئوس، تمام قابلیت ها قابل درک نیست و بهتره که عملا روی یک سخت افزار آزمایش بشه تا قابلیت هاش رو متوجه بشید.


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

    همراه این پروژه، آخرین نسخه تمام کتابخونه هایی که قبلا ارائه کردم رو هم گذاشتم. ( کتابخونه رسم اشکال هندسی، فونت ها، صفحه کلید ماتریسی و از همه مهم تر، کتابخونه KS0108 که قابلیت های جدیدی بهش اضافه شده )

    نقشه شماتیک سخت افزاری هم که برای تست ازش استفاده کردم رو در پوشه Doc براتون گذاشتم.

    امیدوارم که مفید فایده قرار بگیره ......

    http://s1.picofile.com/file/7702974294/SHN_menu_03.rar.html

    موفق و پیروز باشید
    فایل های پیوست شده
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    #2
    پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

    با سلام،

    برای سازگاری با کدویژن منطبق و تست گردید. فایل پروژه SHNmenu.prj را در کدویژن باز نموده و پس از کامپایل استفاده کنید. ( هگز تولید شده توسط کدویژن هم در پوشه Prepared HEX قرار گرفت! )

    http://s3.picofile.com/file/7718844301/SHN_menu_032.rar.html
    فایل های پیوست شده
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      #3
      پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

      سلام :nerd:
      بسیار کار پسندیده و جالبی بود. کدنویسیش هم جالب بود. :smile:
      کتابخانه رو خودتون نوشتید؟
      میشه با فلوچارت یا الگوریتم نشون بدید که دقیقا چطور کار میکنه؟

      دیدگاه


        #4
        پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

        سلام
        برنامه با زبان بیسیک رو میتونید بذارید

        دیدگاه


          #5
          پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

          همون جور که کاربر قبلی گفتند برنامه با زبان بیسیک رو میتونید بذارید؟!

          دیدگاه


            #6
            پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

            نوشته اصلی توسط mahboob2
            همون جور که کاربر قبلی گفتند برنامه با زبان بیسیک رو میتونید بذارید؟!
            با سلام،

            شرمنده، من اصلا بسکام بلد نیستم و برام مقدور نیست، ولی اگر کسی خواست این کار رو انجام بده و سوال و مشکلی بود، در خدمتم ....
            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              #7
              پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

              سلام. من یک برنامه خیلی ساده برای ال سی دی گرافیکی نوشتم. اما با این وجود وقتی در مدار قرار میدم فقط ال سی دی روشن میشه و خونه های شطرنجیش دیده میشه. اما هیچ چی نشون نمیده. میکروی من هم atmega16 است. فیوزبیتها را هم فکر میکنم درست تعییین کرده باشم. jtag رو غیر فعال کردم. اما نمیدونم مشکل چیه؟ کسی میتونه کمک کنه؟
              ضمنا ماکزیمم ولتاژی که ال سی دی گرافیکی میتونه تحمل کنه و نسوزه چقدره؟

              دیدگاه


                #8
                پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                با سلام و تشکرفراوان

                در صورت امکان خواهشمند است نحوه فارسی نویسی منوها را هم بفرمایید

                دیدگاه


                  #9
                  پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                  ومــــــــــــــــــــــــــــــــــــــــــــــــ ــا همچنان در انتظــــــــــــــــــــــــــــــــــــــــــــــ ــــاریم !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                  دیدگاه


                    #10
                    پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                    نوشته اصلی توسط Shapour-Ardebil
                    با سلام و تشکرفراوان

                    در صورت امکان خواهشمند است نحوه فارسی نویسی منوها را هم بفرمایید
                    با سلام،

                    شرمنده که دیر جواب میدم، این روزها کمی گرفتارم و نمیتونم بیام سایت ....

                    فارسی کردن منوها که کار نداره ( در حال حاضر هم امکانش هست )، فقط چیدمان ها از سمت چپ کمی کار میبره که فعلا فرصتش رو ندارم، انشاالله در اولین فرصت روی چشم، انجام میدم ....
                    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                    Sh_Nourbakhsh@Yahoo.com

                    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                    دیدگاه


                      #11
                      پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                      با سلام
                      با تشکر از اقای نوربخش جهت ارائه کتابخونه های مفید کاربردی.

                      من می خواستم از برنامه منو تو lcd1100 استفاده کنم و فقط تو 2تا خط زیر مشکا بوجود میاد.
                      کد:
                      #define GLCDinvrect(x, y, w, h)										{KS108_InvertRect(x, y, w, h);}
                      
                      void KS108_InvertRect(unsigned char x, unsigned char y, unsigned char width, unsigned char height);

                      نحوه تبدیل اینا برای lcd1100 چطوری هستش؟
                      2-برای نوشتن منو از راست به چپ چه باید کرد؟
                      با تشکر
                      دکتر شريعتي:

                      زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                      دیدگاه


                        #12
                        پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                        نوشته اصلی توسط NAO_ROBOT
                        با سلام
                        با تشکر از اقای نوربخش جهت ارائه کتابخونه های مفید کاربردی.

                        من می خواستم از برنامه منو تو lcd1100 استفاده کنم و فقط تو 2تا خط زیر مشکا بوجود میاد.
                        کد:
                        #define GLCDinvrect(x, y, w, h)										{KS108_InvertRect(x, y, w, h);}
                        
                        void KS108_InvertRect(unsigned char x, unsigned char y, unsigned char width, unsigned char height);

                        نحوه تبدیل اینا برای lcd1100 چطوری هستش؟
                        2-برای نوشتن منو از راست به چپ چه باید کرد؟
                        با تشکر
                        با سلام،

                        معادل تعریف مورد نظر برای LCD1100 به شکل زیر هستش :
                        کد PHP:
                        #define GLCDinvrect(x, y, w, h)       {N11_FillRect(x, y, x+w, y+h, INVERS);} 


                        نوشتن منو ها از راست به چپ ( یا همون فارسی سازی توابع منو ) مستلزم ایجاد تغییرات زیادی هستش که متاسفانه در حال حاضر فرصت لازم برای این موضوع رو ندارم. بعید میدونم که شما بتونید این کار رو انجام بدید. در هر صورت نگاهی به توابع فونت فارسی میتونه شما رو راهنمایی کنه و سرنخ هایی به شما بده. اگر شروع کردید، میتونید روی کمک من هم حساب کنید ....
                        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                        Sh_Nourbakhsh@Yahoo.com

                        http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                        دیدگاه


                          #13
                          پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                          با سلام

                          مهندس مثل اینکه برای راه اندازی معمولی هم باید تغییراتی در سورس ایجاد بشه.یه چند تا تغییر ایجاد کردم و توابعی مانند :
                          کد:
                          void Menu_Footer(char *lText, char *rText);

                          را با توجه با سایز lcd تغییر داده و تست کردم و چند تغییر کوچک.
                          اما ایا توایع زیر را هم با توجه به سایز lcd تغییر باید داد؟با چه مقادیری؟
                          کد:
                          void Menu_DrawHLs(void);
                          
                          #elif (HighlightMode >0)
                          		
                          #if (HighlightMode ==1)
                          			
                          #define HLwidth	 110
                          										
                          		
                          #endif
                          	
                          		
                          #define ArrowX1	 120
                          													
                          #define ArrowX2	 124
                          													
                          		
                          #define ArrowY1	 12
                          													
                          #define ArrowY2	 56
                          
                          
                          #endif

                          یا مثلا با اجرای توابع زیر هیچ چیزی به نمایش در نمی اید.
                          کد:
                          void Menu_SetCaption(char *label);
                          	
                          void Menu_SetFooter(char *lText, char *rText);

                          ممنون می شم راهنمائی کنید تا به صورت صحیح راه اندازی کنم.
                          با تشکر
                          دکتر شريعتي:

                          زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                          دیدگاه


                            #14
                            پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                            با سلام،

                            تغییراتی که لازمه داده بشن، تماما در فایل کانفیگ منو قرار دارند، قاعدتا هیچ جای دیگه ای نیاز به تغییر نیست.
                            فعلا فایل ها در دسترسم نیست، بعد یه نگاهی بهش میندازم، اگر موردی بود خبر میدم.

                            اگر فرصت کنم، فایل های پروژه رو برای LCD1100 ست میکنم و برات پ میکنم .....
                            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                            Sh_Nourbakhsh@Yahoo.com

                            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                            دیدگاه


                              #15
                              پاسخ : ایجاد منو برای LCD های گرافیکی ( GLCD Menu-System )

                              با سلام

                              مرسی مهندس که وقت می زاری.ممنون میشم اگه وقت کنید،این کارو انجام بدید.یا راهنمائی کنید خودم تغییر بدم.
                              با تشکر
                              دکتر شريعتي:

                              زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                              دیدگاه

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