Innholdsfortegnelse:

Arduino Nano Baised IR -kontrollert RGB LED: 5 trinn
Arduino Nano Baised IR -kontrollert RGB LED: 5 trinn

Video: Arduino Nano Baised IR -kontrollert RGB LED: 5 trinn

Video: Arduino Nano Baised IR -kontrollert RGB LED: 5 trinn
Video: IR Sensor and LED with arduino (with code explained) | All digital sensors | Arduino tutorial 4 2024, Juli
Anonim
Arduino Nano Baised IR -kontrollert RGB LED
Arduino Nano Baised IR -kontrollert RGB LED

i dette lille prosjektet vil jeg vise deg hvordan jeg bygde Arduino -basert RGB LED som styres av IR -fjernkontroll og drives av USB -kabel.

Rekvisita

1. RGB LED

2. IR -mottaker

3. USB -kabel

4. Arduino nano

5. IR -fjernkontroll

6. noen kabler

7. 50-100 ohm motstander (bruker 47 ohm motstander, men det er ikke mye forskjell)

Trinn 1: Velg fjernkontrollen

Velg fjernkontrollen
Velg fjernkontrollen

Så hvilken fjernkontroll du bruker er din avgjørelse, men fjernkontrollen skal ha 6 nøkler som du vil bruke. 2 av dem er for rød, 2 av dem for grønn og 2 for blå.

Trinn 2: Bygg det på et brødbrett først (ikke nødvendig, men anbefalt)

Bygg det på et brødbrett først (ikke nødvendig, men anbefalt)
Bygg det på et brødbrett først (ikke nødvendig, men anbefalt)
Bygg det på et brødbrett først (ikke nødvendig, men anbefalt)
Bygg det på et brødbrett først (ikke nødvendig, men anbefalt)

Bygg nå kretsen på et brødbrett

tilkoblinger:

RGB LED GND> Arduino nano GND

RGB LED rød> Arduino nano Digital pin 5

RGB LED grønn> Arduino nano Digital pin 6

RGB LED blå> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR -mottakerpinne 1> Arduino nano Digital pin 4

IR -mottakerpinne 2> Arduino nano GND

IR -mottaker pin 3> Arduino nano 5v

(alle tilkoblinger er vist ovenfor)

(hver fargepinne på RGB LED er seriekoblet til motstander)

Trinn 3: Koden

koden er følgende:

Her er biblioteket jeg brukte.

#inkludere

int IR_Recv = 4; // IR -mottakerpinne

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Rød pin int G = 6; // Grønn pin int B = 9; // Blå pinne #define Rup1 1976685926 // får rød lysstyrke til å gå opp #definere Rup2 3772818013 // får rød lysstyrke til å gå opp #definere Rdown1 3843765582 // får rød lysstyrke til å gå ned #definere Rdown2 3772813933 // får rød lysstyrke til å gå ned #definere Gup1 3772797613 // får grønn lysstyrke til å gå opp #definere Gup2 3774104872 // får grønn lysstyrke til å gå opp #definere Gdown1 3772834333 // får grønn lysstyrke til å gå ned #definere Gdown2 1784778242 // får grønn lysstyrke til å gå ned #definere Bup1 3980777284 // gjør blått lysstyrken går opp #definerer Bup2 3772781293 // får blå lysstyrke til å gå opp #definerer Bdown1 3772801693 // får blå lysstyrke til å gå ned #definerer Bdown2 3361986248 // gjør blå lysstyrke ned // MERK: DU SKAL ENDRE TALL TIL DIN FJERN !!! ! // Jeg har to duplikatnøkler, for eksempel Rup1 og Rup2. fordi // min fjernkontroll sender ut 2 tall når du trykker på en tast. // i ditt tilfelle kan du sette de samme tallene i Rup1 og Rup2, Gup1 og Gup2 og så en. // Når du trykker på en tast, skal nummeret vises i seriell skjerm, // Det er det du bør skrive i "#define" -delen. IRrecv irrecv (IR_Recv); resultater for dekoderesultater; ugyldig oppsett () {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) {/////////// RED case Rup1: Rval = Rval + 10; gå i stykker; tilfelle Rup2: Rval = Rval + 10; gå i stykker; case Rdown1: Rval = Rval - 10; gå i stykker; case Rdown2: Rval = Rval - 10; gå i stykker; //////////// GREEN case Gup1: Gval = Gval + 10; gå i stykker; case Gup2: Gval = Gval + 10; gå i stykker; sak Gdown1: Gval = Gval - 10; gå i stykker; sak Gdown2: Gval = Gval - 10; gå i stykker; /////////////// BLÅ sak Bup1: Bval = Bval + 10; gå i stykker; sak Bup2: Bval = Bval + 10; gå i stykker; sak Bdown1: Bval = Bval - 10; gå i stykker; sak Bdown2: Bval = Bval - 10; gå i stykker; ///////////////////////////////////// } hvis (Rval> 255) (Rval = 255); hvis (Rval 255) (Gval = 255); hvis (Gval 255) (Bval = 255); hvis (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (resultater.verdi); delayMicroseconds (1); }

Trinn 4: Etterbehandling

Etterbehandling
Etterbehandling
Etterbehandling
Etterbehandling
Etterbehandling
Etterbehandling

Jeg har ikke gjort en god jobb med å kappe. alt jeg gjorde er å tape den, men jeg prøvde å gjøre den så liten som mulig.

Hvis du har spørsmål eller feil, må du fortelle meg det, jeg skal gjøre mitt beste for å hjelpe deg med å fikse feilen. takk for at du leste.

Anbefalt: