Social Icons

الجمعة، 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.