Obsah:

Arduino Nano Baised IR riadená RGB LED: 5 krokov
Arduino Nano Baised IR riadená RGB LED: 5 krokov

Video: Arduino Nano Baised IR riadená RGB LED: 5 krokov

Video: Arduino Nano Baised IR riadená RGB LED: 5 krokov
Video: Супер конструктор на Ардуино Уно. Ардуино для начинающих. Автоматика, микроконтроллеры и электроника 2024, Júl
Anonim
Arduino Nano Baised IR riadená RGB LED
Arduino Nano Baised IR riadená RGB LED

v tomto malom projekte vám chcem ukázať, ako som postavil RGB LED na báze Arduino, ktoré je ovládané diaľkovým IR ovládačom a napájané káblom USB.

Zásoby

1. RGB LED

2. IR prijímač

3. USB kábel

4. Arduino nano

5. IR diaľkové ovládanie

6. nejaké káble

7. 50-100 ohmové odpory (používam 47 ohmové odpory, ale nie je veľký rozdiel)

Krok 1: Vyberte diaľkové ovládanie

Vyberte si diaľkové ovládanie
Vyberte si diaľkové ovládanie

Je na vás, ktoré diaľkové ovládanie použijete, ale vaše diaľkové ovládanie by malo mať 6 klávesov, ktoré chcete použiť. 2 z nich sú pre červenú, 2 pre zelenú a 2 pre modrú.

Krok 2: Najprv ho postavte na chlebovú dosku (nie je to nevyhnutné, ale odporúča sa)

Postavte ho najskôr na chlebovú dosku (nie je to nevyhnutné, ale odporúča sa)
Postavte ho najskôr na chlebovú dosku (nie je to nevyhnutné, ale odporúča sa)
Postavte ho najskôr na chlebovú dosku (nie je to nevyhnutné, ale odporúča sa)
Postavte ho najskôr na chlebovú dosku (nie je to nevyhnutné, ale odporúča sa)

Teraz postavte obvod na doske

spojenia:

RGB LED GND> Arduino nano GND

RGB LED červená> Arduino nano digitálny kolík 5

RGB LED zelená> Arduino nano digitálny kolík 6

RGB LED modrá> Arduino nano digitálny kolík 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

Pin 1 IR prijímača> Digitálny pin Arduino nano 4

IR prijímač pin 2> Arduino nano GND

IR prijímač pin 3> Arduino nano 5v

(všetky pripojenia sú uvedené vyššie)

(každý farebný kolík RGB LED je zapojený do série k rezistorom)

Krok 3: Kód

kód je nasledujúci:

Tu je knižnica, ktorú som použil.

#zahrnúť

int IR_Recv = 4; // pin IR prijímača

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Červený pin int G = 6; // Zelený pin int B = 9; // Modrý kolík #define Rup1 1976685926 // zvyšuje červený jas #define Rup2 3772818013 // zvyšuje červený jas #define Rdown1 3843765582 // znižuje červený jas #define Rdown2 3772813933 // znižuje červený jas #define Gup1 3772797613 // zvyšuje zelený jas #define Gup2 3774104872 // zvyšuje zelený jas #define Gdown1 3772834333 // znižuje zelený jas #define Gdown2 1784778242 // znižuje zelený jas #define Bup1 3980777284 // robí modrý jas stúpa #define Bup2 3772781293 // zvyšuje modrý jas #define Bdown1 3772801693 // znižuje modrý jas #define Bdown2 3361986248 // znižuje modrý jas // UPOZORNENIE: MALI BY STE ZMENIŤ ČÍSLA NA VZDIALENÝ !!! ! // Mám 2 duplicitné kľúče, napríklad Rup1 a Rup2. pretože // môj diaľkový ovládač zobrazí 2 čísla, keď stlačíte jedno tlačidlo. // vo vašom prípade môžete do Rup1 a Rup2, Gup1 a Gup2 vložiť rovnaké čísla, a tak k jednému. // Keď stlačíte kláves, číslo by sa malo objaviť v Sériovom monitore, // To by ste mali napísať do sekcie „#define“. IRrecv unbcv (IR_Recv); decode_results výsledky; neplatné nastavenie () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); unbcv.enableIRIn (); pinMode (R, VÝSTUP); pinMode (G, VÝSTUP); pinMode (B, VÝSTUP); Serial.begin (9600); } void loop () {if (unbcv.decode (& results)) {long int decCode = results.value; prepínač (results.value) {///////////// ČERVENÉ písmo Rup1: Rval = Rval + 10; prestávka; prípad Rup2: Rval = Rval + 10; prestávka; prípad Rdown1: Rval = Rval - 10; prestávka; prípad Rdown2: Rval = Rval - 10; prestávka; //////////// ZELENÝ prípad Gup1: Gval = Gval + 10; prestávka; prípad Gup2: Gval = Gval + 10; prestávka; prípad Gdown1: Gval = Gval - 10; prestávka; prípad Gdown2: Gval = Gval - 10; prestávka; /////////////// MODRÝ prípad Bup1: Bval = Bval + 10; prestávka; prípad Bup2: Bval = Bval + 10; prestávka; prípad Bdown1: Bval = Bval - 10; prestávka; prípad Bdown2: Bval = Bval - 10; prestávka; ////////////////////////////////////////////////recv.resume (); } if (Rval> 255) (Rval = 255); ak (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); oneskorenie mikrosekundy (1); }

Krok 4: Dokončenie

Dokončovanie
Dokončovanie
Dokončovanie
Dokončovanie
Dokončovanie
Dokončovanie

Nebo som neodviedol dobrú prácu s plášťom. všetko, čo som urobil, bolo len to zalepiť páskou, ale snažil som sa to urobiť čo najmenšie.

Ak máte akékoľvek otázky alebo chyby, určite mi dajte vedieť, urobím všetko pre to, aby som vám chybu napravil. vďaka za prečítanie.

Odporúča: