الجمعة، 22 مارس، 2013

Nokia 5110 LCD

الشاشة الكريستالية Nokia 5110 PCD 8544 




ضمن سلسلة المقالات التي نتحدث فيها عن الشاشات الكريستالية  سأعرض اليوم نوعاً مميزاً من هذه الشاشات يدعى Nokia 5110 و هي شاشة كانت مستعملة في الهاتف النقّال من شركة نوكيا من جيل أجهزة DCT3 ضمن الحزمة GSM 900MHz .



ما يهمنا في هذا الجهاز الآثري , هو شاشته ذات اللونين الأبيض و الاسود Monochrome , هذه الشاشة ذات ابعاد 84*48 من انتاج شركة فيلبس Philips  .

تحتوي هذه الشاشة على متحكم يدعى PCD8544 و هو عبارة 
عن دارة متكاملة لقيادة الشاشة LCD Driver يمكن الإطلاع على النشرة الفنية Data sheet  له هنا



سنلقي نظرة في البداية على توزيع مرابط Pin Configuration لهذه القطعة و وظيفتها .

في الأسواق العالمية , يوجد لهذه الشاشة العديد من الأشكال و احياناً توزيع مرابط مختلف , هذا لا يهم طالما كل هذه الشاشات تقوم بنفس الوظيفة .

بالنسبة للشاشات التي من انتاج Sparkfun :


و هناك نفس الموديل من شركة Adafruit  :



و هناك موديل آخر صيني "يختلف فقط في كيفية توزيع المرابط"


سأستعمل هنا الموديل الصيني الأخير , لا اختلاف بين هذه الموديلات , فقط قم بتوصيل المداخل بما يتناسب مع الشاشة التي تملكها .


تقوم هذا الشاشة على البروتوكول التسلسلي SPI"Serial Prepherial interface " , و تحتوي المداخل التالية :

 مدخل التصفير RST: Reset pin 
مدخل تحديد نمط عمل المتحكمCE: Select chip
DC:  data command selection
 SDIN: serial Input
SCLK: Serial clock
Light:Backlight 


ننتقل الآن للمعدات التي سنحناجها في هذه التجربة .

سنحتاج لتنفيذ هذه التجربة :

1) بطاقة أردوينو 
2)مقاومة متغيرة 5كيلو اوم
3) الشاشة الكريستالية NOKIA 5110 LCD
4) pin header  
5) اسلاك توصيل Solderless Jumper 





التوصيل :

قد تسمع أو تقرأ بأن هذه الشاشة تحتاج ما يسمى Shift level و السبب في أن هذه الشاشة يستخدم نظام 3.3 فولت للتحكم و التواصل بينها و بين المتحكم , و في الأردوينو UNO فإن فولتية المخرج الرقمي يساوي 5 فولت , و قد جربت الطريقتين مرة باستعمال القطعة 74125 و هي تحول الخرج المنطقي من مستوى 5 فولت إلى 3.3 فولت .



أنا جربّت الطريقتين و عملتا بشكل رائع :) لذلك سواء استعملت الLevel shift ام لا  فهذا لا يهم

طريقة التوصيل : 


في الشكل اعلاه ترون توصيل هذه الشاشة مع الأردوينو .



الآن ننتقل للبرمجة .

يوجد هناك طريقتين للبرمجة و هما :

1) بواسطة الأوامر المباشرة .

2)  بواسطة مكتبة خاصة .

لنبدأ بالطريقة الأولى .

1) بواسطة الأوامر المباشرة :


أهم الأوامر في هذا الكود :

الكود مكتوب بعدة جمل استدعاء , فمثلاً عند بداية الكود يجب كتابة الأمر 
 LcdInitialise();


هذا الأمر يقوم بتهيئة الشاشة للعمل 
 LcdClear();


هذا الأمر يقوم بمسح المخرجات على الشاشة .
 LcdString("Mohannad    Rawashdeh");


هذا الأمر يقوم بإظهار الكلمات و الحروف على الشاشة .

الآن ننتقل للرسوم .

لكي ترسم اشكال مختلفة على هذه الشاشة , عليك القيام بما يلي :

1) اذهب لهذا الموقع هنا 
2) اختار فتح صورة من الجهاز 


3) ثم اعمل crop  للصورة حتى تصبخ ابعاده 84 *48 ثم خزنه في جهازك من لائحة file >> save . " حاول قدر الإمكان ان تجعل الصورة فقط من لونين ابيض و اسود لأن هذا مهم جداً و إن لم تستطع ذلك فافتح الصورة باستخدام برمجية الرسام و خزّن الصورة على الصيغة Bitmap monochrome ".

4) ثم افتح برنامج LCD Assistance

5) قم بفتح الصورة ثم تخزينها  



و أخيراً افتح الملف الذي خزنّته باستخدام محرر النصوص Notepad و انسخ المصفوفة التي بداخله ابتداءاً من جملة char 



 و ألصق هذه المصفوفة في البرنامج ثم قم باستدعاء المصفوفة عن طريق الأمر :

 LcdBmp(arduino);



و هذا الفيديو ادناه يعرض المخرجات التي تظهر على الشاشة .



هذا كل شيء يمكننا أن نقوله عن استخدام هذه الشاشة باستخدام الأوامر المباشرة .

سنتحدث عن استخدام مكتبة لهذه الشاشة في الجزء الثاني من هذا المقال .

إلى ذلك الوقت إلى اللقاء  .







0 التعليقات :

إرسال تعليق

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.