در این پست از سایت اِمیک, نحوه نمایش متن متحرک روی LCD کاراکتری با استفاده از برد اردوینو اموزش داده می شود. در این پروژه ما از برد اردوینو UNO استفاده کرده ایم. قبلا پست نمایش متن متحرک روی LCD کاراکتری با استفاده از میکروکنترلر AVR قرار داده شده بود که می توانید ان پست را در اینجا مشاهده کنید. در ادامه با نحوه انجام این پروژه بیشتر اشنا خواهید شد.
نمایش متن متحرک روی LCD کاراکتری با آردوینو :
همانطور که گفته شد ما در این پروژه از برد اردوینو یونو(UNO) به همراه LCD کاراکتری 2*16 و یک پتانسیومتر برای تنظیم کنتراست (روشنایی) ال سی دی کاراکتری استفاده کرده ایم. در صورتی که پتانسیومتر نداشتید و نخواستید استفاده کنید, حتما پایه 3 ال سی دی را به زمین متصل کنید. در زیر شماتیک این پروژه را مشاهده می کنید :
پایه های LCD را طبق شماتیک بالا به برد اردوینو UNO متصل کنید, در صورتی که با پایه های LCD کاراکتری و نحوه راه اندازی ان با اردوینو اشنا نیستید پست “راه اندازی LCD کاراکتری با آردوینو” را مطالعه کنید. در ان پست بطور کامل در مورد LCD کاراکتری و توابع راه اندازی ان با اردوینو توضیح داده شده است.
عملکرد پروژه به این صورت است که متن مورد نظر ما که در این مثال ما از متن WWW.EMIC.IR استفاده کرده ایم, در ابتدا حروف ان یکی یکی روی LCD کاراکتری نمایش داده می شوند. بعد از اینکه متن بطور کامل روی ال سی دی نوشته شد, متن شروع به جابجایی بین سطر اول و دوم LCD می کند. در مرحله بعد متن WWW.EMIC.IR از راست به چپ در سطر دوم LCD شروع به حرکت می کند و در وسط LCD متوقف می شود. و در اخر تمام عبارات نوشته شده روی LCD کاراکتری حرف به حرف پاک می شوند و دوباره این فرایند از اول شروع می شود و ادامه دارد. در انتهای مطلب می توانید کلیپ عملکرد پروژه را مشاهده کنید.
برای تغذیه برد اردوینو حتما از اداپتور استفاده کنید. در حالتی که برد اردوینو از طریق کابل USB متصل به کامپیوتر تغذیه می شود, جریان خروجی کمی دارد و ممکن است پروژه به درستی عمل نکند.
برنامه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
//////// WWW.EMIC.IR //////// #include <LiquidCrystal.h> // lcd معرفي کتابخانه // //متصل شود LCD تابع زیر مشخص می کند که کدام پین های اردوینو به// LiquidCrystal lcd(13, 12, 11, 10, 9, 8, 7); void setup() { lcd.begin(16, 2); //(LCD بررسي اتصال) LCD پيکره بندي // } void loop() { int i, a; char text[] = {'W', 'W', 'W', '.', 'E', 'M', 'I', 'C', '.', 'I', 'R'}; //درون یک ارایه برای نمایش روی ال سی دی WWW.EMIC.IR قرار دادن حروف عبارت// lcd.clear(); // LCD پاک کردن // //یکی یکی با فاصله زمانی 120 میلی ثانیه روی ال سی دی کاراکتری نمایش داده می شود WWW.EMIC.IR در زیر حروف عبارت// for (i = 0; i < 11; i++) { lcd.setCursor(i, 0); lcd.print(text[i]); delay(120); } //بین سطر اول و دوم ال سی دی می شوند WWW.EMIC.IR زیر باعث جابجایی عبارت FOR دو حلقه// for (i = 0; i < 6; i++) { for (a = 1; a >= 0; a--) { lcd.clear(); lcd.setCursor(2, a); lcd.print("WWW.EMIC.IR"); delay(150); } } //در سطر دوم ال سی دی می شود WWW.EMIC.IR زیر باعث حرکت عبارت FOR حلقه// for (i = 15; i > 1; i--) { lcd.setCursor(i, 1); lcd.print("WWW.EMIC.IR "); delay(100); } //در زیر عبارات نوشته شده روی ال سی دی کاراکتری حرف به حرف با فاصله زمانی 150 میلی ثانیه پاک می شوند// delay(1500); for (i = 12; i > 1; i--) { lcd.setCursor(i, 1); lcd.print(" "); lcd.setCursor(i, 0); lcd.print(" "); delay(150); } } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید. فقط دقت کنید که مقدار شمارنده حلقه های FOR (متغیر i) در خط های 18,33,40 برنامه با توجه به طول عبارت WWW.EMIC.IR که 11 کاراکتر می باشد, مقدار دهی شده و شما باید با توجه به طول عبارت مورد نظر خود متغیر i را در سه خط معرفی شده در بالا مقدار دهی کنید.
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…
با سلام و خسته نباشی
، ببخشید میشه توضیح درباره اتصال چند ال سی دی بهم و برنامه نویسی آن بگویید ،مثل اتصال چند دات ماتریس بهم وصل میشدن و آدرس دهی میشدن ، ال سی دی چندتا مثلا ۶ تا را میشه با اردینو بهم وصل کرد و طرز آدرس دهی آنها چیست ممنون
سلام وقتتون بخیر باشه میخواستم بپرسم که for خط 40 و خط های پایین ترش چه کاری انجام میدن؟؟؟
سلام, در برنامه توضیح داده شده که این حلقه for و دستورات درون ان برای پاک کردن عبارات نوشته شده روی ال سی دی بصورت حرف به حرف می باشند
سلام من در حوزه ادینو فعالم و عاشق سایت شما هستم چون هم سورسس کد رو قرار میدید هم اموزش و شماتیک
سایت عالی دارید ولی بابت مسعله پولی بودن بعضی از پروژه ها مقداری خوب نیست