مقدمة
في العادة لا تستخدم آيسيات خارجية عند وصل ليدات كثيرة مع شام
دوينو/الأردوينو و لكن عند الكثرة قد لا يكون من الممكن التحكم بها عبر
الأردوينو لأن عدد المخارج أقل من عدد هذه الليدات .سيتم في هذا الدرس تعلم استخدام دارات multiplexer/demultiplexer لتقليل عدد المخارج اللازمة للتحكم بالليدات ، و لزيادة التحدي سنستخدم ليدات RGB و التي تختلف عن الليدات العادية بأنها قادرة على بث الألوان الرئيسية R red G green B blue و الأمزجة الممكنة بينهما و ذلك من خلال تحديد قيمة الجهد المطبق و هي بحاجة إلى استخدام مخارج نوع PWM المحدودة أصلاً .
ليد RGB
يتألف الليد RGB من ثلاث ليدات داخلية ( أحمر و أخضر و أزرق ) و بالتالي يوجد له 3 أرجل بالإضافة إلى رجل و هيعبارة عن النقطة المشتركة بينها ، بالتالي لدى هذا النوع من الليدات أربع أرجل ، و لها نوعين تبعاً لذلك :
- النقطة المشتركة هي (+) .
- النقطة المشتركة هي (-) .
لإضاءة اللون الاحمر مثلاً فإننا نطبق جهد على رجل الليد الأحمر فقط و نطفئ الأخضر و الأزرق . و لإضاءة لون أبيض فإننا نضيء الليدات الثلاثة حيث أن اللون الأبيض هو مزيج الألوان الثلاثة معا و كذلك أي لون هو مزيج للألون الثلاثةبنسب معينة .
يمكن عبر الأردوينو الحصول على خرج بأي قيمة جهد (بين 0 و 5 ب 256 تدريجة ) نريد عبر أرجل PWM و يمكن معرف الجهود التي نريد تطبيقها عبر رمز اللون بالHEX فهو يحوي ثلاث مجموعات أرقام (كل مجموعة خانتين ) و كل مجموعة هي للون . مثلاً : #FFFFFF هي للون الابيض أي أنه ناتج عن دمج الألون التالية :
- الأحمر FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
- الأخضر FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
- الأزرق FF و بالتحويل من نظام العد السداسي عشر إلى العشري فهو يساوي 255 .
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 :
الكود :
شرح عن الكود :
تم بداية تعريف متحولات تدل على الأرجل المستخدمة للدخل المشترك ، و هذا لكي يصبح الكود سهل التعديل في حال استخدم أرجل أخرى ، ثم في تابع التهيئة setup و الذي ينفذ لمرة واحدة أول إقلاع المتحكم ، فإنه يتم تفعيل هذه الأرجل كخرج و أيضاً إنشاء اتصال تسلسلي للربط مع الحاسب بسرعة 9600 .
يتم في تابع الحلقة loop و الذي ينفذ طالما المتحكم في حالة عمل ، استقبال المحرف عبر هذا الاتصال في حال كان مهيئ و تخزينه في متحول من نوع محرف ، ثم يتم استخدام بنية switch لمعالجة الاحتمالات حسب المحرف .
فيديو التنفيذ :
خارج الموضوع تحويل الاكوادإخفاء الابتساماتإخفاء