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

تحياتي


5 التعليقات :

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

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

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

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

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

    ردحذف
  4. بعد ازنك انا محتاج كود لبرمجه الاردوينو مع شاشه
    LCD 2*16
    لاظهار التاريخ والوقت بالانجليزي لمده 15ثانيه ثم اظهار الوقت والتاريخ بالعربي لمده 15 ثانيه ثم تكتب بدء المحاضره الاوله 15ثانيه ثم تكتب انتهاء المحاضره الاولي وشكره ارجو الرد

    ردحذف

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