Tartalomjegyzék:

Arduino Nano Baised IR vezérlésű RGB LED: 5 lépés
Arduino Nano Baised IR vezérlésű RGB LED: 5 lépés

Videó: Arduino Nano Baised IR vezérlésű RGB LED: 5 lépés

Videó: Arduino Nano Baised IR vezérlésű RGB LED: 5 lépés
Videó: BigTreeTech - SKR 3/SKR 3 EZ - Basics 2024, Július
Anonim
Arduino Nano Baised IR vezérlésű RGB LED
Arduino Nano Baised IR vezérlésű RGB LED

Ebben a kis projektben szeretném megmutatni, hogyan építettem fel Arduino alapú RGB LED -et, amelyet infravörös távirányító vezérel és USB kábellel táplál.

Kellékek

1. RGB LED

2. IR vevő

3. USB kábel

4. Arduino nano

5. IR távirányító

6. néhány kábel

7. 50-100 ohmos ellenállások (47 ohmos ellenállásokat használok, de nincs sok különbség)

1. lépés: Válassza ki a távirányítót

Válassza ki a távvezérlőt
Válassza ki a távvezérlőt

Tehát melyik távvezérlőt használja, az Ön döntése, de a távirányítónak 6 kulcsot kell tartalmaznia, amelyeket használni szeretne. Ebből 2 piros, 2 zöld és 2 kék.

2. lépés: Először a kenyértáblára építse (nem szükséges, de ajánlott)

Először a kenyértáblára építse (nem szükséges, de ajánlott)
Először a kenyértáblára építse (nem szükséges, de ajánlott)
Először a kenyértáblára építse (nem szükséges, de ajánlott)
Először a kenyértáblára építse (nem szükséges, de ajánlott)

Most építse fel az áramkört egy kenyértáblára

kapcsolatok:

RGB LED GND> Arduino nano GND

RGB LED Piros> Arduino nano Digital pin 5

RGB LED zöld> Arduino nano Digital pin 6

RGB LED kék> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR vevő pin 1> Arduino nano Digital pin 4

IR vevő 2 -es tű> Arduino nano GND

IR vevő 3 -as tű> Arduino nano 5v

(minden csatlakozás fent látható)

(az RGB LED minden színű csapja sorosan csatlakozik az ellenállásokhoz)

3. lépés: A kód

kód a következő:

Itt a könyvtár, amit használtam.

#befoglalni

int IR_Recv = 4; // IR vevő csapja

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Piros csap int G = 6; // Zöld csap int B = 9; // Kék csap #define Rup1 1976685926 // növeli a vörös fényerőt #define Rup2 3772818013 // növeli a piros fényerőt #define Rdown1 3843765582 // csökkenti a vörös fényerőt #define Rdown2 3772813933 // csökkenti a vörös fényerőt #define Gup1 3772797613 // növeli a zöld fényerőt #define Gup2 3774104872 // növeli a zöld fényerőt #define Gdown1 3772834333 // csökkenti a zöld fényerőt #define Gdown2 1784778242 // csökkenti a zöld fényerőt #define Bup1 3980777284 // kékre vált a fényerő emelkedik #define Bup2 3772781293 // a kék fényerő emelkedik #define Bdown1 3772801693 // csökken a kék fényerő #define Bdown2 3361986248 // csökkenti a kék fényerőt // MEGJEGYZÉS: SZÁMOT VÁLTOZTATNI TÁVOL !!! ! // 2 duplikált kulcsom van, például Rup1 és Rup2. mert // a távirányítóm 2 számot ad ki, ha megnyom egy gombot. // a te esetedben ugyanazokat a számokat teheted a Rup1 és Rup2, Gup1 és Gup2 közé, és így egyet. // Amikor megnyom egy gombot, a számnak megjelenik a Soros monitorban, // Ezt kell beírni a "#define" szakaszba. IRrecv irrecv (IR_Recv); decode_results eredmények; 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); Sorozat.kezdet (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RED case Rup1: Rval = Rval + 10; szünet; eset Rup2: Rval = Rval + 10; szünet; eset Rdown1: Rval = Rval - 10; szünet; Rdown2 eset: Rval = Rval - 10; szünet; //////////// ZÖLD eset Gup1: Gval = Gval + 10; szünet; Gup2 eset: Gval = Gval + 10; szünet; Gdown1 eset: Gval = Gval - 10; szünet; Gdown2 eset: Gval = Gval - 10; szünet; ///////////// KÉK eset Bup1: Bval = Bval + 10; szünet; Bup2 eset: Bval = Bval + 10; szünet; Bdown1 eset: Bval = Bval - 10; szünet; Bdown2 eset: Bval = Bval - 10; szünet; ////////////////////////// } ha (Rval> 255) (Rval = 255); ha (Rval 255) (Gval = 255); ha (Gval 255) (Bval = 255); ha (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMikroszekundumok (1); }

4. lépés: Befejezés

Végső
Végső
Végső
Végső
Végső
Végső

Nem tettem jó munkát a burkolással. csak ragasztószalagot csináltam, de megpróbáltam a lehető legkisebbre csökkenteni.

Ha bármilyen kérdése vagy hibája van, feltétlenül írja meg nekem, mindent megteszek, hogy segítsen a hiba kijavításában. köszönöm, hogy elolvasta.

Ajánlott: