در این آموزش، مروری بر مراحل اتصال یک LCD 16*2 ساده به آردوینو خواهیم داشت.
کارهای زیادی هست که میتوان با یک LCD (نمایشگر کریستال مایع) انجام داد، این نمایشگر یک دستگاه کوچک مفید برای یادگیری و برقراری ارتباط میباشد.
میدانید که اکثر بوردهای LCD بدون پین هدر عرضه میشوند و بنابراین نیاز به لحیم کاری دارند. اگر پین هدر دارید، انجام این کار چندان دشوار نخواهد بود. ممکن است نخواهید عمل لحیم کاری را انجام دهید اما در آن صورت برقرای یک اتصال خوب با بورد برایتان فوقالعاده دشوار خواهد بود.
پتانسیومتر موجود در این مدار برای کنترل روشنایی صفحه به کار میرود. اگر هیچ چیزی نمایش داده نمیشود و یا به خوبی نمایش داده نمیشود، پتانسیومتر را بالا پایین کنید.
در انتهای این آموزش، چند ایده برای پروژههایی که میتوانید با LCD 16*2 و آردوینو انجام دهید را مرور خواهیم کرد. لطفا با قرار دادن کامنت،از اشتراک گذاری ایدههایتان با ما دریغ نکنید.
تجهیزات
تجهیزاتی که به کار بردهایم در جدول زیر لیست شده است.
آردوینو Uno |
بورد LCD 16*2 |
پین هدر 16x اگر LCD پین ندارد |
برد بورد |
سیم بردبوردی |
پتانسیومتر ۱۰ کیلواهم |
اگر میخواهید ببینید چگونه کل این پروژه به انجام رسیده، حتما ویدئوی زیر را مشاهده کنید. این ویدئو همه مراحل این آموزش را مرور کرده تا از اتصال صحیح LCD به آردینو مطمئن گردد.
اگر آموزشهای متنی را ترجیح میدهید، با ما همراه باشید.
لحیم کاری پینهای بورد LCD
مدار نمایشگر کریستال مایع آردوینو به طور شگفتآوری آسان است. در ادامه متوجه خواهید شد که تنها مورد سخت آن، تعداد سیمهایی است که باید متصل گردد. باید پین هدرها را روی نمایشگر LCD لحیم کنید. این فرآیند بسیار ساده است.
- پین هدرها را به گونهای قرار دهید که سمت کوتاهتر آن وارد سوراخهای بورد LCD شود.
- حال پینها را به ترتیب لحیم کنید و مراقب باشید که هیچ دوتایی از آنها به صورت تصادفی به هم متصل نشوند. اگر دو تا را به هم متصل کردید، لحیم را ذوب کرده و با استفاده از لحیم کش آن را بکشید.
- حال بورد شما آماده استفاده است.
مدار آردوینو LCD
مراحل اتصال نمایشگر در زیر آمده است. دیاگرام کامل مدار در زیر این مراحل آمده است.
- ابتدا پین ۵ ولت از آردوینو را به خط ۵ ولت روی بردبورد وصل کنید.
- پین زمین را به ریل زمین بردبورد وصل کنید.
- پتانسیومتر را به بردبورد وصل کرده و پین مثبت را به ریل مثبت وصل کنید. همچنین، پین زمین را به ریل زمین وصل کنید.
- سیمهای زیر را به نمایشگر LCD وصل کنید. پین ۱ نزدیکترین پین به گوشه بورد است.
- ریل زمین به پین ۱، پین۵ پین 16 LCD
- ریل ۵ ولت مثبت به پین ۲ و پین 15 LCD
- سیم میانی پتانسیومتر را به پین 3 LCD وصل کنید.
5. پینهای دیجیتالی زیر از آردوینو را به پینهای LCD وصل کنید.
- آردوینو به LCD
- پین ۱۲ به پین ۴
- پین ۱۱ به پین ۶
- پین ۵ به پین ۱۱
- پین ۴ به ۱۲
- پین ۳ به پین ۱۳
- پین ۲ به ۱۴
این تمامکاری بود که باید انجام دهید. اگر مشکلی داشتید، به دیاگرام زیر رجوع کنید.
کد ارتباط با نمایشگر
ممکن است تصور کنید که کد ارتباط با نمایشگر دشوار است، اما خوشبختانه به لطف کتابخانه Limor Fired، که در مجموعه کتاخانههای اصلی آردوینو موجود است، اینطور نیست.
میدانید که چندین کد نمونه درون نرم افزار آردوینو وجود دارد. برای پیدا کردن آنها به File-> Examples-> LiquidCrystal مراجعه کنید.
در اینجا رنج متنوعی از مثالها را مشاهده میکنید که از متدهای مشخصی از کتابخانه کریستال مایع استفاده میکنند.
برای شروع، پیشنهاد میکنیم نگاهی به مثال hello world بیندازید. کد این مثال در زیر آمده است.
// include the library code: #include <LiquidCrystal.h> //initialise the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis() / 1000); }
راه اندازی LCD
در کد زیر، باید یک متغیر از نوع LiquidCrystal ایجاد کنید. همانطور که در زیر میبینید.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
اعدادی که به عنوان پارامتر ارسال میشوند بیان کننده شماره پینهای آردوینو هستند که به پین روی بورد نمایشگر وصل میشوند. در زیر مثالی از تابع را مجددا میبینید، اما این بار شامل پینهای روی LCD میباشد.
LiquidCrystal(rs, enable, d4, d5, d6, d7)
دیتاشیت بورد LCD شما حاوی شماره پینها و نوعشان میباشد. به عنوان مثال، در زیر دیتاشیت بورد ما آورده شده است. (DB4=D، E=enable و …)
تابع بالا قابلیت گسترش برای خواندن مجموعاً ۸ خط داده را دارد.
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
Lcd.begin درون تابع setup در کد بالا، برای مقداردهی اولیه اینترفیس LCD به کار میرود. این همان جایی است که باید تعداد سطر و ستونهایی که روی نمایشگر وجود دارد را مشخص کنید.
برای مثال، نمایشگر ما داری ۱۶ ستون و ۲ سطر است. این یعنی باید آن را با ۱۶ به عنوان اولین پارامتر و ۲ به عنوان دومین پارامتر راه اندازی کنیم. Lcd.begin(cols, rows)
متدهای پایه LCD
اگر هر زمان نیاز به پاک کردن نمایشگر داشتید، متد ()lcd.clear را فراخوانی کنید. این متد صفحه نمایش را پاک میکند تا برای مقادیر جدید آماده باشد. مطمئن شوید که پیش از آن یک تاخیر قرار دهید، تا قادر به دیدن چیزها روی صفحه باشید.
اگر به جای پاک کردن صفحه نمایش، قصد دارید که مکاننما را به home منتقل کنید، از متد ()lcd.home استفاده کنید. این متد مکاننما را به موقعیت ۱ جابهجا میکند.
اگر میخواهید که یک رشته را روی نمایشگر LCD چاپ کنید، از متد print استفاده کنید. کافی است به سادگی عبارت lcd.print(“My String”) را تایپ کنید.
آخرین متد پایهای که بیان میکنیم write است. این متد برای نوشتن کارکتر روی صفحه نمایش استفاده میشود. درست همانند print به این صورت آن را فراخوانی کنید، ldc.write(‘I’).
توابع بیشتر
در زیر تقریباً تمام توابعی که قادر به صدا کردن آنها برای نمایشگر LCD آردوینویی هستید لیست شده است. اگر اطلاعات بیشتری در مورد توابع نیاز دارید، میتوانید به داکیومنتهای وبسایت رسمی آردوینو مراجعه کنید.
Auto-scroll: متن را به راست و چپ شیفت میدهد.
;()autoscroll: این متد هنگام اضافه شدن یک کارکتر جدید، متن را به اندازه یک فاصله به سمت چپ میبرد.
;()noAutoscroll: حرکت خودکار (auto scrolling) را خاموش میکند.
Cursor: این متدها امکان خاموش و یا روشن کردن مکاننمای زیر خط دار را فراهم میکند.
;()noCursor: مکاننمای زیر خط دار را خاموش میکند.
;()Cursor: مکاننمای زیر خط دار را روشن میکند.
Blink: این متدها چشمکزنی مکاننما را خاموش و یا روشن میکنند.
;()noBlind: مکاننمای چشمکزن را خاموش میکند.
;()Blind: مکاننمای چشمکزن را روشن میکند.
Display: نمایشگر را بدون از دست رفتن متن فعلی خاموش میکند.
;()noDisplay: نمایشگر را خاموش میکند.
;()display: نمایشگر را روشن میکند.
Scroll: امکان حرکت متن هم به راست و هم به چپ را فراهم میکند.
;()scrollDisplayLeft: یک مکان به چپ حرکت میکند.
;()scrollDisplayRight: یک مکان به راست حرکت میکند.
SerialDisplay: میتوان بورد را به گونهای تنظیم کرد که ورودی سریال را از چیزی شبیه serial monitor دریافت کند. میتوان متن را با ارسال آن از طریق پورت سریال، روی نمایشگر چاپ کرد.
;(()write(Serial.read
Set Cursor: مکان مکاننما را ست میکند. (مکان، خط)
;(setCursor(0,0: مکاننما را به سمت چپ بالا ست میکند.
Text Direction: اجازه میدهد تا نحوهای که متن در مکاننما جاری میشود را مشخص کنیم.
;()righToLeft: متن را در سمت چپ مکاننما جاری میکند.
;()leftToRight: متن را در سمت راست مکاننما جاری میکند.
یک اسکریپت تدارک دیدهایم تا مثالی از هر کدام از متدهای بالا را در اختیار شما قرار دهیم. مشاهده خواهید کرد که set cursor و serial display فعلا رها شدهاند. اگر میخواهید این اسکریپت را اجرا کنید، میتوانید آن را در صفحه پروژه نمایشگر LCD گیتهاب دانلود کنید.
در زیر، مثالی از اسکریپت در حال اجرا نمایش داده شده است.
فعالیتهای بیشتر
کارهای فراوانی وجود دارد که میتوان با صفحه LCD انجام داد. در ادامه نگاهی به برخی از ایدههایی که گمان میکنم در آینده راجع به آنها صحبت خواهیم کرد میاندازیم. اگر هر ایدهای دارید، در به اشتراک گذاشتن آنها با ما از طریق کامنت دریغ نورزید.
یکی از کارهایی که میتوانید انجام دهید افزودن یک سنسور دما به این پروژه LCD میباشد. از این نمایشگر دیجیتال دما میتوانید برای تنگ ماهی، فریزر، اتاق، بیرون و یا هر جایی که دوس دارید دمای آن را بدانید استفاده کنید.
اگر قصد ایجاد یک ساعت آردوینویی دارید احتمالا دوست داشته باشید که از یکی از اینها استفاده کنید. در کنار سنسور دما و یک دکمه، میتوان یک ساعت هوشمندی طراحی کرد که با فشردن دکمه دما حاصل میشود. گام بعدی میتواند اضافه کردن یک اسپیکر به عنوان آلارم ساعت باشد.
پیش از این یک مدار تاس آردوینویی را بررسی کردیم، اینبار به جای استفاده از LEDها میتوان از نمایشگر LCD برای نمایش خروجی تاس پرتاب شده استفاده کرد. کافی است کلید را نگه داشته و بقیه را با صفحه نمایش جایگزین کنید.
کارهای فراوانی برای انجام دادن با یک LCD وجود دارد. در انتها امیدواریم نمایشگر LCD آردوینویی که متصل کردهاید به درستی کار کند. اگر هر گونه مشکل یا بازخوردی داشتید، لطفاً از طریق کامنت با ما در ارتباط باشید.
- منبع: ترجمه از سایت pimylifeup.com
- منبع: عکس شاخص از سایت makerguides.com
امیدوارم آموزش «اتصال LCD (نمایشگر کریستال مایع) ۱۶*۲ به آردوینو» براتون مفید واقع شده باشه. توصیه میکنم آموزشهای آردوینو و پروژههای آردوینو را هم مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.