الجمعة، 17 مايو، 2013

برمجة الشاشة الكريستالية lcd1602 باستتخدام البروتوكول I2C



LCD1602 I2C Module 




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

في البداية لا بد لك أن تأخذ لمحة عن الI2C , لتكن بدايتك من هذه التدوينة هنا


و أيضاً لا بد لك من الإطلاع على كيفية التعامل مع الشاشة الكريستالية1602 و كيفية برمجتها بواسطة الأردوينو هنا


حسناً  بعد الإطلاع على الرابطين أعلاه ... يمكننا البدء الآن .


ماذا سنحتاج في تجربتنا اليوم ؟


معدات :

1- بطاقة أردوينو 





2) LCD 1602 I2C Interface Module



3)شاشة كريستالية 1602





الموديل الذي سأستخدمه قائم على القطعة PCF8574 و هي من شركة فيليبس و تستطيع التحكم ب 8Bit دفعة واحدة .




كل ما عليك القيام به هو وضع الموديل LCD1602 I2C بهذا الشكل و القيام بعملية اللحام حتى تتصل مع الشاشة الكريستالية .


بعدها قم بتوصيل المدخل الأول في الموديل I2C كالأتي


1) تغذية Vcc
2)المدخل SDA مع المربط A4  ببطاقة الأردوينو
3)المدخل SCL مع المربط A5 ببطاقة الأردوينو
4) الأرضي Gnd



و التوصيل سهل , ليس بحاجة لرسم التوضيحي يبين كيفية التوصيل .


ضع موديل الI2C و قم بعملية اللحام 






الآن نأتي لجزء...


 البرمجة Software:

بالنسبة للبرمجة سنستعين بمكتبتين :
1) wire.h و هي متوافرة في المكتبة الرسمية للأردوينو , أي لا حاجة لتحميلها
2) LiquidCrystal_I2C.h  وهذه المكتبة هي التي ستحتاج لتحميلها و وضعها في مسار المكتبات داخل مجلد الأردوينو . لتحميلها من هنا

في بداية يجب عند بداية كتابة الكود وضع اسم المكتبتين اللتان ننوي أستعمالها و تكون على الصيغة 

ثم نقوم بكتابة الكود المعتاد الذي نستخدمه مع مكتبات Liquid crystal الرسمية .

الجديد هو تعين العنوان لشريحة الI2C ألا وهو 0x20 .

هذا العنوان هو الموقع الذي سيتواصل معاه المتحكم Atmega و يعطي له الأوامر .

و يكتب على الصيغة :


و أبعاد الشاشة المستخدمة تكتب في الخانتين التاليتين (16,2) 

لو اردنا تحميل أكثر من شاشة واحدة , فقط نقوم بتعريف الشاشتين , كلاً على حدا و بأسم مختلف و العنوان يكون مضافاً له 1 كمثال :


و أيضاً في جملة void setup نضيف هذا السطر لتهيئة الشاشة للعمل .


و الباقي كما هي الأوامر في المكتبة العادية تماماً .


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


سأعرض هنا مثال بسيط  , سأقوم بطباعة جملة Genotronex على الشاشة 






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

تحياتي


4 التعليقات :

  1. السلام عليكم
    لو عايز استخدم شاشه لعرض معلومات داخل فلاشه فاي نوع ينفع

    ردحذف
    الردود
    1. حسب نوع المعلومات المطلوب عرضها , الأفضل هي TFT Display LCD

      حذف
  2. السلام عليكم :
    ما هي نسخه برنامج الاردوينو المستخدمه .. انا استخدم arduino 1.0.5 ولكن هناك خطأ في الترجمه :(

    ردحذف
  3. تأكد من أنك حملت المكتبة الخاصة بها اولاً و ضعها في مسار المكتبات في الأردوينو "راجع مقالاً حول وضع المكتبة في مسار الأردوينو في المدونة " ثم يمكنك العمل بنجاح على هذا الكود

    الأفضل حمل النسخة 1.5.2 هي الأفضل للان

    ردحذف

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