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

مقدمه:

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

LCD کاراکتری که ما میخوایم توی این جلسه استفاده کنیم 16 در 2 هست یعنی دو ردیف داره و توی هر ردیف میتونه 16 کاراکتر رو نشون بده و یه Led بک لایت داره که باعث میشه نور پشت صفحه LCD روشن بشه. شما به ازای هر کاراکتر روی LCD میتونید یه مستطیل ببینید( وقتی نور صفحه نمایش رو کم و زیاد میکنید این مستطیل ها قابل مشاهده هستند).
همونطور که از اسم این LCD هم پیداست این LCD فقط برای نمایش متن به کار میره و شما نمیتونید روش یه عکس ببینید یا کارایی از این دست انجام بدید.

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

 

اول عکس زیر رو ببینید تا بفهمید کلا چه خبره. بعد در مورد تک تک  این سیم ها توضیحات لازم رو میدیم.

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

 

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

برای اتصال یه LCD کاراکتری به آردوینو به 6 تا پین دیجیتال نیاز هست که باید همشون هم به صورت خروجی تعریف بشن. در جدول زیر شماره پایه های متصل رو میتونید ببینید:

نام پین مربوط به LCD

 شماره پایه مربوط به LCD  شماره پایه متصل شده به پین آردوینو
RS 4 7
E 6 8
D4 11 9
D5 12 10
D6 13 11
D7 14 12

 

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

 

سیم های تغذیه LCD کاراکتری

برای روشن شدن خود LCD باید پایه شماره 1 رو به زمین و پایه شماره 2 رو به VCC وصل کنید. همچنین برای روشن شدن LCD بک لایت هم باید پایه شماره 15 رو VCC و پایه شماره 16 رو به زمین وصل کنید.

 

سیم های مخصوص پتانسیومتر

 

برای تنظیم نور صفحه LCD باید یه پتانسیومتر وصل کنیم به LCD . این پتانسیومتر سه تا پایه داره. یه پایه اش که اول یا سومش( از هر طرفی که بخونید) یکیش باید وصل بشه به VCC و اون یکی هم باید وصل بشه به زمین. میمونه پایه وسط که اصل کاری هست. پایه وسط هم شما حتما باید وصل کنید به پایه شماره 3 LCD کاراکتری (توی شکل بالا میشه اون سیم زرد رنگه که از اینور LCD به اونورش وصل)

یه چیزی که خیلی وقتا این وسط گیج کننده است اینه که یه سری سیم ها رو وصل میکنیم بعد شماره پایه ها یادمون میره. مثلا نمیدونیم الان تا پایه چند رو وصل کردیم. پایه آخر از lcd کاراکتری که بهش سیم وصل کردیم پایه 9 بود یا پایه 10. برای حل این مشکل میتونید یه کار کنید. lcd رو از شروع ستون اول روی بردبرد بچسبونید و برای شمارشش دیگه اونقدر دردسر نمیکشید. حالا اگه این وسط بردبرد شما ستون هاش هم شماره داشت که چه بهتر، دیگه همه چی حل میشه.

نکته:
اگه LCD خودتون رو اولین بار از یه جایی میخرید احتمال پین هدری بهش لحیم نشده. برای قرار گرفتن LCD روی بردبرد حتما باید پین هدر بهش لحیم کنید.

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

 

کد راه اندازی LCD کاراکتری با آردوینو:

 

خود نرم افزار arduino پیش فرض یه نمونه برنامه از راه اندازی lcd کاراکتری با آردوینو داره که میتونید از مسیر زیر به اون دسترسی پیدا کنید:

مسیر:  File >> Example>>Liquid Crystal >> Hello world

 

توضیح خط به خط کد

 

include <liquidCrystal.h>

این خط برای اضافه کردن کتابخونه مربوط به lcd کاراکتری هست.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

از این خط برای تعریف پایه هایی از آردوینو که به lcd کاراکتری متصل میشن استفاده میشه. طبق این خط پایه های 12 و 11 و 5 و 4 و 3 و 2 از آردوینو به lcd کاراکتری وصل میشن.

تذکر: ما شماره این پایه ها رو دوست نداریم و میخوایم خودمون عوضش کنیم به خاطر همین از شماره دستور زیر استفاده میکنیم:

LiquidCrystal lcd(7 , 8 , 9 , 10

, 11 ,12);

یعنی الان طبق دستور جدید پایه های 7 و 8 و 9 و 10 و 11 و 12 به lcd کاراکتری وصل میشن.

lcd.begin(16, 2);

این دستور میگه که LCD که ما به آردوینو وصل کردیم یه LCD 16*2  هست.

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

با استفاده از این دستور عبارت hello , world روی LCD کاراکتری نمایش داده میشه. طبیعی هست که اگه بخوایم متن دیگه ای رو نمایش بده باید به جای hello ,world متن مورد نظر خودمون رو بنویسیم.

lcd.setCursor(0, 1);

با این دستور LCD میره به ردیف اول و سطر دوم و شروع میکنه به نوشتن داده ها.

 

نکته:
چون برای شمردن تعداد سطرها و ستون ها از عدد 0 شروع کرده برای نمایش روی ردیف اول باید عدد 0 و برای نمایش روی سطر دوم از عدد 1 استفاده کنیم. در صورتی که میخواید سطر دیگه ای رو برای نمایش انتخاب کنید میتونید این شماره ها رو تغییر بدید.

lcd.print(millis() / 1000);

این دستور میاد و تعداد لحظات سپری شده از موقعی که میکرو ریست شده رو روی LCD کاراکتری نمایش میده.

در نهایت این کد رو روی برد arduino بریزید و نتیجه نهایی کار شما باید یه چیزی بشه شبیه به این شکل:

نمایش متن روی LCD کاراکتری  با arduino

دوستان برای این جلسه فک میکنم کافی ایشالا. ایشالا سعی میکنیم یه جلسه دیگه هم بذاریم و تمامی دستورات LCD کاراکتری رو توی آردوینو به طور کامل بررسی کنیم. مثل همیشه اگه دوست دارید از ما مطلع بشید و مطالب جدید رو بدونید کی منتشر میشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید:

شاید دوست داشته باشید مطالب زیر را نیز بخوانید:

23 نظر

  • مصطفی محمدی

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

    • حامد قاسمی

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

  • مصطفی محمدی

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

    یعنی ال سی دی سوخته؟

    • حامد قاسمی

      با سلام.
      لطفا کد رو هم آن چیزی که در جلسه مربوط به LCD آورده شده است قرار دهید.
      از شکل هایی که فرستادید ، احتمال میرود مشکل از سوختن LCD باشد.
      موفق باشید.

  • مصطفی محمدی

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

    من آقای قاسمی 11 تا عکس گرفتم لطفا هر جور هست مشکلم رو حل کنید تشکر

    • حامد قاسمی

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

    • حامد قاسمی

      با سلام.در کامنت های قبلی پاسخ داده شد.

  • مصطفی محمدی

    سلام خسته نباشید من با آردوینو UNO و LCD هر کاری کردم نتونستم ال سی دی ام رو راه اندازی کنم هم پایه هارو درست وصل کردم هم برنامه نویسی اش رو چک کردم ولی متاسفانه نشد لطفا راهنمایی کنید تشکر

    • حامد قاسمی

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

  • غلامرضا عسگری

    سلام و احترام:
    از شما بخاطر زحمات بی دریغ تان تشکر می کنم… تبریک می گویم سایت خوب و کارآمدی دارید. پیروز و موفق باشید…

    • حامد قاسمی

      با سلام. سپاس از لطف و محبت شما.

  • محمدرضا

    با سلام و احترام
    در چه صورت ممکنه lcd بسوزه

    • حامد قاسمی

      با سلام. به دلایل مختلفی ممکنه یک LED بسوزه. شاید مهمترین دلیلش ، بر عکس زدن VCC و GND بود. ولی به کیفیت LCD هم بستگی داره.
      برای مطمین شدن از سوختن یک LCD ، یک LCD دیگر رو جایگزین کنید و ببینید که آیا کار میکنه یا نه.
      پیروز باشید.

  • بهنام

    سلام . اگه اشتباها پایه شماره 3 سال ال ای دی رو به 5 ول وصل کنیم چی میشه ایا ال سی دی مشکل پیدا میکنه

    • حامد قاسمی

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

  • داریوش ملایری

    با عرض سلام و خسته نباشید

    من از ال سی دی 4*20 و برد راه اندازی PCF8574 استفاده کردم. اما هنوز نتونستم ال سی دی مو راه اندازی بکنم.

    بیزحمت راهنمایی بفرمایید.

    • حامد قاسمی

      با سلام خدمت شما. متاسفانه بنده در حال حاضر این نوع LCD رو در اختیار ندارم که اون رو ببندم و تست کنم. ولی شما یک عکس واضح ( تاکید میکنم واضح) از مدار خودتون بگیرید و لینک کدی رو هم که استفاده میکنید بفرستید تا با هم دیگه گام به گام پیش بریم و مشکل رو حل کنیم.
      منتظر کامنت شما هستم.
      موفق باشید.

  • mohammad

    سلام
    نیشه پایه 3 رو یعنی VEE رو به جا پتانسیومتر به یه مقاومت ساده مثلا 8K اهم وصل کرد ؟

    لطفا سریع  جواب بدین
    ممنون

    • حامد قاسمی

      با سلام.
      پایه 3 برای تنظیم نور پس زمینه LCD هست و اگه میبینید که نور پس زمینه شما با یک مقاومت 8 کیلو برای شما مناسب هست از این بابت مشکلی وجود نداره.
      موفق باشید.

  • داود علی محمدی

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

    • حامد قاسمی

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

    • mohammad

      باید داده های فشلر اب رو بریزی روی یه متغیر و بعد متغیر رو نمایش بدی

  • نوشتن نظر

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

    اضافه کردن تصویر ( فقط فرمت jpg)