الصنّاع العرب

التحكم فى شدة إضاءة ليد RGB Led باستخدام الأردوينو

وصف المشروع

الألوان الأساسية هى الأحمر الأخضر الأزرق وعند خلطهم ببعض تتنج بقية الألوان بداية من الأبيض حتى الأسود، وباستعمال 3 مقاومات متغيرة سوف نتحكم فى درجة كل لون (الأحمر Red) و (الأخضر Green) و (الأزرق Blue) وسوف يقوم الأردوينو بإرسال قيم الألوان إلى مصباح LED المتعدد الألوان والذى يعرف باسم RGB LED.

جدول المكونات

العدد النوع
1 لوحة أردوينو أونو Arduino Uno board
1 مصباح LED متعدد الألوان RGB LED
3 مقاومة 150 أوم Resistor 150 ohm
3 مقاومة متغيرة 10 كيلو أوم Potentiometer  10 k ohm
1 لوحة اختبار Bread board
مجموعة أسلاك توصيل connecting wires

 توصيل الدائرة

شرح المكونات

  • لوحة Arduino Uno

نستخدمها في التحكم فى الدائرة، استقبال وإرسال الإشارات بتوقيت معين وكيفية معينة نختارها طبقاً لعمل الدائرة وبواسطة الكود الذى سيتم شرحه لاحقاً.

يرجى تثبيت البرنامج الخاص بالأردوينو من هنا والذي سنستخدمه في كتابة الكود وعمل compiling ورفعه إلى لوحة الأردوينو عن طريق كابل USB، ولمعرفة كيفية تثبيت البيئة التطويرية المتكاملة لأردوينو (Arduino IDE) من هنا.

لتحميل ورقة البيانات datasheet الخاصة بلوحة الأردوينو أونو Arduino Uno اضغط هنا، ولتحميل نسخة أخرى اضغط هنا، ويوجد هنا في موقع الصناع العرب مواضيع مفصله عن الأردوينو وكيفية تنصيب البرنامج، وللمزيد يمكنك زيارة الموقع الخاص به من هنا.

  • مصباح led متعدد الألوان RGB LED

هذا النوع من الليد يحتوى على 4 أطراف: طرف للون الأحمر وطرف للون الأخضر وطرف للون الأزرف والطرف الرابع مشترك إما أن يكون common

الطرف المشترك إما أن يكون common anode أو common cathode، والرسم التالى يوضح الفرق بينهما:

فعليك تحديد أطراف الليد الذى معك أولاً حتى تستطيع توصيله بالشكل السليم، وفى هذه الدائرة سوف نستخدم النوع common cathode أي أن إشارة التشغيل التى ستأتي من الأردوينو للثلاث أطراف ستكون جهد موجب والطرف المشترك سيتم توصيله بالأرضي كما توضحه الرسمه.

يوجد فى الأسواق شريط لمبات RGB LED ويعرف باسم (rgb led strips) حيث يتكون من مجموعة كبيرة من الليدات وتعطى أشكالاً جميلة عند إضاءتها والتحكم بها بالأردوينو كما يوضحه هذا الملف المرفق من هنا وبالبحث على الإنترنت ستجد المزيد من التجارب.

لتحميل ورقة البيانات datasheet الخاصة بالليد RGB (منتج من إحدى الشركات كمثال) اضغط هنا.

  • المقاومات Resistors

  • المقاومة هي عنصر كهربى فائدته إعاقة مرور التيار بقدر معين يتناسب مع قيمة المقاومة، فالتيار المار فى مقاومة 100 أوم يكون أكبر من التيار المار في مقاومة 10 كيلو أوم عند تطبيق نفس قيمة الجهد عليهما.
    تقاس المقاومة بوحدة الأوم (ohm) ويرمز له بهذا الرمز: وشكل المقاومة في الدوائر كالتالي:

    أو

    وللمقاومة ألوان يتم من خلال ترتيب الألوان هذه تحديد قيمة كل مقاومة، والجدول التالى يوضح القيم الخاصة بكل لون:

    نحتاج في الدائرة عدد 3 مقاومات كل منها 150 أوم (بهذا اللون)

    من خلال هذا الرابط يمكنك حساب قيمة المقاومة بالألوان أو من هذا الرابط، وللمزيد من الشرح فى هذا الرابط.

  • المقاومة المتغيرة 10 كيلو أوم Potentiometer  10 K ohm

وتعرف بالإنجليزية Potentiometer  أي أنها تقسم الجهد الداخل إلى جهد أصغر، لذلك تختلف المقاومة المتغيرة عن المقاومة العادية في أنه يمكن تغيير قيمتها فى مدى معين مثلاً من 1 كيلو أوم وحتى 10 كيلو أوم، وهذه بعض أشكالها فى الطبيعة:


ولها 3 أطراف يوصل طرفان منها بمصدر الجهد والطرف الثالث يكون الخرج عليه قيمة الجهد المتغيرة حسب تحريك المفتاح وتكون بالطبع أقل من قيمة الجهد الكلي على طرفي المقاومة، والصور التالية توضح شكل المقاومة في الدوائر:

