مواجهة شاشة نوكيا الرسومية Nokia 5110 مع اردوينو اكتب تعليقُا

 تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

ـ شاشة Nokia 5110

تذكر أيام ما قبل iPhone عندما كانت الهواتف المحمولة بها أزرار ولم تلمس سوى تلك الشاشات  الصغيرة  ذات اللونين الأبيض والأسود الا إذا كنت بحاجة لتنظيفها ! استخدمت نوكيا هذه الشاشات  الصغيرة في هواتفها المحمولة 3310 و Nokia 5110 .

مع تغير التكنولوجيا ، وجدت هذه الشاشات أخيرًا مكانها الجديد في عالم الالكترونيات والبرمجة . و سرعان ما أصبحت شعبية بين الهواة لأنها ذات حجوم صغيرة ، وغير مكلفة وسهلة الاستخدام وقوة منخفضة إلى حد ما ويمكن عرض النص وكذلك الصور النقطية .

دائرة القيادة PCD8544 LCD في شاشة Nokia 5110

في قلب الوحدة ، توجد وحدة تحكم قوية CMOS LCD منخفضة الطاقة أحادية الشريحة من Philips – PCD8544.

تم تصميم الرقاقة لتقود عرض رسومي بحجم 84 × 48 بكسل . إنه يتفاعل مع ميكروكنترولر عبر واجهة ناقل تسلسلية مماثلة لـ SPI .
بفضل تعدد استخدامات شريحة القيادة PCD8544 ، فإنه يتضمن توليد الطاقة على شاشات الكريستال السائل وإمدادات الفولتية مما يؤدي إلى انخفاض استهلاك الطاقة مما يجعلها مناسبة للتطبيقات الحساسة للطاقة . في الحالة الطبيعية ، تستهلك شاشة Nokia 5110 ما بين 6 إلى 7mA فقط .

حسب ورقة البيانات ، تعمل هذه الشريحة في حدود 2.7 إلى 3.3 فولت ولديها مستويات اتصال 3 فولت . لذلك ، لأي متحكم منطقي بجهد 5V مثل الاردوينو ، يتطلب الأمر نوعًا من التحول في مستوى الطاقة وإلا قد تتلف .

الاضاءه الخلفيه للشاشة Nokia 5110

تأتي شاشة Nokia 5110 أيضًا بإضاءة خلفية بألوان مختلفة . الأحمر والأخضر والأزرق والأبيض .

الإضاءة الخلفية ليست سوى أربعة مصابيح LED موزعة حول حواف الشاشة .
إذا كنت تريد تغيير الإضاءة الخلفية لشاشة Nokia 5110 ، فما عليك سوى إزالة شاشة Nokia 5110 من اللوحة عن طريق دفع المشابك المعدنية في الجانب الخلفي . عندما تنطفئ الشاشة ، ستلاحظ أن مصابيح LED الأربعة ملحومة حول حواف الشاشة . مجرد استبدال المصابيح مع المصابيح اللون المطلوب يكون الامر قد أنتها .

تحذير :

هناك العديد من إصدارات شاشات الكريستال السائل لا تأتي مع أي مقاوم تخقيض للتيار . هذا يعني أنك يجب أن تكون حذراً أثناء توصيل مصدر الطاقة بها . كإجراء احترازي ، يمكنك وضع 330Ω “كمقاومة تقليل التيار المسحوب ” في سلسلة مع دبوس “الإضاءة الخلفية” .

خريطة الذاكرة في شاشة نوكيا Nokia 5110 LCD Memory Map

يحتوي برنامج تشغيل PCD8544 LCD على ذاكرة وصول عشوائي (GDDRAM) مدمجة تبلغ 504 بايت للشاشة التي تحمل نمط البت المراد عرضه . يتم تنظيم منطقة الذاكرة هذه في 6 بنوك (من 0 إلى 5) . يحتوي كل بنك على 84 عمود أو شرائح (من 0 إلى 83) . ويمكن لكل عمود تخزين 8 بت من البيانات (من 0 إلى 7) . هذا يخبرنا بالتأكيد لدينا :

6 banks x 84 segments x 8 bits of data = 4032 bits = 504 bytes

يمثل كل بت تمثل بكسل معين على الشاشة والذي يمكن تشغيله أو إيقاف تشغيله برمجيًا .

هنا المواصفات الكاملة :

Display Technology Dot Matrix LCD
MCU Interface SPI
Screen Size 1.5 Inch Across
Resolution 84×48 pixels
Operating Voltage 2.7V – 3.3V
Operating Current 50mA max
Viewing Angle 180°

أطراف الشاشة Nokia 5110

 دعونا نلقي أولاً نظرة على الاطراف .
Nokia-5110-LCD-Module-Pinout
  • RST هو دبوس إعادة تعيين العرض . يمكنك إعادة تعيين الشاشة عن طريق توصيلها بقيمة منخفضة . يمكنك أيضًا توصيل هذا الدبوس بإعادة ضبط الاردوينو حتى تتم إعادة تعيين الشاشة تلقائيًا .
  • CE  يستخدم دبوس Chip Enable لتحديد واحد من العديد من الأجهزة المتصلة التي تشترك في نفس ناقل SPI .
  • D / C يخبر دبوس (البيانات / الأوامر) الشاشة ما إذا كانت البيانات التي يتلقاها هي بيانات أمر أو أمر قابل للعرض .
  • DIN هو دبوس بيانات تسلسلي لواجهة SPI .
  • CLK هو دبوس ساعة تسلسلي لواجهة SPI .
  • VCC  يوفر VCC pin الطاقة لشاشات الكريستال السائل التي نقوم بتوصيلها إلى دبوس 3.3V فولت على الاردوينو .
  • BL يتحكم دبوس (الإضاءة الخلفية) في الإضاءة الخلفية للشاشة . للتحكم في سطوعها ، يمكنك إضافة مقياس الجهد أو توصيل هذا الدبوس بأي دبوس من الاردوينو قادر على عمل  PWM .
  • GND يجب أن تكون مرتبطة GND إلى أرضي اردوينو .

الأسلاك - ربط نوكيا Nokia 5110 مع لاردوينو أونو

قبل أن نصل إلى تحميل الكود وإرسال البيانات إلى الشاشة ، دعونا نربط الشاشة بأردوينو .

الاتصالات بسيطة إلى حد ما . نظرًا لأننا نطبق برتكول SPI ، فلدينا خيارات تثبيت مرنة . يمكنك توصيل دبابيس نقل البيانات بأي رقم إدخال / إخراج رقمي . في حالتنا ، يتم توصيل دبابيس الساعة التسلسلية (CLK) والبيانات التسلسلية (DIN) والبيانات / الأوامر (DC) وتمكين الشريحة (CE) وإعادة التعيين (RST) من الرقم 7 إلى الأسفل حتى الرقم 3 على الاردوينو .
لكن لسوء الحظ ، تحتوي شاشة LCD على مستويات اتصال 3v ، لذلك لا يمكننا توصيل هذه الاطراف مباشرة بـ الاردوينو . نحن بحاجة إلى بعض الحماية . ويمكن القيام بذلك عن طريق تحويل المستويات .

تتمثل إحدى الطرق الرخيصة والأسهل لتغيير المستويات في إضافة مقاومات متوافقة مع كل دبوس نقل بيانات. فقط أضف مقاومات 10kΩ بين دبابيس CLK و DIN و D / C و RST ومقاوم 1kΩ بين CE.

أخيرًا ، يتم توصيل دبوس الإضاءة الخلفية (BL) بـ 3.3 فولت من خلال مقاوم الحد الحالي 330Ω. يمكنك إضافة مقياس الجهد أو توصيل هذا الدبوس بأي دبوس Arduino قادر على PWM ، إذا كنت ترغب في التحكم في سطوعه.

يوضح لك الرسم التوضيحي التالي كيفية توصيل كل شيء.

Wiring-Connecting-Nokia-5110-LCD-module-with-Arduino-UNO

باستخدام ذلك ، أنت الآن جاهز لتحميل بعض الاكود والحصول على طباعة الشاشة Nokia 5110 .

كود الاردوينو - عرض النصوص في شاشة Nokia 5110

الآن تأتي الأشياء المثيرة للاهتمام !

سيقوم كود الاختبار التالي بطباعة رسالة “Hello World!” على الشاشة . هذا المشروع يوضح  تامًا كيفية استخدام شاشة Nokia 5110 LCD ويمكن أن يكون بمثابة أساس لمزيد من التجارب العملية والمشاريع .

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
لتحميل الكود البرمجي اضغط هنا
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Declare LCD object for software SPI
// Adafruit_PCD8544(CLK,DIN,D/C,CE,RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

int rotatetext = 1;

void setup()   {
  Serial.begin(9600);

  //Initialize Display
  display.begin();

  // you can change the contrast around to adapt the display for the best viewing!
  display.setContrast(57);

  // Clear the buffer.
  display.clearDisplay();

  // Display Text
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Hello world!");
  display.display();
  delay(2000);
  display.clearDisplay();


  // Display Inverted Text
  display.setTextColor(WHITE, BLACK); // 'inverted' text
  display.setCursor(0,0);
  display.println("Hello world!");
  display.display();
  delay(2000);
  display.clearDisplay();

  // Scaling Font Size
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.setTextSize(2);
  display.println("Hello!");
  display.display();
  delay(2000);
  display.clearDisplay();

  // Display Numbers
  display.setTextSize(1);
  display.setCursor(0,0);
  display.println(123456789);
  display.display();
  delay(2000);
  display.clearDisplay();

  // Specifying Base For Numbers
  display.setCursor(0,0);
  display.print("0x"); display.print(0xFF, HEX); 
  display.print("(HEX) = ");
  display.print(0xFF, DEC);
  display.println("(DEC)"); 
  display.display();
  delay(2000);
  display.clearDisplay();

  // Display ASCII Characters
  display.setCursor(0,0);
  display.setTextSize(2);
  display.write(3);
  display.display();
  delay(2000);
  display.clearDisplay();

  // Text Rotation
  while(1)
  {
  display.clearDisplay();
  display.setRotation(rotatetext);  // rotate 90 degrees counter clockwise, can also use values of 2 and 3 to go further.
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Text Rotation");
  display.display();
  delay(1000);
  display.clearDisplay();
  rotatetext++;
  }
}

void loop() {}

بعد تحميل الكود يفترض أن تشاهد التالي 

Displaying-Text-On-Nokia-5110-Display-Module

أنتهت !!!

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *