Innehållsförteckning:

Arduino Nano Baised IR -kontrollerad RGB LED: 5 steg
Arduino Nano Baised IR -kontrollerad RGB LED: 5 steg

Video: Arduino Nano Baised IR -kontrollerad RGB LED: 5 steg

Video: Arduino Nano Baised IR -kontrollerad RGB LED: 5 steg
Video: Using IR Remote Control with Arduino 2024, November
Anonim
Arduino Nano Baised IR -kontrollerad RGB LED
Arduino Nano Baised IR -kontrollerad RGB LED

i det här lilla projektet vill jag visa dig hur jag byggde Arduino -baserad RGB LED som styrs av IR -fjärrkontroll och drivs av USB -kabel.

Tillbehör

1. RGB LED

2. IR -mottagare

3. USB -kabel

4. Arduino nano

5. IR -fjärrkontroll

6. några kablar

7. 50-100 ohm motstånd (använder 47 ohm motstånd men det är inte så stor skillnad)

Steg 1: Välj din fjärrkontroll

Välj din fjärrkontroll
Välj din fjärrkontroll

Så vilken fjärrkontroll du använder är ditt beslut, men fjärrkontrollen ska ha 6 nycklar som du vill använda. 2 av dem är för rött, 2 av dem för grönt och 2 för blått.

Steg 2: Bygg det först på en brödbräda (inte nödvändigt men rekommenderas)

Bygg det först på en brödbräda (inte nödvändigt men rekommenderas)
Bygg det först på en brödbräda (inte nödvändigt men rekommenderas)
Bygg det först på en brödbräda (inte nödvändigt men rekommenderas)
Bygg det först på en brödbräda (inte nödvändigt men rekommenderas)

Bygg nu kretsen på en brödbräda

anslutningar:

RGB LED GND> Arduino nano GND

RGB LED Röd> Arduino nano Digital pin 5

RGB LED Grön> Arduino nano Digital pin 6

RGB LED Blå> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR -mottagarstift 1> Arduino nano Digital pin 4

IR -mottagarstift 2> Arduino nano GND

IR -mottagarstift 3> Arduino nano 5v

(alla anslutningar visas ovan)

(varje färgstift på RGB LED är seriekopplad till motstånd)

Steg 3: Koden

koden är följande:

Här är biblioteket som jag använde.

#omfatta

int IR_Recv = 4; // IR -mottagarstift

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Röd stift int G = 6; // Grön stift int B = 9; // Blå stift #definiera Rup1 1976685926 // får röd ljusstyrka att gå upp #definiera Rup2 3772818013 // får röd ljusstyrka att gå upp #definiera Rdown1 3843765582 // gör röd ljusstyrka gå ner #definiera Rdown2 3772813933 // får röd ljusstyrka att sjunka #definiera Gup1 3772797613 // får grön ljusstyrka att gå upp #definiera Gup2 3774104872 // får grön ljusstyrka att gå upp #definiera Gdown1 3772834333 // får grön ljusstyrka att sjunka #definiera Gdown2 1784778242 // får grön ljusstyrka att sjunka #definiera Bup1 3980777284 // gör blått ljusstyrka går upp #definiera Bup2 3772781293 // får blå ljusstyrka att gå upp #definiera Bdown1 3772801693 // får blå ljusstyrka att sjunka #definiera Bdown2 3361986248 // får blå ljusstyrka att sjunka // OBS: DU SKA BYTA NUMMER TILL DIN FJÄRR !!! ! // Jag har två dubblettnycklar, till exempel Rup1 och Rup2. eftersom // min fjärrkontroll matar ut 2 nummer när du trycker på en knapp. // i ditt fall kan du sätta samma nummer i Rup1 och Rup2, Gup1 och Gup2 och så en. // När du trycker på en knapp ska numret visas i seriell bildskärm, // Det är vad du ska skriva i avsnittet "#define". IRrecv irrecv (IR_Recv); resultat avkodningsresultat; 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); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RÖT fall Rup1: Rval = Rval + 10; ha sönder; fall Rup2: Rval = Rval + 10; ha sönder; fall Rdown1: Rval = Rval - 10; ha sönder; fall Rdown2: Rval = Rval - 10; ha sönder; //////////// GREEN case Gup1: Gval = Gval + 10; ha sönder; fall Gup2: Gval = Gval + 10; ha sönder; fall Gdown1: Gval = Gval - 10; ha sönder; fall Gdown2: Gval = Gval - 10; ha sönder; ////////////// BLÅ fall Bup1: Bval = Bval + 10; ha sönder; fall Bup2: Bval = Bval + 10; ha sönder; fall Bdown1: Bval = Bval - 10; ha sönder; fall Bdown2: Bval = Bval - 10; ha sönder; //////////////////////////////////////////////////// irrecv.resume (); } om (Rval> 255) (Rval = 255); om (Rval 255) (Gval = 255); if (Gval 255) (Bval = 255); om (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (resultat.värde); delayMicroseconds (1); }

Steg 4: Efterbehandling

Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling

Jag har inte gjort ett bra jobb med höljet. allt jag gjorde är att bara tejpa den, men jag försökte göra den så liten som möjligt.

Om du har några frågor eller misstag, berätta det för mig, jag ska göra mitt bästa för att hjälpa dig att åtgärda misstaget. tack för att du läser.

Rekommenderad: