آردوینوالکترونیکپروژه آردوینو

راه اندازی lcd nokia 5110 با آردوینو

مقدمه

راه اندازی lcd nokia 5110 با آردوینو: در اکثر پروژه های میکروکنترلری مخصوصا Arduino استفاده از lcd برای نمایش اطلاعات امری ضروری است. امروزه کد نویسی شما فقط کافی نیست و اگر دستگاهی می سازید باید بتوانید برای مشتری خود هر چیزی که می خواهد را نمایش دهید و این امر جز با نمایشگر ها ممکن نیست. در این آموزش ما قراره که نمایشگر nokia 5110 را در آردوینو برای شما راه اندازی کنیم. 

نمایی از نمایشگر نوکیا راه اندازی lcd nokia 5110 با آردوینو
نمایی از نمایشگر نوکیا برای راه اندازی lcd nokia 5110 با آردوینو

کتابخانه

این نمایشگر دارای بک لایت می باشد و برای راه اندازی آن از درایور PCD8544 استفاده می کنیم. برای راه اندازی این نمایشگر بایستی کتابخانه u8glib.h را به شکل زیر به آردوینو اضافه کنیم

#include “u8glib.h” 

نکته: برای دسترسی و نصب کتابخانه های آردوینو کلید های ترکیبی Ctrl+Shift+i را فشار دهید و در قسمت بالای آن کتابخانه مورد نظر خود را (مانند u8glib) جستجو و نصب کنید. 

تنظیمات کتابخانه
تنظیمات کتابخانه

لوازم مورد نیاز برای راه اندازی lcd nokia 5110 با آردوینو

یک عدد برد آموزشی آردوینو 

ماژول lcd nokia 5110 

کابل اتصال آردوینو به pc 

سیم هدر برای اتصالات 

یکم علاقه! 

پایه های ماژول LCD را می توانید در شکل زیر ببینید: 

نمایی از پین های آردوینو برای راه اندازی lcd nokia 5110 با آردوینو
نمایی از پین های آردوینو برای اتصال به lcd nokia 5110

پین های اتصال آردوینو به lcd nokia 5110

VCC: اتصال به منبع تغذیه ۲.۷ تا ۵ ولت            5v 

GND: اتصال به زمین                    GND 

SCE: پین فعال سازی چیپ داخلی ماژول            10 

RESET: پین ریست کردن LCD                8 

D/C: پین تشخیص فرمت اطلاعات (command or data)        9 

SDIN: پین دیتا (Serial Data Line)                11 

SCLK: پین کلاک (Serial Clock Line)                13 

LED: کنترل نور ال ای دی پشت زمینه                GND 

نکته: ممکن است در برخی ماژول ها پینی به نام BL وجود داشته که این نیز برای ال ای دی پشت زمینه می باشد با این تفاوت که این پین با مقاومت متغییر به VCC متصل می شود. 

کد برنامه برای راه اندازی lcd nokia 5110 با آردوینو

در کد آردوینو زیر ما چند شکلک و شمارنده ای را بر روی LCD نمایش می دهیم: 

/* 
 * Arduino Uno   CLK=13, DIN=11 
 * Arduino Nano  CLK=13, DIN=11 
 * Arduino Due   CLK=76, DIN=75 
 * Arduino Mega  CLK=52, DIN=51 

“در صورت تغییر برد آموزشی آردوینو بایستی پایه های آن را مطابق بالا عوض کنید” 

MOSI = DIN = R/W = SDO = DI = SI = MTSR = SDA = D1 
CS = CE = RS = SS 
DC = A0 = SDI = DO = DOUT = SO = MRST 
RESET = RST 
SCLK = CLK = E = SCK = SCL = D0 

“پایه های پروتکل spi با نام های متفاوتی مشخص می شوند که می توانید همه ی آن ها را در بالا ببینید” 

We use this library: https://github.com/olikraus/U8glib_Arduino 

“لینک کتابخانه مورد استفاده در این پروژه” 

*/  
#include "U8glib.h" 

“اضافه کردن کتابخانه” 

U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); 

“تعریف پایه های LCD برای آردوینو 

int Variable1;  

“تعریف متغییر برای شمارنده” 

void setup(void) { 
  //u8g.setFont(u8g_font_profont12); 
  //u8g.setFont(u8g_font_profont15); 
  //u8g.setFont(u8g_font_profont17); 
  //u8g.setFont(u8g_font_profont22); 
  //u8g.setFont(u8g_font_profont29); 
  //u8g.setFont(u8g_font_unifont); 
  //u8g.setFont(u8g_font_4x6); 
  //u8g.setFont(u8g_font_5x7); 
  //u8g.setFont(u8g_font_5x8); 
  u8g.setFont(u8g_font_6x10); 
  //u8g.setFont(u8g_font_6x12); 
  //u8g.setFont(u8g_font_6x13); 
  //u8g.setFont(u8g_font_6x13B); 
  //u8g.setFont(u8g_font_6x13O); 
  //u8g.setFont(u8g_font_7x13); 
  //u8g.setFont(u8g_font_7x13B); 
  //u8g.setFont(u8g_font_7x13O); 
  //u8g.setFont(u8g_font_7x14); 
  //u8g.setFont(u8g_font_7x14B); 
  //u8g.setFont(u8g_font_8x13); 
  //u8g.setFont(u8g_font_8x13B); 
  //u8g.setFont(u8g_font_9x15); 
  //u8g.setFont(u8g_font_9x15B); 
  //u8g.setFont(u8g_font_9x18); 
  //u8g.setFont(u8g_font_9x18B); 
  //u8g.setFont(u8g_font_10x20); 

“انتخاب فونت با استفاده از دستور u8g.setFont();” 

“لیست فونت هایی که راستچین را پشتیبانی می کنند” 

  //u8g.setRot90(); 
  //u8g.setRot180(); 
  //u8g.setRot270(); 

“با استفاده از دستور فوق می توانید صفحه نمایشگر را بچرخوانید” 


void loop(void)  

  Variable1++;  

“افزایش مقدار متغییر در هر بار حلقه تکرار” 

  if(Variable1 > 150) { 
    Variable1 = 0; 
  } 

“اگر متغییر از ۱۵۰ بیشتر شود آن را صفر می کند” 

char string[10];  

“تعریف آرایه کاراکتری” 

dtostrf(Variable1, 3, 0, string);  // (<variable>,<amount of digits we are going to use>,<amount of decimal digits>,<string name>) 

“در این قسمت از کد با استفاده از تابع dtostrf مقدار متغییر را به رشته (string) تبدیل می کند تا بتوان آن را راستچین کرد” 

“فرمت تبدیل آن به شکل زیر است (از چپ به راست)” 

“متغییر string + تعداد اعشار + تعداد ارقام + متغییر int” 

  u8g.firstPage();  
  do{ 
    u8g.drawStr(0, 7, "Hello World!");  // (x,y,"Text") 

“نمایش نوشته با استفاده از دستور فوق و مشخص کردن  مختصات” 

u8g.drawBox(0, 9 ,25 , 15);  // (x,y,width,height) 

“نمایش مربع با استفاده دستور فوق و مشخص کردن  مختصات و ابعاد ” 

   u8g.drawRBox(0, 26, 17, 19, 3);  // (x,y,width,height,radius) 

” نمایش مربع  دارای لبه نرم با استفاده دستور فوق و مشخص کردن  مختصات و ابعاد ” 

   u8g.drawCircle(41, 21, 12, U8G_DRAW_ALL);  // (x,y,radius,option) 

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

    u8g.drawDisc(27, 38, 7, U8G_DRAW_ALL);  // (x,y,radius,option) 

” نمایش دایره تو پر با استفاده دستور فوق و مشخص کردن مختصات و ابعاد ” 

    u8g.drawTriangle(38,45,    48,34,    58,45);  // (x0,y0,    x1,y1,    x2,y2) 

” نمایش مثلث با استفاده دستور فوق و مشخص کردن مختصات هر سه راس” 

    u8g.drawLine(0, 47, 83, 47);  // (x0,y0,x1,y1) 

“رسم خط با استفاده از دستور فوق و مشخص کردن مختصات ابتدایی و انتهایی” 

    u8g.drawFrame(59, 10, 25, 13); // (x,y,width,height) 

“نمایش مربع با استفاده دستور فوق و مشخص کردن  مختصات و ابعاد ” 

    u8g.setPrintPos(63, 20); // (x,y) 

“تعیین موقعیت نوشتن” 

    u8g.print(Variable1);  

“نمایش مقدار متغییر” 

    u8g.drawRFrame(59, 26, 25, 13, 3);  // (x,y,width,height,radius) 

” نمایش مربع  دارای لبه نرم با استفاده دستور فوق و مشخص کردن  مختصات و ابعاد ” 

    u8g.setPrintPos(63, 36); // (x,y) 

“تعیین موقعیت نوشتن” 

    u8g.print(string); 

“نمایش مقدار متغییر راست چین شده” 

  } while(u8g.nextPage());  // End of the picture loop}  

خروجی کد پروژه راه اندازی نمایشگر نوکیا ۵۱۱۰, به شکل زیر است بدین صورت که عدد بالایی چپ چین و عدد پایینی راست چین می باشد: 

نتیجه نهایی
نتیجه نهایی

سخن پایانی

امیدوارم از این آموزش لذت برده باشین. شما می توانید تمامی قطعات این پروژه را از فروشگاه اینترنتی ما تهیه کنید. لطفا نظراتتون را در پایین همین پست قرار دهید. 

لینک های کمکی: 

نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا