توصيل شاشة LCD مع الأردوينو

مارس 19, 2020·
خالد حميدي
خالد حميدي
· 3 دقيقة قراءة

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

عرض

المكونات المطلوبة

  • لوحة أردوينو (Arduino Uno أو أي موديل آخر).
  • شاشة LCD 16x2.
  • أسلاك توصيل (Jumper wires).
  • لوحة تجارب (Breadboard) لتسهيل التوصيل.

مخطط التوصيل

جدول التوصيل

إليك جدول يوضح تفاصيل التوصيل بين شاشة LCD ولوحة الأردوينو:

طرف شاشة LCDالتوصيل بالأردوينوالوصف
VSSGNDأرضي
VDD5Vمصدر الطاقة
VEEGND (أو مقاومة متغيرة)التحكم في التباين
RSPin 7اختيار السجل
RWGNDقراءة/كتابة (أرضي للكتابة)
EPin 6تمكين
D4Pin 5طرف بيانات 4
D5Pin 4طرف بيانات 5
D6Pin 3طرف بيانات 6
D7Pin 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);
}

تحميل ملف الكود (PDF)

شرح الكود

  1. #include <LiquidCrystal.h>: يتم تضمين المكتبة اللازمة للتحكم في شاشة LCD.
  2. LiquidCrystal lcd(...): يتم إنشاء كائن من المكتبة مع تحديد أرقام المنافذ التي تم توصيلها.
  3. lcd.begin(16, 2): في دالة setup(), نهيئ الشاشة بتحديد أبعادها (16 عمودًا وصفين).
  4. lcd.print(...): تستخدم هذه الدالة لكتابة نص على الشاشة.
  5. lcd.setCursor(col, row): تقوم بتحديد موقع المؤشر قبل الكتابة.
  6. lcd.noDisplay() و lcd.display(): تستخدم لإخفاء وإظهار النص على الشاشة، مما يعطي تأثير الوميض في دالة loop().

فيديو توضيحي

هنا فيديو يوضح نتيجة عمل الكود والتوصيل بشكل عملي:

ملاحظة: الرجاء استبدال placeholder_video_id بمعرف الفيديو الفعلي من يوتيوب.

بهذا نكون قد انتهينا من شرح كيفية توصيل وبرمجة شاشة LCD مع الأردوينو. يمكنك الآن تعديل الكود لعرض البيانات التي تريدها في مشاريعك الخاصة.

خالد حميدي
Authors
مهندس ميكاترونكس | متخصص في هندسة علم الفضاء والطيران | مطور أنظمة
مُبدع في هندسة الميكاترونيك والفضاء، يحوّل التعقيد إلى شيفرة نابضة بالحياة، ويبتكر آلات ذكية تمحو الحدود بين الحلم والواقع، لتجعل نبض المستقبل يُسمَع اليوم.
Sound
Click to unlock audio
اضغط لتفعيل الصوت