آنچه در این مقاله میخوانید :
Toggleبا یکی دیگر از مقالات مجله آموزشی خبری هادی بان الکترونیک پیش شما برگشتیم و قصد داریم راهاندازی ال سی دی های کاراکتری بهوسیله میکروکنترلر آردوینو را به شما عزیزان آموزش دهیم.
همانطور که میدانید این نوع پروژهها شامل دو بخش میشوند که بخش اول راهاندازی سختافزاری و برقراری اتصالات و بخش دوم کد نویسی و اجرای کدها خواهد بود. با ما در ادامه این مقاله همراه باشید.
سختافزارهای موردنیاز
• مدار میکروکنترلر آردوینو
• ال سی دی کاراکتری دلخواه
• پینهای اتصال برای لحیمکاری روی مدار نمایشگر (در صورت نیاز)
• پوتانسیومتر K 10 اهم
• مقاومت ۲۲۰ اهم
• برد بورد
• سیمهای جامپر
اتصالات ال سی دی کاراکتری ۱۶×۲ با حالت ۴ بیت
همانطور که اطلاع دارید استفاده از نمایشگر در پروژهها کاربردهای فراوانی دارد، ازجمله نمایش اطلاعات دریافت شده از سنسورها، ایجاد منوی تعاملی یا تبدیل به ابزاری برای دیباگ کردن دارد.
نمایشگر کاراکتری مورداستفاده ما ۱۶ پین یا پایه برای استفادههای مختلفی همچون تأمین برق موردنیاز، کنترل و ارسال و دریافت دیتا دارد و از کنترل صنعتی استاندارد هیتاچی استفاده میکند.
این نمایشگرها هم حالت ۴ بیتی موازی و هم رابط ۸ بیت موازی دارد؛ اما در این پروژه ما از رابط ۴ بیت آن بهجای ۸ بیت که معمولتر است، استفاده میکنیم.
این یعنی اول ۴ بیت بالاتر (هر ۴ بیت = ۱ نیبل) را ارسال و سپس ۴ بیت پایینتر را برای هر دستوری یا کاراکتری که لازم باشد میفرستیم. در این نمایشگر میتوان ۱۶ حرف را در هرکدام از ۲ ردیف موجود نمایش داد. جدول مشخصات پایهها را میتوانید در تصویر زیر مشاهده کنید:
نکته: ال سی دی کاراکتری مورداستفاده ما ۱۶ پایه نری را از قبل بهصورت آماده ندارد، پس باید آنها را بهصورت جداگانه روی مدار لحیم کنیم.
پایه شماره ۱ و ۲ برای تأمین برق نمایشگر استفاده شده و باید به ترتیب به گراند (GND) و +۵V منبع تغذیه متصل شوند. پین شماره ۳ برای تنظیم کنتراست (تیره و روشن بودن نور) نمایشگر کاربرد دارد و باید به پوتانسیومتر K 10 اهم متصل شود تا ولتاژ خروجی به پایه ۳ قابلتغییر باشد.
انتخاب رجیستر (RS) در پایه ۴ برای ارسال دستورات وقتیکه در حالت low باشد و ارسال دیتا در حالت high استفاده میشود. پایه ۵ خواندن/نوشتن (R/S) اطلاعات بر روی ال سی دی را بر عهده دارد.
در نظر داشته باشید که میتوان ال سی دی را طوری برنامهنویسی کرد که قابلیت خواندن اطلاعات و انتقال از طریق این پایه را داشته باشد؛ اما در این پروژه ما از حالت نوشتن آن بهطور دائم استفاده میکنیم. هشت پایه بعدی (از ۷ تا ۱۴) برای ارسال اطلاعات کاربرد دارند.
ازآنجاییکه ما در حالت ۴ بیت از ال سی دی کاراکتری استفاده میکنیم، D0 تا D3 (پایههای ۷ تا ۱۰) برای ما استفادهای ندارند.
پایههای ۱۵ و ۱۶ نیز به ترتیب آنود و کاتد بک لایت (نور پسزمینه) نمایشگر هستند. ما نیاز به یک رجیستر خارجی در حالت سری با این بک لایت داریم تا ولتاژ را کنترل کند، در غیر این صورت ال سی دی ما خواهد سوخت.
این ال سی دی دیاگرام زمانبندی دارد که باید از آن پیروی کنید تا بتوانید دستورات و اطلاعات کاراکترها را ارسال کنید.
همچنین تنظیمات و زمانبندیهای توقفی نیز وجود دارد که باید دراینبین موردتوجه قرار گیرند.
این موارد امکان میدهد تا سطح سیگنال کاهش پیدا کند و اطمینان حاصل کند که پایهها در زمان مناسب اطلاعات را دریافت میکنند.
اگر قصد ارسال دستور پاک کردن نمایشگر را دارید، اول ۰۰۰۰ (نیبل بالاتر) و سپس ۰۰۰۱ (نیبل پایینتر) را در باس دیتا ارسال کنید.
برای مثال فرض کنید که میخواهیم عدد ۱ را روی نمایشگر به تصویر بکشیم. معادل ASCII ۸ بیت آن ۰×۳۰ یا ۰۰۰۰ ۰۰۱ است، پس ما ۰۰۱۱ را در باس دیتا ارسال و سپس ۰۰۰۰ را ارسال میکنیم.
البته نیازی ندارد شما درایور موردنیاز خود برای ال سی دی تان را بسازید و میتوانید از کتابخانهای به نام LIQUID CRYSTAL.H استفاده کنید.
این کتابخانه ساده و کاربردی، به ما امکان ورود مشخصات ال سی دی مانند تعداد ستونها و ردیفها و اینکه رابط ۸ بیتی و ۴ بیتی باشد را میدهد. همچنین میتوانید دیتا را منتقل کند و تا ۱۹ دستور متفاوت را به انجام برساند.
نوشتن روی ال سی دی کاراکتری
ما از ماژولوس کنیستر (Modulus Canister) برای سوارشدن روی ال سی دی کاراکتری استفاده کردیم.
ما از ماژولوس کنیستر (Modulus Canister) برای سوارشدن روی ال سی دی کاراکتری استفاده کردیم.
نرمافزار
وقتیکه سیمکشی انجام شد، میتوانید طرح اولیه را در آردوینو بارگذاری کنید. کتابخانه liquid crystal.h حاوی ۱۹ قابلیت مختلف است که میتوانید از آنها استفاده کنید.
فهرست کردن تمامی این قابلیتها در فضای مقاله نمیگنجد، ولی برخی از مهمترین آنها lcd.print, lcd.clear, lcd.home, lcd.createChar, lcd.write, lcd.setCursor, lcd.blink, lcd.noBlink, lcd.cursor, lcd.noCursor, lcd.scrollDisplayLeft, and lcd.scrollDisplayRight هستند.
با استفاده از کتابخانه liquid lcd کاراکترهای دلخواه خود را روی نمایشگری که با درایور هیتاچی ۴۴۷۸۰ HD سازگار است، به نمایش بگذارید.
این نوع نمایشگرها معمولاً از رابط ۱۶ پایه استفاده میکنند. نمایشگرهای کاراکتری دارای رابط موازی هستند، به این معنی که میکروکنترلر میتواند از چندین پایه بهصورت همزمان برای کنترل نمایشگر استفاده کند. رابط موازی دارای پایههای زیر است:
• پایه انتخاب رجیستر: (RS) کنترل حافظه ال سی دی که روی آن دیتای شما نوشته میشود را بر عهده دارد.
• پایه خواندن/نوشتن (R/W): حالت خواندن یا نوشتن را انتخاب میکند.
• پایه فعالسازی (ENABLE): نوشتن روی رجیستر ها را فعال میکند.
• هشت پایه اطلاعات (D0 تا D7): حالت این پایهها (بالا یا پایین، صفر یا یک) همان بیتهای اطلاعاتی هستند که روی رجیستر ها نوشته میشود یا مقادیری که هنگام فعال بودن حالت خواندن، از نمایشگر خوانده میشود.
• همچنین پایه کنتراست نمایشگر (V0) و پایه تأمین برق (GND و +۵V) و بک لایت ال ای دی (BKLT+ و BKLT-) پایههایی هستند که برای تنظیم کنترل کنتراست نور ال ای دی و خاموش و روشن کردن آن کاربرد دارد.
کد نویسی
در مورد کد نویسی و نمایش حروف و اعداد روی ال سی دی کاراکتری، در مقالات دیگر مجله هادی بان الکترونیک توضیحات مفصلی دادهایم.
در ضمن میتوانید از طریق لینک زیر با آموزش نمایش حروف و اعداد روی ال سی دی های کاراکتری با استفاده از نرمافزار کدویژن آشنا شوید.
https://hadibanelectronic.com/mag/character-lcd-setup-tutorial-with-codevision-avr/
امیدواریم در این مقاله توانسته باشیم درک کاملی از نحوه راهاندازی ال سی دی کاراکتری با میکروکنترلر آردوینو را برای شما فراهم کرده باشیم.
در صورت نیاز به مشاوره یا داشتن سؤال میتوانید با کارشناسان وبسایت هادی بان الکترونیک تماس بگیرید و سؤالات خود را در مورد انجام پروژهها و قطعات موردنیازتان را از آنها بپرسید.
منبع: https://create.arduino.cc/projecthub/ejshea/interface-a-16x2-character-lcd-1c7c7e
دیدگاهتان را بنویسید