تحلیل کتابخانه

تحلیل و بررسی کتابخانه LiquidCrystal.h

نوشته شده توسط پریسا پوربلورچیان

کتابخانه ی LiquidCrystal محبوب ترین کتابخانه ی اوپن سورس برای نرم افزار آردوینو IDE Arduino است که برای نمایش محتوا و دیتای دریافتی از هر سنسور از بردهای میکروکنترلر استفاده می‌شود. تمامی ال سی دی های LiquidCrystal که دارای ۱۶ پایه است و همچنین ال سی دی با رابط I2C از این کتابخانه پشتیبانی می‌کند و فقط کافییست در هر برنامه با توجه به نوع ال سی دی تغییرات کوچکی اعم از ابعاد و مدل ال سی دی را مشخص کنید. توسط کتابخانه ی LiquidCrystal میتوان کنترل ال سی دی  بر پایه Hitachi HD44780 را در دست گرفت. این کتابخانه در مود کاری ۴ – ۸ بیتی کار کرده و از ۴ تا ۸ پایه برای دیتا استفاده می‌کند. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


نصب کتابخانه LiquidCrystal


قدم اول برای نصب کتابخانه‌ی ال سی دی LiquidCrystal از طریق نرم افزار آردوینو است. از منوهای نرم افزار گزینه‌ی Sketch / Include Library / Manage Libraries را اننتخاب کنید. در صفحه ی باز شده منتظر بمانید تا لیست کتابخانه ها به روزرسانی شود. سپس در کادر جستجو عبارت LiquidCrystal را فیلتر کنید. سپس کتابخانه را همانند تصویر زیر انتخاب و بر حسب ورژن نصب Install کنید.

 

برای استفاده از این کتابخانه به دو نکته توجه کنید.

  • ورژن های متفاوتی در هر بازه ی زمانی برای کتابخانه های LiquidCrystal توسعه داده شده است که دستورات هر یک ممکن است متفاوت باشد.
  • در صورتیکه کتابخانه از قبل نصب شده باشد، اگر گزینه ی Update فعال شده است، پیشنهاد می‌شود به روزرسانی را انجام دهید.

 


سازگاری با کتابخانه‌ی LiquidCrystal


کتابخانه‌ی LiquidCrystal برای نمایشگرهای ال سی دی کاراکتری ۱۶ پایه در ابعاد مختلف و همچنین با پروتکل I2C توسعه داده شده است.

ال سی دی کاراکتری ۲X16

ال سی دی کاراکتری ۲X20

ال سی دی کاراکتری ۴X16

ال سی دی کاراکتری ۱۲۸X64

ال سی دی کاراکتری با رابط I2C

شیلد ال سی دی آردوینو 

تمامی ال سی دی های کاراکتری با ۱۶ پایه و دیگر ابعادی که در اینجا نامی از آن ها برده نشد، از کتابخانه‌ی LiquidCrystal پشتیبانی می‌کنند.

 


نکات فنی کتابخانه LiquidCrystal


کتابخانه ی LiquidCrystal بخش اعظمی از ال سی دی های کاراکتری را پوشش میدهد و به همین دلیل در کدنویسی و فراخوانی هر مدل ال سی دی باییستی ابعاد و نوع پروتکل را انتخاب کنید. به عنوان مثال در صورتیکه از ال سی دی کاراکتری با ابعاد ۲X16 استفاده می‌کنید، بایستی ابعاد را در کد آردوینو برنامه اضافه کنید. در صورتیکه از ال سی دی کاراکتری با رابط I2C استفاده می‌کنید، در کد برنامه از کتابخانه با پسوند LiquidCrystal_I2C باید استفاده کنید.

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

#include <LiquidCrystal.h>

 

کتابخانه ی مورد نیاز برای ال سی دی کاراکتری با پروتکل I2C

LiquidCrystal_I2C.h

 

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

 


توابع کلیدی کتابخانه LiquidCrystal


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

 

تابع شرح ها
LiquidCrystal(rs,en,d4,d5,d6,d7)

