مقدمة
في هذا الدرس ستتعلم تركيب وتشغيل شاشة LCD.
الشاشة الكرستالية LCD تمتلك اضاءة خلفية وتعرض سطرين، كل سطر يحتوى على 16 حرف كحد أقصى.
المواد والأدوات
1× LCD Display (16×2 characters)
1× مقاوم متغير 10kΩ variable resistor (pot)
1× لوحة التجارب (Half-size Breadboard)
1× اردوينو اونو
1× سلك اردوينو
1 × مقاومة 220
تلحيم رؤوس التوصيل للشاشة LCD
قد تجد أن الشاشة لا تمتلك رؤوس ‘pins’ ليتم تركيبها على لوح التجارب كما تجري العاده لبعض القطع الالكترونية الاخرى كالازرار مثلاً.
الشاشة تحتاج إلى 16 رأس توصيل، لذا ان كنت نمتلك شريط رؤوس أكثر من ذلك، ما عليك سوى قصها ليكون مجموعها 16 رأس فقط.
ضع الشاشة على شريط الرؤوس (الجهة الأقصر) ولحّم كل رأس على حدة كما في الصورة التالية: (كن حذرًا)
توصيل الدائرة
شاشة الـ LCD تحتاج إلى 6 منافذ رقمية ‘digital pins’ من الأردوينو كمخارج رقمية ‘digital outputs’ .
كما تحتاج لطاقة 5V و مخرج أرضي GND.
هنالك بعض التوصيلات التي عليك ربطها، لذلك من الأفضل أن تضع شاشة الـLCD بمحاذاة لوح التجارب حتى نتعقب التوصيلات بشكل صحيح كما في صورة التصميم السابقة.
تذكر أن السلك الأصفر الطويل هو ما يربط المقاوم المتغير بمنفذ pin 3 لشاشة الـLCD. المقاوم المتغير وظيفته هنا هي لتغيير درجة سطوع الشاشة.
الكود البرمجي
برنامج الأردوينو IDE يحتوى على مكتبة من الأمثلة خاصة بإستخدام شاشة الـLCD والتي ستقوم باستخدام احدها الآن.
تستطيع ان تجدها عبر الذهاب إلى:
File> Examples> Liquid Crystal > HelloWorld
#include <LiquidCrystal.h> // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); 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 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis() / 1000); }
هنا استخدمنا منافذ مختلفة من لوحة الاردوينو.
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
هذا السطر يطلب من الأردوينو استعمال مكتبة الشاشة الكرستالية (حتى يستطيع الأردوينو من استيعاب الاوامر الخاصة بالشاشة)
#include <LiquidCrystal.h>
هذا السطر يوضح أي من منافذ الأردوينو التي قمت بإستخدامها للربط مع منافذ (رؤوس) الشاشة:
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
في دالة setup هنالك سطرين:
السطر الأول يخبر مكتبة الشاشة الكرستالية العدد الأقصى لخانات السطر الواحد وعدد السطور الأقصى التي تسمح بها الشاشة.
والسطر الثاني لإظهار الجملة التي ترغب بإظهارها في الشاشة.
lcd.begin(16, 2); lcd.print("hello, world!");
في دالة loop هنالك سطرين:
السطر الأول لإعداد المؤشر على الشاشة (حيث ستظهر الجمل التي نرغب بإظهارها)
السطر الثاني لاظهار أجزاء الثانية منذ أن بدأ تشغيل البرنامج على الأردوينو.
lcd.setCursor(0, 1); lcd.print(millis()/1000);
ارفع الكود إلى متحكم الاردوينو وسترى جملة ‘Hello World’ تظهر على الشاشة يتبعها رقم (عداد بدأ من الرقم صفر).
أنشطة أخرى
جرب الضغط على زر الإعادة reset في الاردوينو، ولاحظ أن العداد يبدأ مرة أخرى من الصفر.
يمكنك تغيير اعداد المؤشر (موضع الجملة والرقم).