در این مطلب نحوه راه اندازی ال سی دی کاراکتری با برد آردوینو را توضیح میدهیم. در این آموزش از برد آردوینو برای کنترل LCD کاراکتری 16 در 2 استفاده میشود.
مدار اتصال ال سی دی کاراکتری به آردوینو
نحوه اتصال LCD کاراکتری 16*2 به برد آردوینو در تصویر زیر نشان داده شده است.
- پایه RS به پایه 2 آردوینو متصل میشود.
- پایه EN به پایه 3 آردوینو متصل میشود.
- پین D4 تا D7 ال سی دی به ترتیب به پایه 4 تا 7 آردوینو متصل میشوند.
- پایه RW ال سی دی به GND متصل میشود تا ال سی دی در حالت نوشتن (Write) قرار بگیرد.
- پایه V0 ال سی دی نیز به GND متصل میشود تا کنتراست تنظیم شود. اگر کنتراست مناسب نبود میتوانید یک پتانسیومتر به پایه V0 ال سی دی متصل کنید تا بتوانید به راحتی کنتراست را تنظیم کنید.
- پایه A و K ال سی دی نیز به 5V و GND متصل میشوند تا نور پس زمینه LCD را فعال کنند.
برنامه نویسی کنترل LCD با آردوینو
برای کنترل ال سی دی کاراکتری قبل از ورود به توابع setup و loop باید کتابخانه liquidcrystal را فراخوانی کنیم و سپس چند پین را تعریف کنیم. کتابخانه liquidcrystal به صورت پیشفرض در نرم افزار آردوینو موجود است.
#include <LiquidCrystal.h> // کتابخانه ال سی دی int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; // قرار دادن پین ها در متغیر LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // پیکربندی ال سی دی
سپس در void setup باید نوع ال سی دی را تعیین کنیم و سپس راه اندازی آن آغاز میشود. در این آموزش ما از ال سی دی کاراکتری 16 در 2 استفاده میکنیم بنابراین باید ردیف را 2 و ستون را 16 وارد کنیم.
void setup() { lcd.begin(16, 2); }
حالا به void loop میرسیم. کدی که در این بخش قرار میگیرد پی در پی تکرار میشود. ما میخواهیم در ردیف اول عبارت arduinoo.ir و در ستون پنج ردیف دوم کلمه IRAN را نمایش بدهیم.
void loop() { lcd.setCursor(0,0); // قرار دادن نشانگر در سطر اول و ردیف اول lcd.print("arduinoo.ir"); // نمایش عبارت lcd.setCursor(5,1); // قرار دادن نشانگر در سطر دوم و ردیف پنجم lcd.print("IRAN"); // نمایش عبارت delay(1000); // تاخیر 1 ثانیه ای lcd.clear(); // دستور پاک کردن ال سی دی }
lcd.setCursor
تعیین میکند نوشتن عبارت از کجا آغاز شود.lcd.print
برای تعیین متن استفاده میشود.lcd.clear
برای پاکسازی ال سی دی استفاده میشود.
کد کامل:
#include <LiquidCrystal.h> int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { lcd.begin(16, 2); } void loop() { lcd.setCursor(0,0); lcd.print("arduinoo.ir"); lcd.print(adad); lcd.setCursor(5,1); lcd.print("IRAN"); delay(1000); lcd.clear(); }