pregnancy

استخدام شام دوينو مع دارة demultiplexer و ليدات RGB

مقدمة
في العادة لا تستخدم آيسيات خارجية عند وصل ليدات كثيرة مع شام دوينو/الأردوينو و لكن عند الكثرة قد لا يكون من الممكن التحكم بها عبر الأردوينو لأن عدد المخارج أقل من عدد هذه الليدات .
سيتم في هذا الدرس تعلم استخدام دارات multiplexer/demultiplexer لتقليل عدد المخارج اللازمة للتحكم بالليدات ، و لزيادة التحدي سنستخدم ليدات RGB و التي تختلف عن الليدات العادية بأنها قادرة على بث الألوان الرئيسية R red G green B blue و الأمزجة الممكنة بينهما و ذلك من خلال تحديد قيمة الجهد المطبق و هي بحاجة إلى استخدام مخارج نوع PWM المحدودة أصلاً .
 RGB_RGBpin

ليد RGB

يتألف الليد RGB من ثلاث ليدات داخلية ( أحمر  و أخضر  و أزرق ) و بالتالي يوجد له 3 أرجل بالإضافة إلى رجل و هي
عبارة عن النقطة المشتركة بينها ، بالتالي لدى هذا النوع من الليدات أربع أرجل ، و لها نوعين تبعاً لذلك :
  • النقطة المشتركة هي (+) .
  • النقطة المشتركة هي (-) .
يتم تمييز الأرجل من خلال أطوالها حيث يكون الرجل الأطول هي النقطة المشتركة و الرجل على يسارها هي red و على يمنها Green ثم Blue ، كما يمكن فحص الأرجل عبر مقياس متعدد multimeter و ذلك من وضع نمط فحص الديود .
RGB_common_K_A

RGB_RGBpin

الشكل الحقيقي لليد
الشكل الحقيقي لليد
لإضاءة اللون الاحمر مثلاً فإننا نطبق جهد على رجل الليد الأحمر فقط و نطفئ الأخضر و الأزرق . و لإضاءة لون أبيض فإننا نضيء الليدات الثلاثة حيث أن اللون الأبيض هو مزيج الألوان الثلاثة معا  و كذلك أي لون هو مزيج للألون الثلاثةبنسب معينة .
يمكن عبر الأردوينو الحصول على خرج بأي قيمة جهد (بين 0 و 5 ب 256 تدريجة ) نريد عبر أرجل PWM و يمكن معرف الجهود التي نريد تطبيقها عبر رمز اللون بالHEX فهو يحوي ثلاث مجموعات أرقام (كل مجموعة خانتين ) و كل مجموعة هي للون . مثلاً : #FFFFFF هي للون الابيض أي أنه ناتج عن دمج الألون التالية :
  • الأحمر FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
  • الأخضر  FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
  • الأزرق FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
و إن تابع الخرج التماثلي في الأردوينو يأخذ قيم تتراوح بين 0 و 255 . و يمكن الحصول على رمز اللون  ( و بالتالي نسب مزجه من الألوان الثلاثة) من خلال برنامج رسم أو مواقع color hex code .

multiplexer/demultiplexer

إن الـ multiplexer هو دارة منطقية تستخدم لانتخاب (اختيار) دخل واحد من مجموعة مداخل و أما الـ demultiplexer فهو دارة منطقية لها آلية عمل مشابهة و لكن لانتخاب(اختيار) خرج واحد من عددة مخارج مع وجود دخل موحد . عملياً يصنع البعض هذه الدارات لتعمل بالاتجاهين لذلك يسمونها multiplexer/demultiplexer .
تتألف هذه الدارة بشكل عام من مجموعة من الأرجل و هي :
  • أرجل الانتخاب(الاختيار) : المسؤولة عن اختيار أية قناة دخل/خرج ستعمل من بين مجموعة الأقنية الموجودة .
  • أرجل الدخل/الخرج المشترك :  الدخل الذي سيطبق على الخرج/الدخل المنتخب .
  • أرجل الأقنية التي ستُنتخب : ليكن لدينا multiplexer/demultiplexer له قناتين (مجموعتين) من المداخل/المخارج و يمكن حسب الدارة أن تكون كل قناة تتألف من خط إلى عدّة خطوط لذلك مثلاً النوع الذي سنستخدمه في هذا الدرس CD4053 يسمى triple 2 channel multiplexer  أي قناتين و كل قناة ثلاثية (بثلاث خطوط) .
  • أرجل التغذية .

التطبيق العملي

سوف نستخدم شام دوينو و نأخذ منها ثلاث مخارج PWM للتحكم بالليدين بنفس الوقت أي أنها خرج مشترك و سنختار خرج (ليد) من بين الليدين لكي يطبق عليه هذا الخرج ، حيث يتم ذلك عبر آيسية CD4053 .
للاستفادة من ميزة اتصال شام دوينو/أردوينو مع الحاسب تم التحكم باختيار اللون عبر الحاسب من خلال ارسال محرف عبارة عن أول حرف فقط (للسهول فقط r – g -b ) .
و يتم انتخاب أية قناة (ليد) من خلال قاطع موصول إلى الأرضي و التغذية و النقطة المشتركة إلى مدخل الانتخاب ، فحسب جدول الحقيقة فإنه إذا كان الدخل 0 يتم انتخاب قناة و إذا كان واحد فإنه ينتخب الأخرى .
تنبيه : الليد الذي تم استخدامه في هذا الدرس من نوع مصعد مشترك (+) و بالتالي تفعيل الليد عبر جعله في حالة 0 أول LOW و لا ننسى طبعاً استخدام مقاومات حماية لكل ليد جزءي عند كل رجل من الليد RGB بقيمة 470 أو 220 أوم  .
CD4053_truthtable
مخطط CD4053 :
مخطط وظيفي لـ CD4053
مخطط وظيفي لـ CD4053
توضيح لأرجل الآيسية
توضيح لأرجل الآيسية
مخطط الوصل : 
مخطط توضيحي للتوصيل
مخطط توضيحي للتوصيل
الكود :

شرح عن الكود :
تم بداية تعريف متحولات تدل على الأرجل المستخدمة للدخل المشترك ، و هذا لكي يصبح الكود سهل التعديل في حال استخدم أرجل أخرى ، ثم في تابع التهيئة setup و الذي ينفذ لمرة واحدة أول إقلاع المتحكم ، فإنه يتم تفعيل هذه الأرجل كخرج و أيضاً إنشاء اتصال تسلسلي للربط مع الحاسب بسرعة 9600 .
يتم في تابع الحلقة loop و الذي ينفذ طالما المتحكم في حالة عمل ، استقبال المحرف عبر هذا الاتصال في حال كان مهيئ و تخزينه في متحول من نوع محرف ، ثم يتم استخدام بنية switch لمعالجة الاحتمالات حسب المحرف .
فيديو التنفيذ : 

شكرا لتعليقك

فهرس




    اندرويد