يرجى زيارة الرابط التالي للمزيد حول مجزئ الجهد من هنا.

  • لوحة اختبار الدوائر Bread board

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

تحتوي معظم اللوحات هذه على صفين على الجوانب أحدهما أحمر والآخر أزرق كما بالصورة بالأسفل (A و D)، وكل النقاط فى طول هذا الصف متصلة ببعض.

باقي النقاط فى المنتصف يمين ويسار الفراغ المنتصف (B و C) مقسمة طولياً وليس أفقياً كما بالأحمر والأزرق، والصورة التالية توضح لك النقاط المتصلة ببعضها:

ويتم تركيب العناصر بإدخال الأطراف المعدنية في الفراغات، والعناصر المراد توصيلها معاً يتم إدخال الأطراف في نفس العمود (حيث كل 4 نقاط رأسية متصلة ببعض).

ملحوظة: الصفين الموجب يمين ويسار اللوحة غير متصلين ببعض، والصفين الأرضي أيضاً لذا عليك توصيلهم بهذا الشكل:

وهذه الصورة توضح كيفية تغذية اللوحة بمصدر الجهد والأرضي من الأردوينو:

يمكنك تتبع الصورة في بداية الشرح لإتمام توصيل العناصر ببعضها، وللمزيد عن كيفية استخدام لوح التجارب (Breadboard) اضغط هنا.

  • مجموعة أسلاك التوصيل Connecting wires

ينصح بالحصول على مجموعة أسلاك للتوصيل مثل التي بالصورة وتستخدم في توصيل العناصر ببعضها أو التوصيل بأجزاء خارجية مثل لوحة الأردوينو والحساسات وغيرها.

وللمزيد عن استخدام الأسلاك (wires) اضغط هنا.

الكود البرمجي وتجربة وتشغيل الدائرة:

int OUT_R = 11;  //Red pin
int OUT_G = 9;   //Green pin
int OUT_B = 10;  //Blue pin
int IN_R = A3;   //Red control Potentiometer
int IN_G = A1;   //Green control Potentiometer
int IN_B = A2;   //Blue control Potentiometer
void setup() 
{
  //make 3 pins output for RGB LED pins
  pinMode(OUT_R, OUTPUT); 
  pinMode(OUT_G, OUTPUT);
  pinMode(OUT_B, OUTPUT);
  //make 3 pins inputs for Potentiometers
  pinMode(IN_R, INPUT);
  pinMode(IN_G, INPUT);
  pinMode(IN_B, INPUT);
}
void loop() 
{
   //reading the Potentiometers values and do mapping and send analog value to the LED pins
  analogWrite(OUT_R, map(analogRead(IN_R), 0, 1023, 0, 255));
  analogWrite(OUT_G, map(analogRead(IN_G), 0, 1023, 0, 255));
  analogWrite(OUT_B, map(analogRead(IN_B), 0, 1023, 0, 255));
  delay(1);
}

قم بإنشاء ملف مشروع جديد بالاسم الذي تريده واكتب الكود السابق فيه واحفظه عندك على جهازك، قم بتوصيل لوحة الأردوينو بالكمبيوتر لديك وارفع الكود إلى لوحة الأردوينو (upload).

يمكنك تجربة محاكاة الدائرة من هنا، وفى هذا الرابط ستجد الدائرة مرسومة كما هو مُوضح بالأعلى، للتشغيل اضغط على زر Start Simulation لبدء المحاكاة.

يمكنكم تحميل رسم وتصميم الدائرة ببرنامج Fritzing من هنا وملف كود الأردوينو من هنا.

ولتحميل برنامج Fritzing المجاني من خلال الموقع الخاص به اضغط هنا.

ويمكنك أيضا البحث فى موقع Fritzing وموقع المحاكاة circuits.io عن تصميمات ورسومات لدوائر مختلفة واسعة المجال وتطبيقات متنوعة ورائعة (جربها الآن).

أتمنى أن يكون الدرس مفيداً لكم.

محمد عبد الحميد

3 تعليقات

اترك رد

  • السلام عليكم ورحمة الله وبركاته

    المشروع جميل جزاكم الله خير الجزاء
    بالنسبة للون الابيض والاسود اظن لا يمكن تكوينهما من خلال هذا الليد (LED RGB).
    واذا كان بالامكان فالرجاء اعطاء التردد للثلاث الوان.

    • وعليكم السلام ورحمة الله وبركاته

      يمكنك تكوين اللون الأبيض عن طريق تحريك الثلاث المقاومات المتغيرة كلها إلى أقصى قيمة للألوان (الأحمر، الأخضر، الأزرق) لتكون (255، 255، 255). اللون الأسود لا يمكن تكوينه، لأنه لا يوجد ضوء أسود 🙂

      • وعليكم السلام

        اللون الأسود هو نفس حالة انطفاء الليد وقيمته هلى (0,0,0)
        ويمكن توليده ليظهر على الشاشات الملونة
        يمكنك مراجعة كل لون والكود الخاص به من هذا الرابط :

        http://html-color-codes.info/

تابعنا