LCD کاراکتری و کار با آن از طریق آردوینو

0

چگونگی راه‌اندازی LCD کاراکتری برای نمایش خروجی آردوینو 

آشنایی با LCD کاراکتری

صفحه نمایشگر LCD کاراکتری خروجی  آردوینو را نمایش می‌دهد، از این‌رو نیازی به اتصال آردوینو به نمایشگر کامپیوتر یا لپ‌تاپ نیست. یک LCD کاراکتری  4×16 با یک کنترلر HD44780 می‌تواند چهار ردیف شامل 16 کاراکتر را در هر ردیف نمایش دهد، هر کاراکتر توسط یک آرایه 8×5 پیکسلی تعریف می‌شود. LCDها اندازه‌های متفاوتی همانند 4×16، 2×16، 2×20 و 4×20 دارند. یک LCD کاراکتری  16 دارای 16 پایه است، اگر از پایین به صفحه نمایشگر نگاه کنید این پایه‌ها از چپ به راست 1 تا 16 شماره‌گذاری ‌‌‍‍‍‍‍‍‍‍‍شده‌اند. برخی LCDها بلک لایت ندارند، بنابراین پایه‌های 15 و 16 متصل نمی‌شوند. کنتراست صفحه نمایش LCD با یک پتانسیومتر 10 کیلواهمی کنترل می‌شود. جزییات عملکرد پایه‌های LCD در جدول.1 بیان شده‌اند. 

جدول 1. توضیح پایه‌های LCD کاراکتری

آردوینو

توضیح

پایه

GND

زمین

 VSS   1

5V

منبع تغذیه 5V

2  VDD

پایه سیگنال پتانسیومتر

تنظیم کنتراست LCD

3     V0

پایه 2

انتخاب رجیستر: رجیستر داده یا دستور برای کنترلر LCD

4     RS

GND برای نوشتن بر روی LCD

مد خواندن/ نوشتن

5   RW

پایه 3

فعال‌ساز انتقال داده

6      E

بدون اتصال

 

7-10  D0-D3

پایه 4-7

بدون اتصال

11-14 D4-D7

5 V برای نور صفحه نمایشگر

آند LED  صفحه نمایشگر

15آند یا پایه مثبت LED

GND برای نور صفحه نمایشگر

کاتد LED صفحه نمایشگر

16 کاتد یا پایه منفی LED

کتابخانه LCD کاراکتری توسط Adafruit در IDE آردوینو ایجادشده و نیاز به بارگذاری آن نیست. خطوط داده و کنترل LCD با دستور LiquidCrystal lcd(RS, E, D4, D5, D6, D7) به پایه‌های آردوینو نگاشته می‌شوند، که در آن RS, E و D4 تا D7 پایه‌های آردوینو متصل به LCD  هستند. برای مثال، اگر پایه‌های 6،5،4،3،2 و 7  آردوینو به پایه‌های RS,E, و D4تاLCD D7 متصل شوند، دستور تعریف پایه بصورت زیر می‌باشد:

LiquidCrystal lcd(2, 3, 4, 5, 6, 7)

یا 

;int RS = 2
;int E = 3
;int D4 = 4
;int D5 = 5
;int D6 = 6
;int D7 = 7
;LiquidCrystal lcd(RS, E, D4, D5, D6, D7)

کدها در IDE آردوینو

در کدهای نوشته شده در IDE آردوینو ثانیه‌هایی که کد اجرا می‌شود و دمای خوانده‌شده از سنسور دمای LM35DZ برروی LCD کاراکتری نمایش داده می‌شود (شکل.1 را مشاهده کنید). تابع () void setup ابعاد صفحه نمایش LCD و متن را برای نمایش مداوم مشخص می‌کند، بنابراین در حین اجرای تابع ()void loop فقط دما و زمان به روزشده برروی LCD نمایش داده می‌شوند. نقطه مرجع LCD برای قرار دادن یک کاراکتر در گوشه بالای سمت چپ مکان (0,0) است. برای مثال، مکان ستون پنجم و سطر دوم (4,1) است. اتصالات شکل‌ 1 در جدول 2 بیان شده‌اند.

سنسور دما و LCD
شکل 1. سنسور دما و LCD

جدول 2. اتصالاتLCD کاراکتری  و سنسور دما

اتصال به

قطعه

GND آردوینو

GND LM35DZ

پایه A0 آردوینو

پایه OUT LM35DZ

5V آردوینو

VCC LM35DZ

GND آردوینو

GND  پتانسیومتر

پایه 3 LCD

سیگنال پتانسیومتر

5V آردوینو

VCC  پتانسیومتر

کدهای زیر مدت زمان نمایش دمای خوانده شده توسط سنسور دمای LM35 را بر روی LCD  بیان می‌کنند:

#include  // include the LiquidCrystal library
int LCDcol = 16; // number of LCD columns
int LCDrow = 4; // number of LCD rows
// associate lcd with LiquidCrystal library
LiquidCrystal lcd (2,3,4,5,6,7); // define LCD pins RS, E and D4 to D7
int tempPin = A0; // LM35DZ temperature sensor pin
int time = 0;
int reading;
float temp;
void setup()
{
lcd.begin(LCDcol, LCDrow); // define LCD dimensions
lcd.setCursor(0,0); // move cursor to start of first row
lcd.print("LCD to display"); // print first row "LCD to display"
lcd.setCursor(0,1); // move cursor to start of second row
lcd.print("time and temp"); // print second row "time and temp"
lcd.setCursor(3,2); // move cursor to insert "secs" on third row
lcd.print(" secs");
lcd.setCursor(5,3); // move cursor to insert "C" in fourth row
lcd.print(" C");
analogReference(INTERNAL); // set ADC voltage to 1.1V rather than 5V
}
void loop()
{
lcd.setCursor(0,2); // move cursor to start of third row
if(time < 100) lcd.print(" "); // spacing for 10s < time <100s
if(time < 10) lcd.print(" "); // spacing for time 999) time = 0; // reset time to zero
delay (1000); // delay 1000ms
} 

 تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقمندان به الکترونیک و برنامه نویسی  فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید

Choose your Reaction!
دیدگاه خود را بنویسید

آدرس ایمیل شما منتشر نخواهد شد.

redronic.com