- المواد المطلوبة:
- مقدمة موجزة لشاشة LCD ذات مصفوفة نقطية 16 × 2:
- مخطط الدائرة والاتصال:
- برمجة MSP430 لشاشات الكريستال السائل باستخدام Energia:
- 16x2 LCD مع MSP430G2:
هذا هو البرنامج التعليمي الثالث في سلسلة البرامج التعليمية التي نتعلم فيها برمجة MSP430G2 LaunchPad باستخدام Energia IDE. في برنامجنا التعليمي السابق ، تعلمنا كيفية التحكم في دبابيس الإدخال والإخراج الرقمي على لوحة MSP الخاصة بنا. في هذا البرنامج التعليمي ، سنتعلم كيفية توصيل شاشة LCD باللوحة حتى نتمكن من عرض معلومات مفيدة.
شاشة LCD التي نستخدمها في هذا المشروع هي الأكثر استخدامًا 16 × 2 شاشة عرض LCD مصفوفة نقطية akan Alphanumeric Displays. كان من الممكن أن يصادف معظمنا هذا إما من خلال PCOs العامة أو مشاريع إلكترونية أخرى. سيكون عرض مثل هذا مفيدًا جدًا لدروسنا التعليمية المستقبلية لعرض البيانات ومعلومات تصحيح الأخطاء الأخرى. من السهل جدًا ربط شاشة LCD هذه بـ MSP430 ، وذلك بفضل المكتبة المتاحة. لذلك دعونا نتعمق !!
المواد المطلوبة:
- MSP430G2 LaunchPad من شركة Texas Instruments
- 16 × 2 شاشة عرض LCD مصفوفة نقطية
- توصيل الأسلاك
- إنرجيا IDE
مقدمة موجزة لشاشة LCD ذات مصفوفة نقطية 16 × 2:
كما ذكرنا سابقًا ، يوفر Energia IDE مكتبة جميلة تجعل الواجهة قطعة من الكعكة ، وبالتالي ليس من الضروري معرفة أي شيء عن وحدة العرض. لكن ، ألم يكن من المثير للاهتمام إظهار ما نستخدمه !!
يشير الاسم 16 × 2 إلى أن الشاشة بها 16 عمودًا وصفين ، والتي تشكل معًا (16 * 2) 32 صندوقًا. سيبدو مربع واحد مثل هذا في الصورة أدناه
يحتوي الصندوق الفردي على 40 بكسل (نقاط) بترتيب مصفوفة من 5 صفوف و 8 أعمدة ، وتشكل هذه الـ 40 بكسل معًا حرفًا واحدًا. وبالمثل ، يمكن عرض 32 حرفًا باستخدام كل المربعات. الآن دعونا نلقي نظرة على pinouts.
تحتوي شاشة LCD على إجمالي 16 دبوسًا ، كما هو موضح أعلاه ، يمكن تصنيفها إلى أربع مجموعات كما يلي
دبابيس المصدر (1 و 2 و 3): هذه الدبابيس مصدر الطاقة ومستوى التباين للشاشة
دبابيس التحكم (4 و 5 و 6): تقوم هذه المسامير بتعيين / التحكم في السجلات الموجودة في IC (المزيد من هذا يمكن العثور عليه في الرابط أدناه)
دبابيس البيانات / الأوامر (من 7 إلى 14): توفر هذه الدبابيس بيانات المعلومات التي يجب عرضها على شاشة LCD.
دبابيس LED (15 و 16): تستخدم هذه المسامير لتوهج الإضاءة الخلفية لشاشة LCD إذا لزم الأمر (اختياري).
من بين كل هذه المسامير الستة عشر ، يجب استخدام 10 دبابيس فقط بشكل إلزامي للعمل الصحيح لشاشة LCD إذا كنت تريد معرفة المزيد عن شاشة LCD هذه ، انتقل إلى مقالة LCD هذه.
مخطط الدائرة والاتصال:
يظهر أدناه مخطط الدائرة الكامل لواجهة شاشة LCD ذات مصفوفة نقطية مقاس 16 × 2 مع MSP430G2.
أحد القيود الرئيسية أثناء ربط هذين الاثنين هو الفولتية التشغيلية. تتميز شاشة LCD بجهد تشغيل + 5 فولت بينما يعمل MSP فقط مع 3.6 فولت. من حسن حظنا أن دبوس البيانات الخاص بواجهة LCD IC (HD44780U) لديه جهد تشغيل واسع من 2.7 فولت إلى 5.5 فولت. لذلك علينا أن نقلق فقط بشأن Vdd (pin 2) لشاشة LCD بينما يمكن أن تعمل دبابيس البيانات حتى مع 3.6V.
لا تمنحك اللوحة MSP430G2 بشكل افتراضي دبوس + 5 فولت ، ولكن يمكننا القيام باختراق صغير للحصول على + 5 فولت من MSP430 باستخدام منفذ USB. إذا ألقيت نظرة فاحصة بالقرب من منفذ USB ، يمكنك العثور على محطة طرفية تسمى TP1 ، وسوف تعطينا هذه المحطة + 5v. كل ما يتعين علينا القيام به هو لحام دبوس رأس ذكر صغير كما هو موضح أدناه حتى نتمكن من توصيله بشاشة LCD الخاصة بنا.
ملاحظة: لا تقم بتوصيل الأحمال التي قد تستهلك أكثر من 50 مللي أمبير بهذا الطرف 5 فولت ، فقد يقلى منفذ USB الخاص بك.
إذا لم تكن مهتمًا باللحام ، فما عليك سوى استخدام أي مصدر طاقة منظم + 5 فولت وتشغيل شاشة LCD ، في هذه الحالة ، تأكد من توصيل أرض مصدر الطاقة بأرض لوحة MSP.
بمجرد الانتهاء من استخدام دبوس + 5V الذي يربط المسامير الأخرى ، يكون الأمر واضحًا إلى حد كبير. الآن بعد أن أصبحت أجهزتنا جاهزة ، دعنا ننتقل إلى جزء البرنامج.
برمجة MSP430 لشاشات الكريستال السائل باستخدام Energia:
و برنامج كامل ويرد على التفاعل وMSP430G2553 مع شاشة LCD في نهاية هذه الصفحة. يمكن تجميع الكود وتحميله واستخدامه على هذا النحو. في الفقرات التالية سوف أشرح كيف يعمل البرنامج.
قبل أن نبدأ في الشرح ، يتعين علينا تدوين الدبابيس التي نستخدمها. إذا ألقيت نظرة على مخطط الدائرة أعلاه والرسم التخطيطي MSP430 أدناه
يمكنك استنتاج أننا قمنا بتوصيل شاشة LCD وفقًا للجدول التالي
اسم دبوس LCD |
متصلا |
Vss |
أرض |
Vdd |
+ 5V USB دبوس |
روبية |
دبوس 2 من MSP |
ص / دبليو |
أرض |
ممكن |
دبوس 3 من MSP |
د 4 |
دبوس 4 من MSP |
د 5 |
دبوس 5 من MSP |
د 6 |
دبوس 6 من MSP |
د 7 |
دبوس 7 من MSP |
مع وضع ذلك في الاعتبار ، لنبدأ في تحديد مسامير LCD المستخدمة في برنامجنا. سنقوم بتسمية كل دبوس باسم أكثر وضوحًا حتى نتمكن من استخدامه بسهولة لاحقًا.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
هذا يعني ببساطة أنه بدلاً من استدعاء الرقم 2 ، يمكنني الإشارة إليه باسم RS فيما بعد ، وبالمثل بالنسبة لجميع الدبابيس الستة.
ستكون الخطوة التالية هي تضمين مكتبة LCD. سيتم تثبيت هذه المكتبة تلقائيًا عند تثبيت Energia IDE. لذا فقط قم بإضافته باستخدام السطر التالي
#تضمن
الخطوة التالية هي ذكر المسامير التي تتصل بها شاشة LCD ، حيث قمنا بتسميتها بالفعل باستخدام #define ، يمكننا الآن ببساطة ذكر أسماء دبابيس LCD. تأكد من اتباع نفس الترتيب.
LiquidCrystal LCD (RS ، EN ، D4 ، D5 ، D6 ، D7) ؛
الآن دعنا ننتقل إلى وظيفة الإعداد الباطل () . هناك العديد من أنواع شاشات LCD تختلف في الحجم والطبيعة ، والشاشة التي نستخدمها هي 16 * 2 ، لذلك دعونا نحدد ذلك في برنامجنا
lcd.begin (16 ، 2) ؛
لطباعة شيء ما على شاشة LCD ، يجب أن نذكر شيئين في البرنامج. أحدهما هو موضع النص الذي يمكن ذكره باستخدام سطر lcd.setCursor () والآخر هو المحتوى المراد طباعته والذي يمكن ذكره بواسطة lcd.print (). في هذا الخط نحن وضع المؤشر إلى 1 شارع الصف و1 شارع الأعمدة.
lcd.setCursor (0،0) ؛
وبالمثل ، يمكننا ذلك أيضًا
lcd.setCursor (0 ، 1) ؛ // اضبط المؤشر على العمود الأول الصف الثاني
تمامًا مثل مسح السبورة بعد الكتابة عليها ، يجب أيضًا مسح شاشة LCD بمجرد كتابة شيء عليها. يمكن القيام بذلك باستخدام السطر أدناه
lcd.clear () ؛
لذا فإن وظيفة () الإعداد الفارغ الكاملة ستبدو مثل هذا.
إعداد باطل () {lcd.begin (16، 2) ؛ // نحن نستخدم شاشة عرض LCD 16 * 2 lcd.setCursor (0،0) ؛ // ضع المؤشر على الصف الأول في العمود الأول lcd.print ("MSP430G2553") ؛ // عرض رسالة تمهيدية lcd.setCursor (0 ، 1) ؛ // اضبط المؤشر على العمود الأول من الصف الثاني lcd.print ("- CircuitDigest") ؛ // عرض تأخير رسالة المقدمة (2000) ؛ // انتظر حتى يتم عرض معلومات lcd.clear () ؛ // ثم نظفها}
بعد ذلك ، داخل وظيفة الحلقة الفارغة () ، دعنا نستمر في زيادة الرقم لكل 500 مللي ثانية ونعرض الرقم على شاشة LCD. يتم اختبار هذا الرقم ويتم تهيئته إلى 1 كما هو موضح أدناه
اختبار int = 1 ؛
ل إنشاء تأخير يمكننا استخدام وظيفة يحمل في ثناياه عوامل تأخير (). علينا أن نذكر مقدار الوقت الذي نحتاجه لحدوث التأخير. في حالتنا ، لقد استخدمت 500 مللي ثانية كما هو موضح أدناه
تأخير (500) ؛
يمكن زيادة المتغير عن طريق test ++ ، والباقي تم شرحه بالفعل. يظهر الرمز الكامل داخل الحلقة الفارغة أدناه
حلقة باطلة () {lcd.print ("LCD مع MSP") ؛ // عرض رسالة تمهيدية lcd.setCursor (0 ، 1) ؛ // اضبط المؤشر على العمود 0 ، السطر 1 lcd.print (اختبار) ؛ // عرض تأخير رسالة المقدمة (500) ؛ lcd.clear () ؛ // ثم نظفها test ++ ؛ }
16x2 LCD مع MSP430G2:
بمجرد أن يصبح جهازك وكودك جاهزًا ، ما عليك سوى توصيل اللوحة الخاصة بك بالكمبيوتر وتحميل الكود كما فعلنا في البرنامج التعليمي. بمجرد تحميل الرمز ، يجب أن ترى الشاشة توضح ما يلي.
بعد ثانيتين ، ستتغير شاشة العرض من إعداد إلى حلقة وتبدأ في زيادة المتغير وعرضه على الشاشة كما هو موضح في الصورة أدناه.
و يمكن الاطلاع على استكمال العمل في الفيديو أدناه. انطلق وحاول تغيير ما يتم عرضه على شاشة LCD واللعب به. آمل أن تكون قد فهمت البرنامج التعليمي وتعلمت شيئًا مفيدًا منه. إذا كانت لديك أي شكوك ، فاتركها في قسم التعليقات أدناه أو استخدم المنتديات. دعونا نجتمع في برنامج تعليمي آخر.