توصيل شاشة LCD مع الأردوينو
تعتبر شاشات الكريستال السائل (LCD) من أكثر المكونات الإلكترونية شيوعًا في مشاريع الأردوينو لعرض المعلومات والنصوص. في هذا المقال، سنستعرض كيفية توصيل شاشة LCD بحجم 16x2 مع لوحة الأردوينو وبرمجتها لعرض رسالة ترحيبية.

المكونات المطلوبة
- لوحة أردوينو (Arduino Uno أو أي موديل آخر).
- شاشة LCD 16x2.
- أسلاك توصيل (Jumper wires).
- لوحة تجارب (Breadboard) لتسهيل التوصيل.
مخطط التوصيل
جدول التوصيل
إليك جدول يوضح تفاصيل التوصيل بين شاشة LCD ولوحة الأردوينو:
| طرف شاشة LCD | التوصيل بالأردوينو | الوصف |
|---|---|---|
| VSS | GND | أرضي |
| VDD | 5V | مصدر الطاقة |
| VEE | GND (أو مقاومة متغيرة) | التحكم في التباين |
| RS | Pin 7 | اختيار السجل |
| RW | GND | قراءة/كتابة (أرضي للكتابة) |
| E | Pin 6 | تمكين |
| D4 | Pin 5 | طرف بيانات 4 |
| D5 | Pin 4 | طرف بيانات 5 |
| D6 | Pin 3 | طرف بيانات 6 |
| D7 | Pin 2 | طرف بيانات 7 |
| A (Anode) | 5V (مع مقاومة) | إضاءة خلفية (موجب) |
| K (Kathode) | GND | إضاءة خلفية (سالب) |
الكود البرمجي
الكود التالي يقوم بتهيئة الشاشة وعرض رسالة ترحيبية عليها. يمكنك تحميل الكود مباشرة من الملف المرفق.
// تضمين المكتبة الخاصة للشاشة
#include <LiquidCrystal.h>
// تعريف الأطراف المتصلة بـ
// RS, EN, D4, D5, D6, D7
const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// إعداد الطرفية للتواصل مع الحاسوب
Serial.begin(9600);
Serial.println("setup ...");
// تحديد أبعاد الشاشة (16 عمود و 2 صف)
lcd.begin(16, 2);
// كتابة رسالة على الشاشة
lcd.print("wellcome, I'm");
// استدعاء دالة لطباعة الاسم
Print();
}
void loop() {
Serial.print(".");
// إيقاف عرض الشاشة مؤقتًا
lcd.noDisplay();
delay(500);
// إعادة تشغيل عرض الشاشة
lcd.display();
delay(250);
}
// دالة لطباعة الاسم حرفًا بعد حرف
char myName[] = "Khalid Hamidi :)";
void Print() {
Serial.print("printing ");
Serial.print(myName);
Serial.println("");
int delayTime = 150;
int len = sizeof(myName);
for (int i = 0; i < len; i++) {
// تحديد موقع المؤشر (العمود i، الصف الثاني)
lcd.setCursor(i, 1);
lcd.print(myName[i]);
delay(delayTime);
delayTime *= 0.88; // تقليل مدة التأخير تدريجيًا
}
delay(100);
}
شرح الكود
#include <LiquidCrystal.h>: يتم تضمين المكتبة اللازمة للتحكم في شاشة LCD.LiquidCrystal lcd(...): يتم إنشاء كائن من المكتبة مع تحديد أرقام المنافذ التي تم توصيلها.lcd.begin(16, 2): في دالةsetup(), نهيئ الشاشة بتحديد أبعادها (16 عمودًا وصفين).lcd.print(...): تستخدم هذه الدالة لكتابة نص على الشاشة.lcd.setCursor(col, row): تقوم بتحديد موقع المؤشر قبل الكتابة.lcd.noDisplay()وlcd.display(): تستخدم لإخفاء وإظهار النص على الشاشة، مما يعطي تأثير الوميض في دالةloop().
فيديو توضيحي
هنا فيديو يوضح نتيجة عمل الكود والتوصيل بشكل عملي:
ملاحظة: الرجاء استبدال placeholder_video_id بمعرف الفيديو الفعلي من يوتيوب.
بهذا نكون قد انتهينا من شرح كيفية توصيل وبرمجة شاشة LCD مع الأردوينو. يمكنك الآن تعديل الكود لعرض البيانات التي تريدها في مشاريعك الخاصة.
