فهرست مطالب:

Arduino Nano Baised IR Controlled RGB LED: 5 مرحله
Arduino Nano Baised IR Controlled RGB LED: 5 مرحله

تصویری: Arduino Nano Baised IR Controlled RGB LED: 5 مرحله

تصویری: Arduino Nano Baised IR Controlled RGB LED: 5 مرحله
تصویری: Arduino IR Remote Control LED | Arduino IR Receiver 2024, جولای
Anonim
آردوینو نانو Baised IR کنترل RGB LED
آردوینو نانو Baised IR کنترل RGB LED

در این پروژه کوچک می خواهم به شما نشان دهم که چگونه LED RGB مبتنی بر آردوینو را ساخته ام که توسط ریموت IR کنترل می شود و توسط کابل USB تغذیه می شود.

تدارکات

1. LED RGB

2. گیرنده IR

3. کابل USB

4. آردوینو نانو

5. از راه دور IR

6. برخی از کابل ها

7. مقاومتهای 50-100 اهم (من از مقاومتهای 47 اهم استفاده می کنم اما تفاوت زیادی وجود ندارد)

مرحله 1: راه دور خود را انتخاب کنید

راه دور خود را انتخاب کنید
راه دور خود را انتخاب کنید

بنابراین تصمیم شما از کدام ریموت استفاده می کنید ، اما ریموت شما باید دارای 6 کلید باشد که می خواهید از آنها استفاده کنید. 2 مورد برای قرمز ، 2 مورد برای سبز و 2 مورد برای آبی است.

مرحله 2: ابتدا آن را روی تخته نان بسازید (ضروری نیست اما توصیه می شود)

ابتدا آن را روی تخته نان بسازید (ضروری نیست اما توصیه می شود)
ابتدا آن را روی تخته نان بسازید (ضروری نیست اما توصیه می شود)
ابتدا آن را روی تخته نان بسازید (ضروری نیست اما توصیه می شود)
ابتدا آن را روی تخته نان بسازید (ضروری نیست اما توصیه می شود)

حالا ، مدار را روی تخته نان بسازید

اتصالات:

RGB LED GND> آردوینو نانو GND

RGB LED قرمز> آردوینو نانو پین دیجیتال 5

RGB LED Green> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> آردوینو نانو 5 ولت

پین گیرنده مادون قرمز 1> آردوینو نانو پین دیجیتال 4

پین گیرنده IR 2> Arduino nano GND

پین گیرنده IR 3> Arduino nano 5v

(همه اتصالات در بالا نشان داده شده است)

(هر پین رنگی RGB LED به مقاومت به صورت متصل می شود)

مرحله 3: کد

کد زیر است:

اینجا کتابخانه ای است که من استفاده کردم.

#عبارتند از

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 ؛ // پین قرمز int G = 6؛ // پین سبز int B = 9؛ // پین آبی #تعریف Rup1 1976685926 // باعث افزایش روشنایی قرمز می شود #تعریف Rup2 3772818013 // باعث افزایش روشنایی قرمز می شود #تعریف Rdown1 3843765582 // باعث کاهش روشنایی قرمز می شود #تعریف Rdown2 3772813933 // باعث کاهش روشنایی قرمز #تعریف Gup1 3772797613 // باعث افزایش روشنایی سبز می شود #تعریف Gup2 3774104872 // باعث افزایش روشنایی سبز می شود #تعریف Gdown1 3772834333 // باعث کاهش روشنایی سبز #تعریف Gdown2 1784778242 // کاهش روشنایی سبز #تعریف Bup1 3980777284 // آبی روشنایی بالا می رود #تعریف Bup2 3772781293 // باعث افزایش روشنایی آبی می شود #تعریف Bdown1 3772801693 // باعث می شود روشنایی آبی کاهش یابد #تعریف Bdown2 3361986248 // باعث کاهش روشنایی آبی می شود // توجه: شما باید شماره ها را از راه دور تغییر دهید !!! ! // من 2 کلید تکراری برای مثال Rup1 و Rup2 دارم. زیرا // هنگامی که یک کلید را فشار می دهید ، ریموت من 2 عدد را نشان می دهد. // در مورد شما ممکن است شماره های یکسانی را در Rup1 و Rup2 ، Gup1 و Gup2 و به همین ترتیب یکی قرار دهید. // وقتی یک کلید را فشار می دهید ، شماره باید در مانیتور سریال ظاهر شود ، // این همان چیزی است که باید در قسمت "#define" تایپ کنید. IRrecv irrecv (IR_Recv) ؛ decode_results results؛ void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20) ؛ TCCR2B = _BV (CS22) ؛ irrecv.enableIRIn ()؛ pinMode (R ، OUTPUT) ؛ pinMode (G ، OUTPUT) ؛ pinMode (B ، OUTPUT) ؛ Serial.begin (9600)؛ } void loop () {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 Bup1: Bval = Bval + 10؛ زنگ تفريح؛ مورد Bup2: Bval = Bval + 10 ؛ زنگ تفريح؛ مورد Bdown1: Bval = Bval - 10 ؛ زنگ تفريح؛ مورد Bdown2: Bval = Bval - 10 ؛ زنگ تفريح؛ /////////////////////////////////////////recs.resume ()؛ } if (Rval> 255) (Rval = 255)؛ if (Rval 255) (Gval = 255) ؛ if (Gval 255) (Bval = 255) ؛ if (Bval <0) (Bval = 0) ؛ analogWrite (R ، Rval) ؛ analogWrite (G ، Gval) ؛ analogWrite (B ، Bval) ؛ Serial.println (results.value) ؛ تاخیر میکروثانیه (1) ؛ }

مرحله 4: پایان کار

به پایان رساندن
به پایان رساندن
به پایان رساندن
به پایان رساندن
به پایان رساندن
به پایان رساندن

من به خوبی کار پوشش را انجام ندادم. تمام کاری که من انجام دادم فقط نوار چسب بود ، اما سعی کردم تا آنجا که ممکن است آن را کوچک کنم.

اگر س questionsالی دارید یا اشتباهی دارید ، حتماً به من بگویید ، من تمام تلاش خود را می کنم تا به شما در رفع اشتباه کمک کنم. ممنون که خواندید

توصیه شده: