Sisukord:

Arduino Nano Baised IR -juhitav RGB LED: 5 sammu
Arduino Nano Baised IR -juhitav RGB LED: 5 sammu

Video: Arduino Nano Baised IR -juhitav RGB LED: 5 sammu

Video: Arduino Nano Baised IR -juhitav RGB LED: 5 sammu
Video: 🚨 Подключение RGB светодиода к ARDUINO 2024, Juuli
Anonim
Arduino Nano Baised IR -juhitav RGB LED
Arduino Nano Baised IR -juhitav RGB LED

selles väikeses projektis tahan teile näidata, kuidas ma ehitasin Arduino -põhise RGB LED -i, mida juhib IR -kaugjuhtimispult ja mida toidab USB -kaabel.

Tarvikud

1. RGB LED

2. IR vastuvõtja

3. USB -kaabel

4. Arduino nano

5. IR kaugjuhtimispult

6. mõned kaablid

7. 50-100 oomi takistid (kasutan 47 oomi takistit, kuid vahet pole palju)

Samm: valige kaugjuhtimispult

Valige oma kaugjuhtimispult
Valige oma kaugjuhtimispult

Nii et millist kaugjuhtimispulti te kasutate, on teie otsus, kuid kaugjuhtimispuldil peaks olema 6 võtit, mida soovite kasutada. 2 neist on punase, 2 rohelise ja 2 sinise jaoks.

Samm: ehitage see kõigepealt leivaplaadile (mitte vajalik, kuid soovitatav)

Ehitage see kõigepealt leivalauale (mitte vajalik, kuid soovitatav)
Ehitage see kõigepealt leivalauale (mitte vajalik, kuid soovitatav)
Ehitage see kõigepealt leivalauale (mitte vajalik, kuid soovitatav)
Ehitage see kõigepealt leivalauale (mitte vajalik, kuid soovitatav)

Nüüd ehitage vooluring leivaplaadile

ühendused:

RGB LED GND> Arduino nano GND

RGB LED punane> Arduino nano digitaalne tihvt 5

RGB LED roheline> Arduino nano digitaalne tihvt 6

RGB LED sinine> Arduino nano digitaalne tihvt 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR vastuvõtja pin 1> Arduino nano Digital pin 4

IR vastuvõtja tihvt 2> Arduino nano GND

IR vastuvõtja tihvt 3> Arduino nano 5v

(kõik ühendused on näidatud ülal)

(iga RGB LED -i värviline tihvt on ühendatud järjestikku takistitega)

3. samm: kood

kood on järgmine:

Siin on raamatukogu, mida ma kasutasin.

#kaasake

int IR_Recv = 4; // IR vastuvõtja tihvt

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Punane tihvt int G = 6; // Roheline tihvt int B = 9; // Sinine tihvt #define Rup1 1976685926 // paneb punase heleduse tõusma #define Rup2 3772818013 // muudab punase heleduse suuremaks #define Rdown1 3843765582 // vähendab punase heledust #define Rdown2 3772813933 // vähendab punase heledust #define Gup1 3772797613 // suurendab rohelise heledust #define Gup2 3774104872 // suurendab rohelise heledust #define Gdown1 3772834333 // vähendab rohelise heledust #define Gdown2 1784778242 // vähendab rohelise heledust #define Bup1 3980777284 // muudab siniseks heledus tõuseb #define Bup2 3772781293 // paneb sinise heleduse tõusma #define Bdown1 3772801693 // vähendab sinist heledust #define Bdown2 3361986248 // vähendab sinist heledust // MÄRKUS: KAUGILE TULEKS MUUDA ARVU !!! ! // Mul on 2 topeltvõtit, näiteks Rup1 ja Rup2. sest // minu kaugjuhtimispult väljastab ühe klahvi vajutamisel 2 numbrit. // teie puhul võite panna samad numbrid Rup1 ja Rup2, Gup1 ja Gup2 ja nii üks. // Kui vajutate klahvi, peaks number ilmuma jadamonitori, // Seda peaksite sisestama sektsiooni "#define". IRrecv irrecv (IR_Recv); decode_results tulemused; tühine seadistus () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, VÄLJUND); pinMode (G, VÄLJUND); pinMode (B, VÄLJUND); Seriaalne algus (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; lüliti (results.value) {//////////// PUNANE juhtum Rup1: Rval = Rval + 10; murda; juhtum Rup2: Rval = Rval + 10; murda; juhtum Rdown1: Rval = Rval - 10; murda; juhtum Rdown2: Rval = Rval - 10; murda; //////////// GREEN juhtum Gup1: Gval = Gval + 10; murda; juhtum Gup2: Gval = Gval + 10; murda; juhtum Gdown1: Gval = Gval - 10; murda; juhtum Gdown2: Gval = Gval - 10; murda; ///////////// SININE juhtum Bup1: Bval = Bval + 10; murda; juhtum Bup2: Bval = Bval + 10; murda; juhtum Bdown1: Bval = Bval - 10; murda; juhtum Bdown2: Bval = Bval - 10; murda; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } kui (Rval> 255) (Rval = 255); kui (Rval 255) (Gval = 255); kui (Gval 255) (Bval = 255); kui (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMikrosekundid (1); }

4. samm: viimistlemine

Viimistlus
Viimistlus
Viimistlus
Viimistlus
Viimistlus
Viimistlus

Ma pole taevastamisega hästi hakkama saanud. Kõik, mida ma tegin, oli lihtsalt lindistamine, kuid püüdsin selle võimalikult väikeseks muuta.

Kui teil on küsimusi või vigu, rääkige sellest mulle kindlasti, ma annan endast parima, et aidata teil viga parandada. aitäh lugemast.

Soovitan: