Բովանդակություն:

Arduino Nano Baised IR Controlled RGB LED: 5 քայլ
Arduino Nano Baised IR Controlled RGB LED: 5 քայլ

Video: Arduino Nano Baised IR Controlled RGB LED: 5 քայլ

Video: Arduino Nano Baised IR Controlled RGB LED: 5 քայլ
Video: Arduino IR Remote Control LED | Arduino IR Receiver 2024, Նոյեմբեր
Anonim
Arduino Nano Baised IR վերահսկվող RGB LED
Arduino Nano Baised IR վերահսկվող RGB LED

Այս փոքրիկ նախագծում ուզում եմ ձեզ ցույց տալ, թե ինչպես եմ կառուցել Arduino- ի վրա հիմնված RGB LED, որը վերահսկվում է IR հեռակառավարմամբ և սնուցվում է USB մալուխով:

Պարագաներ

1. RGB LED

2. IR ընդունիչ

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 Թվային փին 5

RGB LED կանաչ> Arduino nano Թվային փին 6

RGB LED Կապույտ> Arduino nano Թվային կապ 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR ընդունիչի քորոց 1> Arduino nano Թվային փին 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 և այլն մեկում: // Բանալին սեղմելիս համարը պետք է հայտնվի Սերիական մոնիտորում, // Ահա թե ինչ պետք է մուտքագրեք «#սահմանել» բաժնում: 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; ընդմիջում; //////////// Կանաչ գործ Gup1: Gval = Gval + 10; ընդմիջում; գործ Gup2: Gval = Gval + 10; ընդմիջում; գործ Gdown1: Gval = Gval - 10; ընդմիջում; գործ Gdown2: Gval = Gval - 10; ընդմիջում; ////////////// ԿԱՊՈ case գործ Bup1: Bval = Bval + 10; ընդմիջում; գործ Bup2: Bval = Bval + 10; ընդմիջում; գործ Bdown1: Bval = Bval - 10; ընդմիջում; գործ Bdown2: Bval = Bval - 10; ընդմիջում; //////////////////////////////////////////recv.resume (); } if (Rval> 255) (Rval = 255); եթե (Rval 255) (Gval = 255); եթե (Gval 255) (Bval = 255); եթե (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); միկրովայրկյաններ (1); }

Քայլ 4: Ավարտում

Ավարտում
Ավարտում
Ավարտում
Ավարտում
Ավարտում
Ավարտում

Ես դրախտում լավ աշխատանք չեմ կատարել: այն ամենը, ինչ ես արել եմ, պարզապես սոսնձելն է, բայց ես փորձել եմ այն հնարավորինս փոքր դարձնել:

Եթե ունեք որևէ հարց կամ որևէ սխալ, անպայման ասեք ինձ, ես կանեմ հնարավորը ՝ օգնելու ձեզ ուղղել սխալը: շնորհակալություն կարդալու համար:

Խորհուրդ ենք տալիս: