آموزش آردوینوآموزش الکترونیک

آموزش جامع اتصال LCD کاراکتری به برد آردوینو و ایجاد متن متحرک(آموزش آردوینو #6)

سلام. آموزش جامع اتصال LCD کاراکتری به برد آردوینو (ایجاد متن متحرک در ال سی دی) را آماده کردیم.

آموزش اتصال ال سی دی کاراکتری به برد Arduino Uno

برای برقراری ارتباط بین انسان و دنیای ماشین ها ، نمایشگر ها نقش مهمی را ایفا میکنند. نمایشگر های بزرگ یا کوچک یا … با یک اصل کار میکنند. نمایشگر ال سی دی کاراکتری 16*1 دارای یک ردیف با 16 ستون است که میتوان در هر ستون آن یک کاراکتر قرار داد. ما در پروژه های آردوینو اغلب از ال سی دی کاراکتری 16*2 استفاده میکنیم که به ما اجازه نوشتن 32 کاراکتری را میدهد. هر کاراکتر 5*10=50 پیکسل دارد.

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

قسمت قبل : آموزش کامل کنترل سرعت موتور DC با Arduino و پتانسیومتر (آموزش آردوینو #5)

در این آموزش آردوینو میخواهیم یک ال سی دی کاراکتری 16*2 را به آردوینو Uno متصل کنیم. برخلاف میکروکنترلر ها و برد های دیگر ، اتصال برد Arduino به LCD کاراکتری بسیار ساده است. در برد های آردوینو نیازی نیست که نگران ارسال و دریافت اطلاعات باشیم. ما فقط باید پین های LCD را تغریف کنیم و بقیه کار ها توسط Arduino انجام میشود.

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

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

قطعات مورد نیاز برای این آموزش Arduino

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

  1. برد آردوینو Uno
  2. منبع تغذیه 5 ولت
  3. ال سی دی کاراکتری 16*2
  4. خازن 100uf

توضیحات مدار اتصال LCD به آردوینو

در صورت وجود بک لایت، در ال سی دی کاراکتری 16*2 ، 16 پین وجود دارد. و در صورت عدم وجود بک لایک 14 پین وجود خواهد داشت. در این پین ها ، 8 پین داده هستند که با D0 تا D7 مشخص میشوند. 2 پین برای تغذیه هستند که با GND , +5 یا VDD , VSS و یا 1 , 2 مشخص میشوند. پین 3 برای کنترل کنتراست است. همچنین 3 پین RS , RW و E برای کنترل هستند.

توضیحات مدار اتصال LCD به آردوینو

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.

به تصویر مدار دقت کنید. ما فقط 2 پین را برای کنترل در نظر گرفته ایم زیرا پین کنتراست و RW اغلب استفاده نمیشوند. بنابراین میتوان آن ها را به GND متصل کرد.ما فقط باید پین E , RS را کنترل کنیم تا کاراکتر ها و داده ها را براساس آن ارسال کنیم.

اتصالاتی که برای LCD انجام می شود در زیر آمده است:

  • PIN1 یا VSS به زمین GND متصل میشود.
  • PIN2 یا VDD یا VCC به +5 ولت متصل میشود.
  • PIN3 یا VEE به GND متصل میشود.
  • PIN4 یا RS به PIN0 آردوینو UNO متصل میشود.
  • PIN5 یا RW به GND متصل میشود.
  • PIN6 یا E  به PIN1 آردوینو UNO متصل میشود.
  • PIN11 یا D4 به PIN8 آردوینو UNO
  • PIN12 یا D5 به PIN9 آردوینو UNO
  • PIN13 یا D6 به PIN10 آردوینو UNO
  • PIN14 یا D7 به PIN11 آردوینو UNO

نرم افزار Arduino به کاربر اجازه میدهد تا از LCD در حالت 4 بیتی استفاده کند. این نوع ارتباطات کاربر را قادر میسازد که استفاده از پین های روی برد آردوینو را کاهش دهد. به طور پیشفرض آردوینو تنظیم شده است تا در حالت 4 بیتی ارتباط برقرار کند.

پس با توجه به مطالب بالا نتیجه میگیریم که ما 6 پین ال سی دی کاراکتری را به میکروکنترلر متصل میکنیم. در این 6 پین ، 4 پین دیتا و 2 پین کنترل هستند.

توضیحات کد آردوینو اتصال LCD 16*2

در ابتدای کد ما کتابخانه LiquidCrystal.h را فراخوانی میکنیم. این کتابخانه اعمال مربوط به ال سی دی کاراکتری را برای ما انجام میدهد. در خط بعدی کد ما پین های ال سی دی کاراکتری را معرفی میکنیم.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
#include <LiquidCrystal.h>
LiquidCrystal lcd(0, 1, 8, 9, 10, 11); 
//ENABLE PIN,D4 PIN,D5 PIN, D6 PIN, D7 PIN

سپس به تابع Void Setup میرسیم. در این تابع کار سختی نداریم و فقط باید تعداد ردیف ها و ستون های LCD را معرفی کنیم.

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

آموزش نمایش و ایجاد متن متحرک در ال سی دی کاراکتری

حالا میرسیم به قسمت اصلی آموزش ، یعنی نمایش متن ثابت و حرکت دادن آن. همه این کارها را در تابع void loop اعمال میکنیم. توضیحات خط به خط کد را در باکس زیر بخوانید. میتوانید متن ها را تغییر بدهید یا متن های دیگری اضافه کنید.

void loop()
{
lcd.print("Irenx");//نمایش نام Irenx
lcd.setCursor(0, 1); // نمایش متن در ستون دوم
lcd.print("www.irenx.ir");//نمایش www.irenx.ir
delay(750);//به مدت 750 میلی ثانیه
lcd.scrollDisplayLeft();// دستور شیفت (متحرک) شدن متن روی نمایشگر 
lcd.setCursor(0, 0);// تنظیم مکان متن
} 

در صورت حذف کد زیر ، افکت متن متحرک حذف میشود و متن به صورت ثابت نمایش داده میشود.

lcd.scrollDisplayLeft();// دستور شیفت (متحرک) شدن متن روی نمایشگر 

کد کامل پروژه

#include <LiquidCrystal.h>
LiquidCrystal lcd(0, 1, 8, 9, 10, 11);
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
lcd.print("irenx");
lcd.setCursor(0, 1);
lcd.print("www.irenx.ir");
delay(750);
lcd.scrollDisplayLeft();
lcd.setCursor(0, 0);
}

در قسمت بعدی نحوه اتصال سون سگمنت به برد های آردوینو را آموزش میدهیم.

قسمت بعد : 

پایان.

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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