LiquidCrystal(rs,rw,en,,d4,d5,d6,d7)

LiquidCrystal(rs,en,d0,d1,d2,d3,d4,d5,d6,d7)

LiquidCrystal(rs,rw,en,d0,d1,d2,d3,d4,d5,d6,d7)

برای شروع باید یک متغیر از انواع مختلف Liquid Crystal بسازید. در این متغیر می‌توانید بین ۴ تا ۸ پایه از دیتا را معرفی کنید. در زیر چند نمونه متغیر معرفی می‌کنم. بسته به انتخاب پایه‌های آردوینو  Arduino می‌توانید از یکی متغیرهای زیر استفاده کنید.
lcd.begin(cols, rows) قبل از شروع نوشتن کدهای ال سی دی نیاز به معرفی ال سی دی LCD و مشخص کردن ابعاد مورد استفاده دارید. از اینرو سطر Begin اهمیت خاصی دارد. دستور معرفی ال سی دی همانند زیر است. cols جهت مشخص کردن تعداد ستون و row برای مشخص کردن تعداد سطر می‌باشد.
lcd.clear() توسط تابع clear صفحه نمایش ال سی دی پاک شده و به صورت زیر در کد تعریف می‌شود. پس از تابع begin نیاز به تعریف تابع clear خواهیم داشت. تابع clear به صورت زیر در برنامه فراخوانی می‌شود.
lcd.home() توسط تابع home مکان نما در بالا سمت چپ ال سی دی قرار می‌گیرد. تابع ()home به صورت زیر در برنامه فراخوانی می‌شود.
lcd.setCursor(col, row) توسط تابع setcursor یک موقعیت خاص در ال سی دی برای مکان نما انتخاب می‌کنیم. سپس در تابع سطر row و ستون cols مورد نظر را وارد می‌کنیم. تابع cursor به صورت زیر در برنامه فراخوانی می‌شود.
lcd.write(data) از تابع write برای نوشتن کارکتر در ال سی دی استفاده می‌شود. تابع write به صورت زیر در برنامه فراخوانی می‌شود.
lcd.print(data) از تابع print برای نمایش کاراکتر در ال سی دی LCD اسنفاده می‌شود. تابع print به صورت زیر در برنامه فراخوانی می‌شود.
lcd.cursor() از تابع cursor برای نمایش به صورت زیر خط underscore استفاده می‌شود. در واقع یک خط زیر کاراکتر کشیده می‌شود.
lcd.noCursor() برای عدم نمایش underscore از تابع nocursor استفاده می‌کنیم.
lcd.blink() توسط تابع blink مکان نما به صورت چشمک زن در ال سی دی نمایش داده می‌شود.
lcd.noblink() همچنین توسط تابع noblink از حالت چشمک زن خارج می‌شود.
lcd.display() توسط این تابع ال سی دی روشن می‌شود.
lcd.nodisplay() توسط این تابع ال سی دی خاموش می‌شود.
lcd.scrolldisplayleft() توسط این دو تابع محتوای نمایش داده شده در ال سی دی یک واحد به سمت چپ انتقال داده می‌شود.
lcd.scrolldisplayright() توسط این دو تابع محتوای نمایش داده شده در ال سی دی یک واحد به سمت راست انتقال داده می‌شود.
lcd.autoscroll() توسط تابع autoscroll حرکت اتوماتیک محتوا فعال می‌شود. به این صورت که اگر جهت نمایش در ال سی دی به صورت چپ به راست است، با فراخوانی این تابع صفحه نمایش به سمت چپ حرکت می‌کند و برعکس
lcd.noautoscroll()  

از تابع noautoscroll برای غیر فعال کردن این حالت استفاده می‌شود

lcd.LeftToRight() توسط تابع LeftToRight یک مسیر چپ به راست برای نوشتن متن در ال سی دی مشخص شده و محتوا از چپ به راست نوشته می‌شود
lcd.RightToLeft() همچنین توسط تابع RightToLeft محتوا از راست به چپ در صفحه نمایش نوشته می‌شود.
lcd.creatchar(num,data) از تابع creatchar برای نمایش یک کاراکتر خاص مانند smiley در ال سی دی استفاده می‌شود.

 

 

توابع مورد نیاز برای ال سی دی با رابط I2C

 

 

 

LiquidCrystal_I2C lcd (0x27, 16, 2); در تابع crystalLiquid_I2C باید نوع ال سی دی LCD استفاده شده را مشخص کنید
Wire.begin(); تابع write begin کتابخانه wire را اجرا می‌کند و پروتکل I2C را فرامیخواند. این تابع تنها یک بار در برنامه فراخوانده می‌شود.
lcd.backlight();

 

برای روشن شدن ال سی دی
lcd.nobacklight(); برای خاموش شدن ال سی دی

 

در این دو جدول دستورات مورد نیاز نوشته شده است و با یک مطالعه میتوانید به راحتی در هر برنامه از آن ها استفاده کنید.

 


اجرای برنامه ی Hello World


برای نمونه یک برنامه ساده برای راه اندازی ال سی دی و نمایش محتوا بر روی ال سی دی از برنامه زیر استفاده کنید.

#include <LiquidCrystal.h>



const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {

  lcd.begin(16, 2);

  lcd.print("hello, world!");
}

void loop() {
 
 
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

 


اجرای برنامه Autoscroll


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

/
#include <LiquidCrystal.h>



const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
 
  lcd.begin(16, 2);
}

void loop() {
 
  lcd.setCursor(0, 0);
 
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }

  
  lcd.setCursor(16, 1);
 
  lcd.autoscroll();
 
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }
 
  lcd.noAutoscroll();

 
  lcd.clear();
}

 


اجرای برنامه hello world با I2C


برای نمونه یک برنامه ساده برای راه اندازی ال سی دی و نمایش محتوا بر روی ال سی دی از برنامه زیر استفاده کنید. تفاوت اصلی استفاده از رابط I2C برای ال سی دی است.

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4); 

void setup()
{
  lcd.init();                      
  
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("test1");
   lcd.setCursor(0,2);
  lcd.print("test2");
   lcd.setCursor(2,3);
  lcd.print("test3");
}


void loop()
{
}

 


اجرای برنامه Custom char


تست برنامه ی Custom Char به صورت زیر است.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

uint8_t bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = {	۰x1,0x1,0x5,0x9,0x1f,0x8,0x4};
  
LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.backlight();
  
  lcd.createChar(0, bell);
  lcd.createChar(1, note);
  lcd.createChar(2, clock);
  lcd.createChar(3, heart);
  lcd.createChar(4, duck);
  lcd.createChar(5, check);
  lcd.createChar(6, cross);
  lcd.createChar(7, retarrow);
  lcd.home();
  
  lcd.print("Hello world...");
  lcd.setCursor(0, 1);
  lcd.print(" i ");
  lcd.printByte(3);
  lcd.print(" arduinos!");
  delay(5000);
  displayKeyCodes();
  
}

// display all keycodes
void displayKeyCodes(void) {
  uint8_t i = 0;
  while (1) {
    lcd.clear();
    lcd.print("Codes 0x"); lcd.print(i, HEX);
    lcd.print("-0x"); lcd.print(i+16, HEX);
    lcd.setCursor(0, 1);
    for (int j=0; j<16; j++) {
      lcd.printByte(i+j);
    }
    i+=16;
    
    delay(4000);
  }
}

void loop()
{

}

 


معرفی و نصب کتابخانه liquidcrystal_i2c


