Obsah:

Arduino Nano Baised IR ovládaná RGB LED: 5 kroků
Arduino Nano Baised IR ovládaná RGB LED: 5 kroků

Video: Arduino Nano Baised IR ovládaná RGB LED: 5 kroků

Video: Arduino Nano Baised IR ovládaná RGB LED: 5 kroků
Video: How To Make A DIY Arduino Joystick Control Car At Home 2024, Červenec
Anonim
Arduino Nano Baised IR ovládaná RGB LED
Arduino Nano Baised IR ovládaná RGB LED

v tomto malém projektu vám chci ukázat, jak jsem postavil RGB LED na bázi Arduina, které je ovládáno IR dálkovým ovladačem a napájeno kabelem USB.

Zásoby

1. RGB LED

2. IR přijímač

3. USB kabel

4. Arduino nano

5. IR dálkové ovládání

6. nějaké kabely

7. 50-100 ohm odpory (používám odpory 47 ohm, ale není velký rozdíl)

Krok 1: Vyberte svůj dálkový ovladač

Vyberte svůj dálkový ovladač
Vyberte svůj dálkový ovladač

To, které dálkové ovládání použijete, je vaše rozhodnutí, ale vaše dálkové ovládání by mělo mít 6 klíčů, které chcete použít. 2 z nich jsou pro červenou, 2 pro zelenou a 2 pro modrou.

Krok 2: Nejprve jej postavte na prkénko (není nutné, ale doporučeno)

Nejprve jej postavte na prkénko (není nutné, ale doporučeno)
Nejprve jej postavte na prkénko (není nutné, ale doporučeno)
Nejprve jej postavte na prkénko (není nutné, ale doporučeno)
Nejprve jej postavte na prkénko (není nutné, ale doporučeno)

Nyní postavte obvod na prkénku

připojení:

RGB LED GND> Arduino nano GND

RGB LED červená> Arduino nano digitální pin 5

RGB LED zelená> Arduino nano digitální pin 6

RGB LED modrá> Arduino nano digitální pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR přijímač pin 1> Arduino nano Digital pin 4

IR přijímač pin 2> Arduino nano GND

IR přijímač pin 3> Arduino nano 5v

(všechna připojení jsou uvedena výše)

(každý barevný pin RGB LED je zapojen do série k rezistorům)

Krok 3: Kód

kód je následující:

Zde je knihovna, kterou jsem použil.

#zahrnout

int IR_Recv = 4; // Pin IR přijímače

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 // snižuje červený jas #define Rdown2 3772813933 // snižuje červený jas #define Gup1 3772797613 // zvyšuje zelený jas #define Gup2 3774104872 // zvyšuje zelený jas #define Gdown1 3772834333 // snižuje zelený jas #define Gdown2 1784778242 // snižuje zelený jas #define Bup1 3980777284 // dělá modrou jas stoupá #define Bup2 3772781293 // zvyšuje modrý jas #define Bdown1 3772801693 // snižuje modrý jas #define Bdown2 3361986248 // snižuje modrý jas // UPOZORNĚNÍ: MUSÍTE ZMĚNIT ČÍSLA NA SVÉ DÁLKOVÉ !!! ! // Mám 2 duplicitní klíče, například Rup1 a Rup2. protože // moje dálkové ovládání vydá 2 čísla, když stisknete jednu klávesu. // ve vašem případě můžete zadat stejná čísla do Rup1 a Rup2, Gup1 a Gup2 a tak do jednoho. // Když stisknete klávesu, číslo by se mělo objevit v Sériovém monitoru, // To byste měli zadat do sekce "#define". IRrecv unbcv (IR_Recv); decode_results výsledky; neplatné nastavení () {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; switch (results.value) {///////////// ČERVENÉ pouzdro Rup1: Rval = Rval + 10; přestávka; případ Rup2: Rval = Rval + 10; přestávka; případ Rdown1: Rval = Rval - 10; přestávka; případ Rdown2: Rval = Rval - 10; přestávka; //////////// ZELENÝ případ Gup1: Gval = Gval + 10; přestávka; případ Gup2: Gval = Gval + 10; přestávka; případ Gdown1: Gval = Gval - 10; přestávka; případ Gdown2: Gval = Gval - 10; přestávka; /////////////// MODRÉ pouzdro Bup1: Bval = Bval + 10; přestávka; případ Bup2: Bval = Bval + 10; přestávka; případ Bdown1: Bval = Bval - 10; přestávka; případ Bdown2: Bval = Bval - 10; přestávka; ////////////////////////////////////////////////recv.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); delayMicroseconds (1); }

Krok 4: Dokončení

Dokončování
Dokončování
Dokončování
Dokončování
Dokončování
Dokončování

Neudělal jsem dobrou práci s pouzdrem. vše, co jsem udělal, bylo jen to páskovat, ale snažil jsem se to udělat co nejmenší.

Pokud máte nějaké dotazy nebo chyby, určitě mi to řekněte, udělám vše, co je v mých silách, abych vám pomohl chybu opravit. Děkuji za přečtení.

Doporučuje: