logo-site-sefid
Search
Close this search box.
راه اندازی ال سی دی کاراکتری با استفاده از شیلد آردوینو نانو

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

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

در آموزش راه اندازی ال سی دی کاراکتری با آردوینو یاد می‌گیریم که چگونه یک LCD (نمایش کریستال مایع) ‏را به صفحه آردینو متصل کنیم. ال سی‌دی‌هایی مانند این بسیار محبوب هستند و به طور گسترده در پروژه‌های الکترونیکی مورد استفاده قرار می‌گیرند، زیرا برای نمایش اطلاعات مانند داده‌های حسگر از پروژه شما مناسب هستند، و همچنین بسیار ارزان هستند.

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

  1. شیلد آردوینو نانو
  2. برد آردوینو نانو
  3. LCD کاراکتری 2*16
  4. ماژول I2c 
  5. جامپر مادگی_مادگی 4 عدد

 

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

اتصال دهنده ال سی دی 2×16

16 عدد پین دارد و اولی از چپ به راست پین Ground است. پین دوم VCC است که ما پین ۵ ولت را به برد آردینو متصل می‌کنیم. سپس پین Vo است که می‌توانیم یک پتانسیومتر را برای کنترل کنتراست صفحه نمایش به آن وصل کنیم.
سپس، پین RS یا پین انتخاب ثبات برای انتخاب اینکه آیا دستورها یا داده‌ها را به ال سی دی ارسال خواهیم کرد یا خیر، مورد استفاده قرار می‌گیرد. برای مثال اگر پین RS بر روی حالت پایین یا صفر ولت تنظیم شده‌باشد، ما دستورها را به ال سی دی ارسال می‌کنیم مانند: مکان‌نما را بر روی یک مکان خاص تنظیم کنید، صفحه نمایش را پاک کنید، صفحه نمایش را خاموش کنید و غیره. و هنگامی که پین RS در حالت بالا یا ۵ ولت تنظیم می‌شود، ما داده‌ها یا کاراکترها را به ال سی دی می‌فرستیم. ما از این آموزش در آینده در سایر مقالات آموزش رباتیک استفاده خواهیم کرد.

01- اتصال دهنده-ال سی دی-16×2

سپس پین R / W می‌آید که حالت خواندن یا نوشتن روی ال سی دی را انتخاب می‌کند. در اینجا حالت نوشتن واضح است و برای نوشتن یا ارسال دستورها و داده‌ها به ال سی دی استفاده می‌شود. حالت خواندن توسط خود ال سی دی در هنگام اجرای برنامه استفاده می‌شود که ما نیازی به بحث در مورد آن در این آموزش نداریم.
سپس پین E است که نوشتن را به رجیسترها یا ۸ پین داده بعدی از D0 تا D7 قادر می‌سازد. بنابراین از طریق این پین‌ها ما داده‌های ۸ بیتی را هنگامی که در حال نوشتن به رجیسترها هستیم یا برای مثال اگر بخواهیم مورد آخر A را بر روی صفحه نمایش ببینیم، ۰۱۰۰۰۰۰۱ را به رجیسترها براساس جدول ASCII ارسال خواهیم کرد. دو پین آخر A و K، یا anode و cathode برای چراغ ال ای دی پشتی هستند.
بعد از همه اینها، لازم نیست زیاد نگران نحوه کار ال سی دی باشیم، چون کتابخانه کریستال مایع تقریبا از همه چیز مراقبت می کند. ما می‌توانیم از کتابخانه در حالت ۴ یا ۸ بیتی استفاده کنیم.

ماژول i2c

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

i2c lcd jolo e1666530592250
                              LCD به همراه ماژول I2C

 

i2c lcd posht
                                     ماژول I2C متصل شده با لحیم به LCD

 

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

20221023 175508
 تصویر1
20221023 175554
تصویر 2 بعد از قرارگیری آردوینو نانو بر روی شیلد

 

 

اتصالات LCD و ماژول i2c به شیلد آردوینو نانو 

همانطور که مشاهده میکنید ال سی دی به همراه I2c توسط 4 عدد جامپر به شیلد آردوینو نانو متصل میشود.

 

LCD nano pins e1666529030193

 

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

 

 

کدهای منبع ال سی دی و آردوینو

اولین کاری که باید برای راه اندازی ال سی دی کاراکتری با آردوینو انجام دهیم قرار دادن کتابخانه کریستال مایع است. ما می‌توانیم این کار را انجام دهیم اما از آنجا که ما از ماژول I2C استفاده میکنیم کتابخانه ی کریستال مایع با رابط I2C را دانلود میکنیم LiquidCrystal_I2C.h همچنین نیاز به کتابخامه ی Wire.hنیز داریم.
در این حلقه ما برنامه اصلی خود را می‌نویسیم. ما با استفاده از تابع (‏)print‏ بر روی ال سی دی چاپ می‌کنیم. تابع (‏)setCursor ‏ برای تنظیم مکانی که در آن متن بعدی نوشته شده به ال سی دی نمایش داده خواهد شد، استفاده می‌شود. تابع (‏)‏blink برای نمایش یک مکان‌نمای چشمک‌زن و تابع (‏) noblink‏ برای خاموش‌کردن استفاده می‌شود.
تابع (‏)cursor‏ برای نمایش مکان‌نمای خط کشیدن زیر متن و تابع (‏)‏noCursor برای خاموش‌کردن استفاده می‌شود. با استفاده از تابع (‏)‏clear می‌توانیم صفحه نمایش ال سی دی را پاک کنیم.

این کد منبع اولین مثال است:

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

اما در این قسمت ما برای شما دو نوع کد را قرار داده ایم. توجه کنید که برای استفاده ی کد اول باید در قسمت” ()void loop “تمامی خط ها را با قراردادن ” */ ” در شروع بلوک (“پاراگراف _ دستورها”) و ” /* ” در پایان آنها از اجرا شدن این دستورها جلوگیری میکنیم یا به اصطلاح آنها را کامنت میکنیم. همچنین میتوانیم در ابتدای هر خط (تمامی خوطی که باید غیر فعال شوند) ” // ” قرار دهیم.

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


LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display


void setup()
{
lcd.init();
Serial.begin(9600);             
lcd.backlight(); //open the backlight
lcd.print("Hello world");
}

void loop()
{
/*lcd.clear();
lcd.print("tnx for watching");
lcd.setCursor(0,1);
lcd.print("Chalik tutorial");
delay(3000);
lcd.clear();
delay(1000);*/
}

کد دوم :

در واقع تمامی دستوراتی که در void loop نوشته شده هستند کد های ما برای استفاده ی کد دوم هستند. اما برای استفاده از آنها ابتدا باید دستور lcd.print(“Hello world”) را در قسمت void setup کامنت کرد یا به عبارتی مانع از انجام آن میشویم. این کار با استفاده از قرار دادن // در ابتدای این دستور انجام میدهیم مانند کد زیر:

//lcd.print("Hello world");

بعد از اینکه در قسمت void setup دستور را کامنت(comment) کردیم نوبت به آنکامنت(uncomment) کردن دستورهای قسمت void loop میرسد. گفتیم که عبارات طولانی را با */ در اول عبارت و /* در آخر آن کامنت میکنیم، حال با حذف این دو(/* و */) تمامی دستورات در قسمت void loop اجرا میشوند:

void loop()
{
lcd.clear();
lcd.print("tnx for watching");
lcd.setCursor(0,1);
lcd.print("Chalik tutorial");
delay(3000);
lcd.clear();
delay(1000);
}

 

 

لطفا در زیر بخش نظرات هر سؤالی دارید بپرسید.

رضا قنبری
متخصص آموزش رباتیک

رضا قنبری هستم متخصص آموزش رباتیک با بیش از 10 سال سابقه فعالیت در ایران

این مطلب را به اشتراک بگذارید

شیلد SIM900 GSM/GPRS

تعريف شیلد SIM900 GSM/GPRS قبل از خواندن مقاله شیلد SIM900 GSM/GPRS بهتر است در نظر داشته باشید مقالاتی که با عنوان ماژول در سایت قرار

دسته بندی نشده

موتور براشلس

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

ماژول OV7670

ماژول OV7670 قبل از خواندن مقاله ماژول OV7670 بهتر است در نظر داشته باشید مقالاتی که با عنوان ماژول در سایت قرار گرفته اند از

دیدگاه‌ خود را بنویسید

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