کتابخانه LiquidCrystal_I2C یک کتابخانه نرم‌افزاری در زبان برنامه‌نویسی آردوینو (Arduino) است که برای کنترل نمایشگرهای کریستال مایع (Liquid Crystal Display یا LCD) با استفاده از اتصال I2C (Inter-Integrated Circuit) استفاده می‌شود.نمایشگرهای کریستال مایع به طور عمومی دارای مجموعه‌ای از سطرها و ستون‌ها هستند که قادر به نمایش متن و عدد در آنها هستند. با استفاده از کتابخانه LiquidCrystal_I2C می‌توانید ارتباط بین آردوینو و نمایشگر را از طریق رابط I2C برقرار کنید و دستورات لازم برای نمایش متن، اعداد، حروف و سایر عناصر را به نمایشگر ارسال کنید.استفاده از اتصال I2C به نمایشگر، کمک می‌کند تعداد پین‌های مورد نیاز برای کنترل نمایشگر را کاهش دهید. اتصال I2C شامل دو خط ارتباطی (سیگنال داده و سیگنال کلاک) است که به طور معمول برای اتصال چندین دستگاه به یکدیگر استفاده می‌شود.با استفاده از کتابخانه LiquidCrystal_I2C می‌توانید نمایشگرهای کریستال مایع را به آردوینو متصل کنید و از طریق دستورات موجود در کتابخانه، متن، اعداد، حروف و سایر اطلاعات را روی نمایشگر نمایش دهید. این کتابخانه در پروژه‌هایی که نیاز به نمایش اطلاعات ساده مانند پیام‌ها، مقادیر سنسورها و یا وضعیت سیستم دارید، بسیار مفید است.

 

برای نصب کتابخانه LiquidCrystal_I2C در آردوینو، می‌توانید مراحل زیر را دنبال کنید. نرم‌افزار آردوینو (Arduino IDE) را در کامپیوتر خود باز کنید. سپس به منوی “اسکچت” (Sketch) رفته و سپس به (Include Library) بروید. یک پنجره جدید باز می‌شود. در این پنجره، به “کتابخانه‌های منیجر” (Library Manager) مراجعه کنید.در قسمت جستجوی کتابخانه، “LiquidCrystal_I2C” را تایپ کنید و Enter را بزنید. بعد از انتخاب کتابخانه، بر روی دکمه “نصب” (Install) کلیک کنید.صبر کنید تا عملیات نصب کامل شود. در این مدت، می‌توانید پیام‌هایی را که در پنجره پیشرفت نصب ظاهر می‌شود را مشاهده کنید.پس از اتمام نصب، شما می‌توانید از کتابخانه LiquidCrystal_I2C در پروژه‌های آردوینو خود استفاده کنید.حالا که کتابخانه LiquidCrystal_I2C با موفقیت نصب شده است، می‌توانید از دستورات و توابع مربوط به آن در برنامه‌های آردوینو خود استفاده کنید. برای استفاده از کتابخانه، ابتدا باید آن را با استفاده از دستور #include <LiquidCrystal_I2C.h> در برنامه آردوینو فراخوانی کنید. سپس می‌توانید از توابع مختلفی که در کتابخانه وجود دارند، برای کنترل نمایشگر LCD خود استفاده کنید.بعد از نصب کتابخانه LiquidCrystal_I2C و فراخوانی آن در برنامه آردوینو، می‌توانید از توابع مربوط به کتابخانه برای کنترل نمایشگر LCD خود استفاده کنید. در زیر چند نمونه کد برای نمایش یک پیام ساده بر روی نمایشگر را برای شما نوشته‌ام:

 

#include <Wire.h>  // برای اتصال I2C
#include <LiquidCrystal_I2C.h>  // فراخوانی کتابخانه LiquidCrystal_I2C

// تعریف آدرس نمایشگر در رابط I2C
#define LCD_ADDRESS 0x27

// تعریف تعداد ستون‌ها و سطرهای نمایشگر
#define LCD_COLUMNS 16
#define LCD_ROWS 2

// ایجاد شیء نمایشگر LCD
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);

void setup() {
// شروع ارتباط با نمایشگر
lcd.begin(LCD_COLUMNS, LCD_ROWS);

// نمایش پیام روی نمایشگر
lcd.print(“Hello, World!”);
}

void loop() {
// هیچ عملی اضافی در حلقه اصلی لازم نیست
}

 

