اطلاعیه

Collapse
No announcement yet.

فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

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

    #16
    پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

    با سلام
    در رابطه با کار با OLED با چیپ SSD1306 فایلی که قرار داده بودید، در محیط پروتئوس بود ولی کتابخانه این OLED در این فایل موجود نبود، لطفا برای دسترسی به کتابخانه این OLED در محیط Proteus راهنمایی بفرمایید.

    دیدگاه


      #17
      پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

      نوشته اصلی توسط soheil_sabz نمایش پست ها
      با سلام
      در رابطه با کار با OLED با چیپ SSD1306 فایلی که قرار داده بودید، در محیط پروتئوس بود ولی کتابخانه این OLED در این فایل موجود نبود، لطفا برای دسترسی به کتابخانه این OLED در محیط Proteus راهنمایی بفرمایید.
      سلام. ببینید پروتئوس برای این چیپ کتابخانه نداره، ولی با روش زیر و قطعه ug-2864 میشه با oled در پروتئوس کار کرد، البته من خودم تست نکردم.
      لینک سایت روسی هستش، توی گوگل ترجمه کنید:
      roboforum.ru: Электроника, электротехника — Proteus и OLED, Страница 1 из 1



      Sent from my HUAWEI P7-L10 using Tapatalk
      انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

      دیدگاه


        #18
        پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

        سلام.
        چرا سرعت این کتابخانه کم است؟ البته شاید چون از فرکانس 1MHzاستفاده کرده ام

        دیدگاه


          #19
          پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

          نوشته اصلی توسط asdsf نمایش پست ها
          سلام.
          چرا سرعت این کتابخانه کم است؟ البته شاید چون از فرکانس 1MHzاستفاده کرده ام
          سلام دوست عزیز . با فرکانس 1 مگاهرتز که خیلی کند میشه
          باید از حداکثر سرعت میکرو استفاده کنید، مثلا 16 مگاهرتز یا 20 مگاهرتز تا سرعت رفرش خوب بشه
          اگه ممکنه یک فیلم از عملکرد مدارتون بذارید

          Sent from my HUAWEI P7-L10 using Tapatalk
          انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

          دیدگاه


            #20
            پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

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

            Sent from my HUAWEI P7-L10 using Tapatalk
            انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

            دیدگاه


              #21
              پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

              من خوب چند بار با فرکانس بیشتر کار کردم:25مگاهرتز اما به خاطر فیوز ها چندین بار خراب شده میکرو هام.برای همین تیک پروگرامر فیوزبیت ها رو برداشتم تا 1 مگ همیشگی بمونه.

              دلیل: ادغام دو پست برای جلوگیری از اسپم

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

              دیدگاه


                #22
                پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                نوشته اصلی توسط asdsf نمایش پست ها
                من خوب چند بار با فرکانس بیشتر کار کردم:25مگاهرتز اما به خاطر فیوز ها چندین بار خراب شده میکرو هام.برای همین تیک پروگرامر فیوزبیت ها رو برداشتم تا 1 مگ همیشگی بمونه.

                دلیل: ادغام دو پست برای جلوگیری از اسپم

                یه سوال دیگه:
                تابعی وجود نداره عکس رو بکشیم نمایش بده؟
                البته یک تابع دارد اما ان تابع فقط عکس درون کتابخانه را نشان میدهد.
                به راحتی میتونید هر عکس بیت مپی را نمایش بدید. با این تابع
                void LCD_DrawImage(unsigned char num_image);

                در فایل ssd1306.c هم یک آرایه دیگه برای عکس مورد نظرتون تعریف میکنید، در این فایل یک آرایه image0 از قبل وجود داره، شما یک آرایه دیگه (مثلا image1) کنار اون تعریف میکنید و با تابع بالا فراخوانی میکنید
                موفق باشید

                Sent from my HUAWEI P7-L10 using Tapatalk
                انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                دیدگاه


                  #23
                  پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                  نوشته اصلی توسط hamedtaran نمایش پست ها
                  وقتی دیدم تاپیکی به اسم «جواهری به اسم oled 128x64 در فروشگاه» در انجمن هست و پس از دوسال بدون نتیجه رها شده و کسانی که راه اندازی کردن آموزش آنچنانی نمیدن، حالا نمیدونم دلیلش چی میتونه باشه، شاید وقت کافی نداشتن
                  البته آموزش هایی به زبان بسکام هست و به راحتی راه اندازی میشه، ولی واسه زبان C و کدویژن شاید عده ای از دوستان مشکل داشته باشن که با این فایلی که میذارم همه این مشکلات برطرف میشه انشاءالله. چون هم کتابخونه رو گذاشتم، هم نحوه سیم کشی و هم یک مثال بسیار ساده که عکسهای زیر خروجی همین مثال هستش.
                  نحوه ارتباط با ماژول بصورت i2c میباشد که با تمام میکروکنترولر ها سازگار است.
                  درضمن زحمت این پروژه را رفقای روسی کشیدن که دستشون درد نکنه، نکته جالب این که یک تابع برای نشان دادن میزان باطری توی کتابخانه هست که بنظرم خیلی به درد میخوره و جالبه (توی عکسا معلومه)
                  این عکس هایی از پروژه:



                  نحوه سیم کشی:



                  لینک دانلود:
                  دانلود کتابخانه و مثال برای راه اندازی ماژول oled lcd با چیپ ssd1306 با کدویژن و ارتباط دو سیمه i2c

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

                  دیدگاه


                    #24
                    پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                    ضمن تشکر از توضیحات و برنامه مقیدتون
                    لطفا برای همین OLED منتها مدل شش بایه
                    که احتمالا از SPI استفاده میکنه و خیلی سریع تر رفرش میشه
                    یک کد مشابه بزارید.
                    باتشکر فراوان

                    دیدگاه


                      #25
                      پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                      نوشته اصلی توسط Nanosi نمایش پست ها
                      ضمن تشکر از توضیحات و برنامه مقیدتون
                      لطفا برای همین OLED منتها مدل شش بایه
                      که احتمالا از SPI استفاده میکنه و خیلی سریع تر رفرش میشه
                      یک کد مشابه بزارید.
                      باتشکر فراوان
                      سلام، خواهش میکنم، برای spi سورس avr خیلی زیاده، ولی برای i2c نمیشه سورسی پیدا کرد، به همین دلیل اینو گذاشتم. مزیت i2c استفاده فقط از 2 پین هستش و برای میکروهای کوچک و محدود خوبه. سرعت رفرش هم درصورت استفاده از حداکثر فرکانس خوبه و زیاد قابل دیدن نیست، ولی بقول شما از spi کمی کمتر هستش و ممکنه در نمایش یک انیمیشن ساده به چشم بیاد.

                      Sent from my HUAWEI P7-L10 using Tapatalk
                      انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                      دیدگاه


                        #26
                        پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                        دوستان یک نمونه برنامه که قبلا تست کردند به همراه کتابخانه مورد استفاده رو اینجا قرار بدند من با این OLED به مشکل برخوردم با اردوینو راحت راه اندازی شد ولی با avr داره بازی در میاره
                        گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
                        همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

                        دیدگاه


                          #27
                          پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                          کار با کتابخونه ای که دوستمون قرار دادند راحته فقط باید بشینی یه بار کتابخونه رو بخونی ببینی چی به چی هست من یه کد ساده نوشتم و روی سخت افزار هم تستش کردم 100درصد جواب میده برای دوستان قرار می دم امیدوارم استفاده لازم رو ببرند. توجه داشته باشید از I2c نرم افزاری استفاده شده و پورت C برای I2C انتخاب شد و پایه های C0و C1 به ترتیب به OLED متصل شدند. OLED هم 128x64


                          #include <mega16.h>
                          #include <i2c.h>
                          #include <stdio.h>
                          #include <delay.h>
                          #include "ssd1306.c"
                          char buff[40];
                          unsigned char A=100;






                          void main(void)
                          {
                          LCD_init();
                          LCD_DrawImage(0);
                          delay_ms(5000);
                          LCD_Clear();
                          LCD_Contrast(1);

                          LCD_Goto(0,4);
                          sprintf(buff,"12345");
                          LCD_Printf(buff,2);

                          LCD_Goto(0,1);
                          sprintf(buff,"WWW.ECA.IR");
                          LCD_Printf(buff,1);

                          LCD_Goto(0,0);
                          sprintf(buff,"A=%d",A);
                          LCD_Printf(buff,1);





                          while (1)
                          {




                          }
                          }


                          جدیدترین ویرایش توسط amin20107; ۰۶:۲۵ ۱۳۹۷/۰۱/۰۳.
                          گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
                          همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

                          دیدگاه


                            #28
                            پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                            نوشته اصلی توسط amin20107 نمایش پست ها
                            کار با کتابخونه ای که دوستمون قرار دادند راحته فقط باید بشینی یه بار کتابخونه رو بخونی ببینی چی به چی هست من یه کد ساده نوشتم و روی سخت افزار هم تستش کردم 100درصد جواب میده برای دوستان قرار می دم امیدوارم استفاده لازم رو ببرند. توجه داشته باشید از I2c نرم افزاری استفاده شده و پورت C برای I2C انتخاب شد و پایه های C0و C1 به ترتیب به OLED متصل شدند. OLED هم 128x64


                            #include <mega16.h>
                            #include <i2c.h>
                            #include <stdio.h>
                            #include <delay.h>
                            #include "ssd1306.c"
                            char buff[40];
                            unsigned char A=100;






                            void main(void)
                            {
                            LCD_init();
                            LCD_DrawImage(0);
                            delay_ms(5000);
                            LCD_Clear();
                            LCD_Contrast(1);

                            LCD_Goto(0,4);
                            sprintf(buff,"12345");
                            LCD_Printf(buff,2);

                            LCD_Goto(0,1);
                            sprintf(buff,"WWW.ECA.IR");
                            LCD_Printf(buff,1);

                            LCD_Goto(0,0);
                            sprintf(buff,"A=%d",A);
                            LCD_Printf(buff,1);





                            while (1)
                            {




                            }
                            }


                            ممنون از شما دوست عزیز

                            Sent from my HUAWEI P7-L10 using Tapatalk
                            انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                            دیدگاه


                              #29
                              پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                              نوشته اصلی توسط amin20107 نمایش پست ها
                              کار با کتابخونه ای که دوستمون قرار دادند راحته فقط باید بشینی یه بار کتابخونه رو بخونی ببینی چی به چی هست من یه کد ساده نوشتم و روی سخت افزار هم تستش کردم 100درصد جواب میده برای دوستان قرار می دم امیدوارم استفاده لازم رو ببرند. توجه داشته باشید از I2c نرم افزاری استفاده شده و پورت C برای I2C انتخاب شد و پایه های C0و C1 به ترتیب به OLED متصل شدند. OLED هم 128x64


                              #include <mega16.h>
                              #include <i2c.h>
                              #include <stdio.h>
                              #include <delay.h>
                              #include "ssd1306.c"
                              char buff[40];
                              unsigned char A=100;






                              void main(void)
                              {
                              LCD_init();
                              LCD_DrawImage(0);
                              delay_ms(5000);
                              LCD_Clear();
                              LCD_Contrast(1);

                              LCD_Goto(0,4);
                              sprintf(buff,"12345");
                              LCD_Printf(buff,2);

                              LCD_Goto(0,1);
                              sprintf(buff,"WWW.ECA.IR");
                              LCD_Printf(buff,1);

                              LCD_Goto(0,0);
                              sprintf(buff,"A=%d",A);
                              LCD_Printf(buff,1);





                              while (1)
                              {




                              }
                              }


                              دوستان توجه داشته باشند که باید حتما i2c نرم افزاری رو توی کد ویژن فعال کنند وگرنه کد کار نمی کنه. برای این کار یا از همون اول از توی کد ویزارد فعال کنید یا با رفتن به این مسیر i2c نرم افزاری رو بر روی پورت C فعال کنید: Project>configure> C compiler>libaries>I2c
                              مقدار SDA =1 و SCL = 0 قرار بدید.
                              گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
                              همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

                              دیدگاه


                                #30
                                پاسخ : فایل راه اندازی oled lcd با چیپ ssd1306 در کدویژن و زبان c

                                سلام
                                ترجمه توضیحات مربوط به دستورات استفاده شده در کتابخانه SSD1306 که توسط دوست عزیزمان در پست اول معرفی شد.
                                Functions implemented in the library.
                                • void LCD_init ( void ) ; // initial display initialization
                                • void LCD_Commmand ( unsigned char ControByte, unsigned char DataByte ) ; // command display or data
                                • void LCD_Goto ( unsigned char x, unsigned char y ) ; // set the coordinates
                                • void LCD_Goto2X ( unsigned char x, unsigned char y ) ; // set the coordinates multiplied by 2
                                • void LCD_Clear ( void ) ; // clear the entire display
                                • void LCD_Contrast ( char set_contrast ) ; // adjust the contrast from 0 to 255
                                • void LCD_BigNum ( unsigned char num ) ; // output large digits
                                • void LCD_Char ( unsigned int c ) ; // output character
                                • void LCD_CharBig ( unsigned int c ) ; // output large characters
                                • void LCD_Printf ( unsigned char * buf, unsigned char size ) ; // prints the string with the sizes - 0 smallest 2 - enlarged - 3 largest (only for digits)
                                • void LCD_DrawImage ( unsigned char num_image ) ; // prints the image from the flash
                                • void LCD_Bat ( unsigned char y, unsigned char x, unsigned char z ) ; // Draws a battery with z coordinates from 0 to 10 bars
                                • void LCD_Mode ( char set_mode ) ; // 1 - inverted / 0 - normal
                                • void LCD_Sleep ( char set ) ; // 1 - on sleep / 0 - off sleep



                                دیدگاه

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