نمایشگر ها در مدارات الکترونیکی کاربرد فراوانی دارند . از نمایشگر ها جهت مانیتور کردن پارامتر های مختلف ، رابط های گرافیکی و.. استفاده می شود . مدل های مختلفی از نمایشگر وجود دارد که می توانید آن ها را با انواع محتلف میکروکنترلر ها راه اندازی کنید . یکی از انواع نمایشگر ها ، LCD های گرافیکی می باشند . مقاومت فیزیکی بالا و مصرف کم حافظه ، این نمایشگر ها را در صنعت بسیار پرکاربرد کرده . می توانید انواع مختلف این نمایشگر ها را در پمپ های بنزین ، باسکول های صنعتی و… ببینید . LCD های گرافیکی به صورت تک رنگ می باشند در واقع هر پیکس تنها دو حالت خاموش و روشن دارد . همچنین این نمایشگر ها را در دو مدل با بک لایت آپی و سبز می سازند (رنگ های مختلف دیگری نیز وجود دارند که کمتر مورد استفاده قرار می گیرند ) . در مدل های با بک لایت آبی ، بر خلاق بک لایت سبز ، در صورتی که بکلایت نمایشگر خاموش باشد تصاویر LCD واضح نیستند . به همین دلیل در مکان هایی که نیازی به بکلایت ندارند از مدل سبز رنگ این نمایشگر ها استفاده می شود . در این آموزش به راه اندازی LCD های سایز 128*240 پیکسل با درایور T6963 خواهیم پرداخت . به طور معمول برای راه اندازی نمایشگر ها از درایور های مختلف استفاده می شود . استفاده از درایور درگیر شدن MCU برای راه اندازی نمایگشر را کم می کند و MCU تصاویر را در قالب دستوراتی به درایور ارسال کرده و درایور خود با اسکن سطری و ستونی پیکسل ها تصاویر را نمایش می دهد . معملود نمایشگر با درایور را به صورت یکپارچه می سازند که این کار سبب کاهش فضای اشغال شده خواهد شد ( به زو مثال انواع OLED و LCD های گرافیکی رد پشت خود درای چیپ های ردایور هستند ). نمایگشری که در این آموزش به آن خواهیم پرداخت به صورت یکپارچه شامل LCD و درایور T6963 است . در برخی از مدل های این LCD هر پین به دو پایه متصل است (دو سوراخ متالیزه برای هر کدام از پایه های LCD وجود دارد ).
پین های LCD را همانند تصویر زیر به آردوینو Mega2560 متصل کنید :
همچنین در جدول زیر نحوه اتصال پین ها بر اساس اسم مشخص شده است :
کد های آردوینو :
/* Date :- 11 - August - 2016 Sketch By:- Pranav Sharma ________________________________________________________________ T6963c LCD PIN | LCD PIN NAME | MEGA 2560 | ________________________________________________________________| 1 | FG | GND | 2 | GND | GND | 3 | VDD | +5V | 4 | VO | 10K POT WIPER – LEG 2 | 5 | WR | 17 | 6 | RD | 18 | 7 | CE/CS | 14 | 8 | C/D | 15 | 9 | RST | 16 | 10 | DB0 | 8 | 11 | DB1 | 9 | 12 | DB2 | 10 | 13 | DB3 | 11 | 14 | DB4 | 4 | 15 | DB5 | 5 | 16 | DB6 | 6 | 17 | DB7 | 7 | 18 | FS | GND | 19 | VEE | 10K POT–LEG1 | 20 | LED A | +3.3V – 5V | ________________________________________________________________| */ #include "U8glib.h" U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: D0, D1, D2, D3, D4, D5, D6, D7, cs=14, c/d(a0)=15, wr=17, rd=18, reset=16 void draw(void) { // graphic commands to redraw the complete screen should be placed here //Selecting Font u8g.setFont(u8g_font_6x10); //Draw String on the screen u8g.drawStr( 0, 22, "I am Pranav Sharma"); } void setup(void) { } void loop(void) { // picture loop u8g.firstPage(); do { draw(); } while( u8g.nextPage() ); // rebuild the picture after some delay delay(50); }