بعد از نصب کتابخانه LiquidCrystal_I2C و فراخوانی آن در برنامه آردوینو، می‌توانید از توابع مربوط به کتابخانه برای کنترل نمایشگر LCD خود استفاده کنید. در زیر چند نمونه کد برای نمایش یک پیام ساده بر روی نمایشگر را برای شما نوشته‌ام:

cpp
Copy code
#include <Wire.h>  // برای اتصال I2C
#include <LiquidCrystal_I2C.h>  // فراخوانی کتابخانه LiquidCrystal_I2C

// تعریف آدرس نمایشگر در رابط I2C
#define LCD_ADDRESS 0x27

// تعریف تعداد ستون‌ها و سطرهای نمایشگر
#define LCD_COLUMNS 16
#define LCD_ROWS 2

// ایجاد شیء نمایشگر LCD
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);

void setup() {
// شروع ارتباط با نمایشگر
lcd.begin(LCD_COLUMNS, LCD_ROWS);

// نمایش پیام روی نمایشگر
lcd.print(“Hello, World!”);
}

void loop() {
// هیچ عملی اضافی در حلقه اصلی لازم نیست
}

 

در این کد، ما ابتدا کتابخانه Wire.h و LiquidCrystal_I2C.h را فراخوانی کرده و شیء lcd را با استفاده از آدرس نمایشگر، تعداد ستون‌ها و سطرها ایجاد می‌کنیم.سپس در تابع setup، با استفاده از lcd.begin(LCD_COLUMNS, LCD_ROWS)، ارتباط با نمایشگر را برقرار می‌کنیم. در این مثال، نمایشگر ۱۶ ستون و ۲ سطر دارد. سپس با استفاده از lcd.print(“Hello, World!”)، پیام “Hello, World!” را روی نمایشگر نمایش می‌دهیم.در حلقه loop، هیچ عملی اضافی لازم نیست و می‌توانید برنامه خود را بر اساس نیاز خود توسعه دهید.در صورتی که نمایشگر شما تنظیمات خاصی دارد، می‌توانید از توابع دیگری که در کتابخانه LiquidCrystal_I2C موجود است برای تنظیمات اضافی استفاده کنید. به عنوان مثال، می‌توانید از تابع lcd.setBacklight(LOW) برای خاموش کردن نور پس‌زمینه نمایشگر استفاده کنید یا از تابع lcd.setCursor(column, row) برای تنظیم موقعیت مکانی نمایشگر استفاده کنید.در کد زیر پیام “Hello, World!” را در نمایشگر با آدرس I2C 0x27، در ستون ۰ و سطر ۱ نمایش می‌دهد:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define LCD_ADDRESS 0x27
#define LCD_COLUMNS 16
#define LCD_ROWS 2

LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);

void setup() {
lcd.begin(LCD_COLUMNS, LCD_ROWS);
lcd.print(“Hello, World!”);
delay(2000); // توقف برای ۲ ثانیه

// تنظیم موقعیت مکانی به ستون ۰ و سطر ۱
lcd.setCursor(0, 1);
lcd.print(“OpenAI”);
}

void loop() {
// هیچ عملی اضافی در حلقه اصلی لازم نیست
}

 

در این مثال، بعد از نمایش پیام اولیه “Hello, World!” با استفاده از lcd.print()، با استفاده از lcd.setCursor(0, 1)، موقعیت مکانی را به ستون ۰ و سطر ۱ تغییر می‌دهیم و پیام “OpenAI” را در آن نمایش می‌دهیم.شما می‌توانید از توابع دیگری که در کتابخانه LiquidCrystal_I2C موجود است، مانند lcd.clear() برای پاک کردن محتوای نمایشگر، lcd.scrollDisplayLeft() و lcd.scrollDisplayRight() برای اسکرول کردن محتوا به چپ و راست و غیره استفاده کنید.

 


کلاس های کتابخانه liquidcrystal_i2c


کتابخانه LiquidCrystal_I2C برای کنترل نمایشگرهای کریستال مایع (LCD) با استفاده از اتصال I2C ایجاد شده است. در این کتابخانه، یک کلاس اصلی به نام LiquidCrystal_I2C تعریف شده است که توابع و ویژگی‌های مربوط به کنترل نمایشگر را فراهم می‌کند. در زیر می‌توانید مجموعه‌ای از توابع و ویژگی‌های این کلاس را ببینید:

class LiquidCrystal_I2C {
public:
LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t lcd_cols, uint8_t lcd_rows);
void begin(uint8_t cols, uint8_t rows);
void clear();
void home();
void setCursor(uint8_t col, uint8_t row);
void print(const char* text);
void print(String text);
void scrollDisplayLeft();
void scrollDisplayRight();
void setBacklight(uint8_t state);
// ویژگی‌های دیگر و توابع مربوط به کنترل نمایشگر…
};

کتابخانه LiquidCrystal_I2C برای کنترل نمایشگرهای کریستال مایع (LCD) با استفاده از اتصال I2C ایجاد شده است. در این کتابخانه، یک کلاس اصلی به نام LiquidCrystal_I2C تعریف شده است که توابع و ویژگی‌های مربوط به کنترل نمایشگر را فراهم می‌کند. در زیر می‌توانید مجموعه‌ای از توابع و ویژگی‌های این کلاس را ببینید:

cpp
Copy code
class LiquidCrystal_I2C {
public:
LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t lcd_cols, uint8_t lcd_rows);
void begin(uint8_t cols, uint8_t rows);
void clear();
void home();
void setCursor(uint8_t col, uint8_t row);
void print(const char* text);
void print(String text);
void scrollDisplayLeft();
void scrollDisplayRight();
void setBacklight(uint8_t state);
// ویژگی‌های دیگر و توابع مربوط به کنترل نمایشگر…
};

LiquidCrystal_I2C: سازنده کلاس LiquidCrystal_I2C. در این سازنده، آدرس I2C نمایشگر (lcd_Addr) و تعداد ستون‌ها (lcd_cols) و سطرها (lcd_rows) را به عنوان پارامترها دریافت می‌کند.
begin: تنظیم تعداد ستون‌ها و سطرها و آغاز ارتباط با نمایشگر.
clear: پاک کردن محتوای نمایشگر.
home: بازگشت کرسر به موقعیت خانه اول (ستون ۰، سطر ۰).
setCursor: تنظیم مکانیک کرسر در ستون و سطر مشخص.
print: چاپ یک رشته متن بر روی نمایشگر.
scrollDisplayLeft: اسکرول کردن محتوا به چپ.
scrollDisplayRight: اسکرول کردن محتوا به راست.
setBacklight: کنترل وضعیت نور پس‌زمینه نمایشگر.

کلاس LiquidCrystal_I2C نیز از ویژگی‌های دیگری مانند متغیرهای عضو (member variables) برای ذخیره وضعیت و اطلاعات مربوط به نمایشگر استفاده می‌کند. برخی از ویژگی‌های مهم این کلاس عبارتند از:

lcd_Addr: متغیر عضوی که آدرس I2C نمایشگر را ذخیره می‌کند.
lcd_cols: متغیر عضوی که تعداد ستون‌های نمایشگر را ذخیره می‌کند.
lcd_rows: متغیر عضوی که تعداد سطرهای نمایشگر را ذخیره می‌کند.

این ویژگی‌ها می‌توانند برای استفاده در توابع کلاس مورد استفاده قرار گیرند و به عنوان مثال در سازنده و توابع دیگر کلاس استفاده شوند.با استفاده از این کلاس و توابع و ویژگی‌های آن، شما قادر خواهید بود نمایشگر LCD خود را کنترل کرده و محتوا و وضعیت مورد نظر را بر روی آن نمایش دهید.

 


جمع بندی


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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱ دیدگاه

  • سلام
    ممنون بابت مطلب کامل شما
    میشه خودمون دیگه از کتابخانه استفاده نکنیم و کد ها رو خودمون بنویسیم
    چجوری میشه از کتابخانه استفاده نکرد و کد هارو خودمون بنویسیم

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