الرسم والكتابة باللغة العربية على شاشة الـ LCD December 17, 2017 – Posted in: Arduino, Learn arduino – Tags:

هل حاولت من قبل عرض الحروف العربية أو الرموز الخاصة بك على شاشة  LCD كما نفعل في اللغة الإنجليزية , وهل حاولت  أيضا فهم كيف يتم عرض الاحرف عليها او رسم بعض الأشكال الخاصة بك؟!

في هذا المشروع سنقوم بكتابة كلمات باللغة العربية و رسم رموز خاصة بنا عن طريق الرسم على شاشة LCD.

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

 
LCD 16×2 شاشة Arduino Uno R3
   
 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male) لوح توصيل حجم متوسط (Half size breadboard )
 
Potentiometer 10K Ω

ولكي نقوم بطباعة الحروف العربية او الرموز الخاصة بنا على شاشة العرض LCD يجب ان نتعرف على ذاكرة ال CG-RAM لشاشة LCD .

 ذاكرة CG-RAM

CG-RAM هي العنصر الأساسي لعملية انشاء الرسومات و الاحرف الخاصة بك  على شاشة العرض LCD، بحيث تقوم بتخزين الرسومات التي نقوم بإنشائها في الكود.

– حجم هذه الذاكرة هو 64 بايت, بحيث يمكنها تخزين 8 احرف في وقت واحد، وكل حرف يتكون من  8 بايت

– يبدأ عنوان الذاكرة CG-RAM من (0x40 Hex (64 decimal.

في الجدول التالي يتم توضيح عناوين الاحرف و الرسومات التي سيتم إنشاءها  وأوامر الطباعة الخاصة بهم:

في الجدول اعلاه ستلاحظ العنوان الذي سيبدأ به كل رمز خاص بك مع امر الطباعة الخاص به. مثلا اول حرف يتم انشاؤه وتخزينه على الموقع من 0x40 الى 0x47 في الذاكرة،  ثم يتم طباعته على شاشة الـ LCD  بواسطة ارسال الامر 0 الى شاشة الـ LCD. والحرف الثاني يبدأ تخزينه من الموقع 0x48 الى 0x4F ويتم طباعته من خلال ارسال الامر 1 الى الشاشة.

كيف يتم إنشاء أحرف مخصصة في  CG-RAM

يتم تشكيل كل حرف او رمز على الشاشة في مصفوفة تكون ابعادها 8×5، حيث ان 5 تمثل عدد الاعمدة و 8 تمثل عدد الصفوف.

اولا: قم برسم مصفوفة 8*5 بكسل، ثم قم برسم الرمز او الحرف الخاص بك في داخل المصفوفة، ثم قم بوضع على كل خلية ملونة قيمة 1 , و قيمة صفر على الخلايا الأخرى.

فمثلا اذا اردنا ان ننشئ حرف ا في هذه المصفوفة يتم انشاؤه بالطريقة التالية:   

 يتم  استبدل كل لون اسود بالرقم ١ و المربع الغير ملون نستبدله ب 0.

وبهذه الطريقة، عندما نريد كتابة أي حرف  او شكل يجب ان  يكون بداخل  المصفوفة التي حجمها 8×5، بحيث يتم مكان كتابة النقطة المراد اضاءتها ١ و النقاط الاخرى 0.  

بعد ذلك نقوم بتحويلها الى مصفوفة مكونة من 8-Bytes كالتالي:

مثلا في  هذا الشكل، استبدل الصف الاول المضاء ب1 والمطفىء ب0
،وبما اننا  استخدمنا اول ٥ خانات من البت سوف  نكتبها في  هذا الشكل
0b00000 , وبعد ما ترتيب باقي المصفوفة سوف نجد لدينا  هذه المصفوفة

توصيل  شاشة الـ LCD :

قم بتوصيل الدائرة الكهربائية على لوحة التجارب كما هو موضح بالصورة :

Arduino LCD
Pin 12 RS pin
Pin 11 Enable pin
Pin 5 D4 pin
Pin 4 D5 pin
Pin 3 D6 pin
Pin 2 D7 pin

يمكنك العودة إلى الدرس الثالث عشر للإطلاع على طريقة توصيل شاشة الـ LCD .

الكود البرمجي للأردوينو

قم برفع البرنامج التالي على الاردوينو:

يتم استخدام createChar لتشكيل رمز يمكن طباعته على شاشة LCD و تكون ابعادة 8×5 بكسل.

وليتم رسمه على شاشة الـ LCD  يتم استخدام الامر write

 

بعد رفع الكود البرمجي على لوحة الأردوينو سيتم عرض كلمة روبوتكس وشعارنا على الـ LCD .