Sisällysluettelo:

Arduino Nano Baised IR -ohjattu RGB -LED: 5 vaihetta
Arduino Nano Baised IR -ohjattu RGB -LED: 5 vaihetta

Video: Arduino Nano Baised IR -ohjattu RGB -LED: 5 vaihetta

Video: Arduino Nano Baised IR -ohjattu RGB -LED: 5 vaihetta
Video: HBFS Line Follower - Next Generation of Robots 2024, Marraskuu
Anonim
Arduino Nano Baised IR -ohjattu RGB -LED
Arduino Nano Baised IR -ohjattu RGB -LED

Tässä pienessä projektissa haluan näyttää sinulle, kuinka rakensin Arduino -pohjaisen RGB -LEDin, jota ohjataan infrapunakaukosäätimellä ja joka saa virtansa USB -kaapelilla.

Tarvikkeet

1. RGB -LED

2. IR -vastaanotin

3. USB -kaapeli

4. Arduino nano

5. IR -kaukosäädin

6. joitakin kaapeleita

7. 50-100 ohmin vastukset (käytän 47 ohmin vastuksia, mutta eroa ei ole paljon)

Vaihe 1: Valitse kaukosäädin

Valitse kaukosäädin
Valitse kaukosäädin

Joten mitä kauko -ohjainta käytät, on sinun valintasi, mutta kaukosäätimessä pitäisi olla 6 näppäintä, joita haluat käyttää. 2 niistä on punaisia, 2 vihreitä ja 2 sinisiä.

Vaihe 2: Rakenna se ensin leipälevylle (ei välttämätön, mutta suositeltava)

Rakenna se ensin leipälaudalle (ei välttämätön, mutta suositeltava)
Rakenna se ensin leipälaudalle (ei välttämätön, mutta suositeltava)
Rakenna se ensin leipälaudalle (ei välttämätön, mutta suositeltava)
Rakenna se ensin leipälaudalle (ei välttämätön, mutta suositeltava)

Rakenna nyt piiri leipälevylle

liitännät:

RGB LED GND> Arduino nano GND

RGB LED Punainen> Arduino nano Digital pin 5

RGB LED Vihreä> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR -vastaanottimen nasta 1> Arduino nano Digital pin 4

IR -vastaanottimen nasta 2> Arduino nano GND

IR -vastaanottimen nasta 3> Arduino nano 5v

(kaikki liitännät on esitetty yllä)

(jokainen RGB LED -värinappi on kytketty sarjaan vastuksiin)

Vaihe 3: Koodi

koodi on seuraava:

Tässä on kirjasto, jota käytin.

#sisältää

int IR_Recv = 4; // IR -vastaanottimen nasta

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Punainen nasta int G = 6; // Vihreä nasta int B = 9; // Sininen nasta #define Rup1 1976685926 // lisää punaisen kirkkauden #define Rup2 3772818013 // lisää punaisen kirkkauden #define Rdown1 3843765582 // vähentää punaista kirkkautta #define Rdown2 3772813933 // vähentää punaista kirkkautta #define Gup1 3772797613 // lisää vihreän kirkkauden #define Gup2 3774104872 // lisää vihreän kirkkauden #define Gdown1 3772834333 // vähentää vihreän kirkkauden #define Gdown2 1784778242 // vähentää vihreän kirkkauden #define Bdown1 3980777284 // tekee siniseksi kirkkaus nousee #define Bup2 3772781293 // saa sinisen kirkkauden nousemaan #define Bdown1 3772801693 // vähentää sinistä kirkkautta #define Bdown2 3361986248 // vähentää sinistä kirkkautta // HUOMAUTUS: Sinun pitäisi muuttaa kauko -ohjaimen numeroita !!! ! // Minulla on 2 päällekkäistä avainta, esimerkiksi Rup1 ja Rup2. koska // kaukosäädin antaa 2 numeroa, kun painat yhtä näppäintä. // sinun tapauksessasi voit laittaa samat numerot ryhmään Rup1 ja Rup2, Gup1 ja Gup2 ja niin yhteen. // Kun painat näppäintä, numeron pitäisi näkyä Sarjamonitorissa, // Tämä on kirjoitettava "#define" -osioon. IRrecv irrecv (IR_Recv); decode_results tulokset; 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); Sarja.alku (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; kytkin (tulokset.arvo) {//////////// PUNAINEN tapaus Rup1: Rval = Rval + 10; tauko; tapaus Rup2: Rval = Rval + 10; tauko; tapaus Rdown1: Rval = Rval - 10; tauko; tapaus Rdown2: Rval = Rval - 10; tauko; ///////////// VIHREÄ tapaus Gup1: Gval = Gval + 10; tauko; tapaus Gup2: Gval = Gval + 10; tauko; tapaus Gdown1: Gval = Gval - 10; tauko; tapaus Gdown2: Gval = Gval - 10; tauko; ////////////// SININEN tapaus Bup1: Bval = Bval + 10; tauko; tapaus Bup2: Bval = Bval + 10; tauko; tapaus Bdown1: Bval = Bval - 10; tauko; tapaus Bdown2: Bval = Bval - 10; tauko; ////////////////////////////////////////////////////////////////////////} irrecv.resume (); } jos (Rval> 255) (Rval = 255); jos (Rval 255) (Gval = 255); jos (Gval 255) (Bval = 255); jos (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Sarja.println (tulokset.arvo); delayMikrosekuntia (1); }

Vaihe 4: Viimeistely

Viimeistely
Viimeistely
Viimeistely
Viimeistely
Viimeistely
Viimeistely

En ole tehnyt hyvää kotelointityötä. tein vain teipin, mutta yritin tehdä siitä mahdollisimman pienen.

Jos sinulla on kysyttävää tai virheitä, kerro minulle, autan sinua parhaani mukaan korjaamaan virheen. kiitos lukemisesta.

Suositeltava: