Description:
- Forward Voltage:
- Red: 2.0-2.2
- Green: 3.0-3.2
- Blue: 3.0-3.2
- XY/WLD (MCD): R: 700-800 Green: 700-800 B: 300-400
- Light Color: RGB
- Size: 5mm length :about 4.5CM
- Colour : Red / Green / Blue
- Pins sequence: RED/Common Anode(positive terminal)/Green/Blue
- Led Type: Clear
- Luminous flux :4-5LM
- View Angle: 250 degrees
- NM : R:620-625, G:520-525, B:460-465
شرح :
اليوم سنتكلم عن موضوع جديد و ممتع في عالم الإضاءة ألا و هو ال RGB و سنتكلم عن ماهيته , و أنواعه و كيف يعمل ؟
كما سنتطرق لكيفية توصيله مع الأردوينو و نتعلم عدة تقنيات لبرمجته .
أولاً : ما هو ال RGB ؟
هو نوع من أنواع الباعث الضوئي LED يحتوي على الألوان الرئيسية المكونة لكل الألوان في الطبيعة "الأخضر و الأحمر و الأزرق" و عندما يتم خلط هذه الألوان بنسب مختلفة , تظهر ألوان أخرى نتيجة هذا الخلط , كالأصفر و الأبيض و الزهري ..ألخ كلٌ حسب نسبة "شدة" إضاءة كل لون من الألوان الأساسية RGB
تسمى هذه الطريقة بطريقة " الباعث متعدد الألوان " و هي بحاجة لدارة إلكترونية لعمل هذا الخلط بُغية الحصول على ألوان مختلفة .
يتكون ال RGB من 4 أرجل , رجل مشترك "مصعد أو مهبط" و رجل لكل لون رئيسي " أحمر ,أخضر , أزرق " كما في الصورة .
ال RGB يمكن أن يكون ذا مصعد مشترك أو مهبط مشترك , و لكل نوع طريقة مختلفة قليلاً في التحكم "أي في كود البرمجة"
لنبدأ العمل J :
لنبدأ الآن العمل و لنحضر المكونات الرئيسية لبداية تعاملنا مع ال RGB :
1) RGB LED 5mm
أنا استخدمت الباعث ذو المهبط المشترك
2)مقاومة 470 أوم .
3)أسلاك
4) لوحة تعليمية مثقوبة BreadBoard
5) أفوميتر
6) بطاقة أردوينو .
أولاً كيف نتحقق من نوعية ال RGB الذي بين يدينا ؟ هل هو مصعد مشترك أم مهبط مشترك ؟
1) أول طريقة للأختبار هو استخدام طريقة الأفوميتر , و التي تعتمد على خاصية فحص الديود في الجهاز , يجب عند وصل القطب الموجب للأفوميتر بالطرف الموجب للباعث الضوئي و الطرف السالب للأفوميتر بالطرف السالب للباعث الضوئي , يجب عندها أن يضيئ الLED أو أن تظهر قراءة على شاشة الجهاز .
و إذا لم يضيئ ال LED نقوم بعكس أقطاب الأفوميتر للتأكد .
إذا لم يضيئ ال LED فأعلم أن هناك عطل بالديود أو خطأ بضبط الجهاز
2) بإستخدام طريقة توصيل الدارة بمصدر تغذية :
فقط تقوم بإيصال التغذية للأقطاب بشكل صحيح " ولا تنسى المقاومة لكي لا يتلف الled .
ممتاز لقد أنتهينا من الجزء الأول من العمل .
السؤال التالي الآن ... ما هي النسبة التي يجب أن نخلط بها الألوان لنحصل على ألون المطلوب ؟ و كيف يتم ذلك بالبرمجة ؟
حسناً , يجب معرفة في البداية الألوان الفرعية و نسبة تداخل كل لون اساسي فيها , يتم معرفة هذا بطرق عديدة , حيث أن أغلب برامج الرسوم و التعامل مع الصور تعطي هذه النسب بشكل دقيق .
فمثلاً برنامج الpaint المتوافر لدى الجميع تقريباً يوفر ما نحتاجه للبرمجة , و طريقة الحصول على القيم كالآتي
كيفية توصيله :
يتم توصيل الدارة مع بطاقة الأردوينو على الشكل التالي :
يمكن أيضاً توصيل فقط مقاومة واحدة على المدخل المشترك " 150- 220 أوم " .
معلومة مهمة ايضاً حول برمجة ال RGB , حيث يمكننا عمل جدول يسمى جدول الحقيقة Truth table يمكننا معرفة ما هو اللون الذي سينتج عند كل عملية إدخال و هذا ما سنراه بعد قليل :
الآن لندخل للبرمجة ..
برمجة ال RGB باستخدام الأردوينو :
سنسنخدم طريقتين للبرمجة :
1) البرمجة باستخدام أوامر الإخراج الرقمية digital Write .
2) البرمجة باستخدام أوامر الإخراج التناظرية analog Write
و سنرى الفرق بين الطريقتين كما يلي :
1) البرمجة باستخدام أوامر الإخراج الرقمية digital Write:
يستحدم الأمر digital Write لتفعيل أو عدم تفعيل الخرج , و محددات استخدام هذه الطريقة هي محدودية الألوان التي يمكن الحصول عليها " عددها 23 و يساوي 8 ألوان فقط ! ."
سنقوم بعمل جدول حقيقة و استخدام طريقة برمجية الPaint لمعرفة الألوان التي ستظهر :
هذا ما سنستخدمه في كتابة برنامج الأردوينو الآن
أولاً جدول الحقيقة Truth Table هو جدول يتم وضع جميع الأحتمالات التي ستظهر عند تطبيق الأمر و إخراجه لمداخل المتحكم , أي بمعنى أخر هو جدول يوضح العلاقة بين المدخلات و المخرجات .
لنرى الجدول التالي و الذي يوضح جدول الحقيقة لمشروعنا :
|
جدول الحقيقة للRGB |
و للتوضيح أكثر , لو اردنا إظهار اللون الأحمر RED يجب أن تكون المداخل المربوطة مع مدخلي اللون الأزرق و الأخضر في وضع منخفضLOW و مدخل اللون الأحمر في وضع مرتفع HIGH و هكذا . توصيلة الدارة كما في الصورة أدناه .
توضيح بسيط للبرنامج ... قمت هنا بكتابة الأوامر في جملة استدعاء لوحدها و وضعت كل تعليمات الخرج فيها ثم قمت باستدعائها داخل جملة التكرار , مثال
Void setup(){
…….
}
Void Red(){
Write your code for red color ….
}
Void loop(){
// need to blink red color….
Red();….. call statement , here the prog. Will return to void Red and execute it then return to loop statement .
}
و هنا فيديو يبين تطبيق البرنامج على دارة عمليه :
التدوينة القادمة ستتحدث عن التحكم باستخدام أوامر الإخراج التناظرية analog Write