جدول المحتويات:

Arduino Nano Baised IR RGB LED: 5 خطوات
Arduino Nano Baised IR RGB LED: 5 خطوات

فيديو: Arduino Nano Baised IR RGB LED: 5 خطوات

فيديو: Arduino Nano Baised IR RGB LED: 5 خطوات
فيديو: online simulation of an RGB led with arduino nano in wokwi | controlling rgb led with nano 2024, يوليو
Anonim
اردوينو نانو مع تحكم بالأشعة تحت الحمراء RGB LED
اردوينو نانو مع تحكم بالأشعة تحت الحمراء RGB LED

في هذا المشروع الصغير ، أود أن أوضح لك كيف قمت ببناء RGB LED القائم على Arduino والذي يتم التحكم فيه عن طريق جهاز التحكم عن بعد بالأشعة تحت الحمراء ويتم تشغيله بواسطة كابل USB.

اللوازم

1. RGB LED

2. مستقبل الأشعة تحت الحمراء

3. كبل USB

4. اردوينو نانو

5. IR عن بعد

6. بعض الكابلات

7. 50-100 أوم مقاومات (أنا أستخدم مقاومات 47 أوم ولكن لا يوجد فرق كبير)

الخطوة 1: اختر جهاز التحكم عن بعد الخاص بك

اختر جهاز التحكم عن بعد الخاص بك
اختر جهاز التحكم عن بعد الخاص بك

إذن أي جهاز تحكم عن بعد تستخدمه هو قرارك ، ولكن يجب أن يحتوي جهاز التحكم عن بُعد على 6 مفاتيح تريد استخدامها. 2 منهم للأحمر ، 2 منهم للأخضر و 2 للأزرق.

الخطوة 2: قم ببنائه على لوح الخبز أولاً (ليس ضروريًا ولكن موصى به)

قم ببنائه على لوح الخبز أولاً (ليس ضروريًا ولكن موصى به)
قم ببنائه على لوح الخبز أولاً (ليس ضروريًا ولكن موصى به)
قم ببنائه على لوح الخبز أولاً (ليس ضروريًا ولكن موصى به)
قم ببنائه على لوح الخبز أولاً (ليس ضروريًا ولكن موصى به)

الآن ، قم ببناء الدائرة على لوح التجارب

روابط:

RGB LED GND> Arduino nano GND

RGB LED أحمر> Arduino nano Digital pin 5

RGB LED أخضر> Arduino nano Digital pin 6

RGB LED أزرق> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5 فولت> اردوينو نانو 5 فولت

منفذ استقبال الأشعة تحت الحمراء 1> اردوينو نانو ديجيتال دبوس 4

منفذ استقبال الأشعة تحت الحمراء 2> Arduino nano GND

دبوس استقبال الأشعة تحت الحمراء 3> اردوينو نانو 5 فولت

(جميع الاتصالات موضحة أعلاه)

(كل دبوس لون من RGB LED متصل سلسلة بالمقاومات)

الخطوة الثالثة: الكود

الكود هو التالي:

هذه هي المكتبة التي استخدمتها.

#يشمل

int IR_Recv = 4 ؛ // IR استقبال دبوس

int Rval = 0 ؛ int Gval = 0 ؛ int Bval = 0 ؛ int RvalDemo = 0 ؛ int GvalDemo = 0 ؛ int BvalDemo = 0 ؛ int R = 5 ؛ // Red pin int G = 6 ؛ // Green pin int B = 9 ؛ // Blue pin #define Rup1 1976685926 // يجعل السطوع الأحمر يرتفع #define Rup2 3772818013 // يجعل السطوع الأحمر يرتفع #define Rdown1 3843765582 // يجعل السطوع الأحمر ينخفض #define Rdown2 3772813933 // يجعل السطوع الأحمر ينخفض # تعريف Gup1 3772797613 // يجعل السطوع الأخضر يرتفع #define Gup2 3774104872 // يجعل السطوع الأخضر يرتفع #define Gdown1 3772834333 // يجعل السطوع الأخضر ينخفض #define Gdown2 1784778242 // يجعل السطوع الأخضر ينخفض #define Bup1 3980777284 // يجعل اللون الأزرق سطوع يرتفع #define Bup2 3772781293 // يجعل السطوع الأزرق يرتفع #define Bdown1 3772801693 // يجعل السطوع الأزرق ينخفض #define Bdown2 3361986248 // يجعل السطوع الأزرق ينخفض // ملاحظة: يجب عليك تغيير الأرقام إلى عن بعد !!! ! // لدي 2 من المفاتيح المكررة على سبيل المثال Rup1 و Rup2. بسبب // إخراج جهاز التحكم عن بعد رقمين عند الضغط على مفتاح واحد. // في حالتك ، يمكنك وضع نفس الأرقام في Rup1 و Rup2 و Gup1 و Gup2 وهكذا واحد. // عندما تضغط على مفتاح ، يجب أن يظهر الرقم في الشاشة التسلسلية ، // هذا ما يجب أن تكتبه في قسم "# تعريف". IRrecv irrecv (IR_Recv) ؛ نتائج decode_results ؛ إعداد باطل () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20) ؛ TCCR2B = _BV (CS22) ؛ irrecv.enableIRIn () ، pinMode (R ، الإخراج) ؛ pinMode (G ، الإخراج) ؛ pinMode (B ، الإخراج) ؛ Serial.begin (9600) ؛ } حلقة فارغة () {if (irrecv.decode (& results)) {long int decCode = results.value؛ التبديل (results.value) {/////////// RED case Rup1: Rval = Rval + 10 ؛ استراحة؛ الحالة Rup2: Rval = Rval + 10 ؛ استراحة؛ الحالة Rdown1: Rval = Rval - 10 ؛ استراحة؛ الحالة Rdown2: Rval = Rval - 10 ؛ استراحة؛ //////////// GREEN case Gup1: Gval = Gval + 10 ؛ استراحة؛ الحالة Gup2: Gval = Gval + 10 ؛ استراحة؛ الحالة Gdown1: Gval = Gval - 10 ؛ استراحة؛ الحالة Gdown2: Gval = Gval - 10 ؛ استراحة؛ ///////////// BLUE case Bup1: Bval = Bval + 10 ؛ استراحة؛ الحالة Bup2: Bval = Bval + 10 ؛ استراحة؛ الحالة Bdown1: Bval = Bval - 10 ؛ استراحة؛ الحالة Bdown2: Bval = Bval - 10 ؛ استراحة؛ //////////////////////////////////////////} irrecv.resume () ؛ } إذا (Rval> 255) (Rval = 255) ؛ إذا (Rval 255) (Gval = 255) ؛ إذا (Gval 255) (بفال = 255) ؛ إذا (Bval <0) (Bval = 0) ؛ analogWrite (R ، Rval) ؛ analogWrite (G ، Gval) ؛ analogWrite (ب ، بفال) ؛ Serial.println (results.value) ؛ تأخير ميكروثانية (1) ؛ }

الخطوة 4: التشطيب

التشطيب
التشطيب
التشطيب
التشطيب
التشطيب
التشطيب

لم أقم بعمل جيد في الغلاف. كل ما فعلته هو مجرد تسجيله ، لكنني حاولت أن أجعله صغيرًا قدر الإمكان.

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

موصى به: