Indholdsfortegnelse:

Arduino Nano Baised IR -kontrolleret RGB LED: 5 trin
Arduino Nano Baised IR -kontrolleret RGB LED: 5 trin

Video: Arduino Nano Baised IR -kontrolleret RGB LED: 5 trin

Video: Arduino Nano Baised IR -kontrolleret RGB LED: 5 trin
Video: ChatGPT with Arduino Nano #arduino #chatgpt #technology #openAI #electronic 2024, Juli
Anonim
Arduino Nano Baised IR -styret RGB LED
Arduino Nano Baised IR -styret RGB LED

i dette lille projekt vil jeg vise dig, hvordan jeg byggede Arduino -baseret RGB LED, der styres af IR -fjernbetjening og drives af USB -kabel.

Forbrugsvarer

1. RGB LED

2. IR -modtager

3. USB -kabel

4. Arduino nano

5. IR -fjernbetjening

6. nogle kabler

7. 50-100 ohm modstande (bruger 47 ohm modstande, men der er ikke meget forskel)

Trin 1: Vælg din fjernbetjening

Vælg din fjernbetjening
Vælg din fjernbetjening

Så hvilken fjernbetjening du bruger, er din beslutning, men din fjernbetjening skal have 6 nøgler, som du vil bruge. 2 af dem er for rød, 2 af dem for grøn og 2 for blå.

Trin 2: Byg det først på et brødbræt (ikke nødvendigt, men anbefalet)

Byg det først på et brødbræt (ikke nødvendigt, men anbefales)
Byg det først på et brødbræt (ikke nødvendigt, men anbefales)
Byg det først på et brødbræt (ikke nødvendigt, men anbefales)
Byg det først på et brødbræt (ikke nødvendigt, men anbefales)

Byg nu kredsløbet på et brødbræt

forbindelser:

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 -modtager pin 1> Arduino nano Digital pin 4

IR -modtager pin 2> Arduino nano GND

IR -modtager pin 3> Arduino nano 5v

(alle forbindelser er vist ovenfor)

(hver farvepind på RGB LED er forbundet serier til modstande)

Trin 3: Koden

koden er følgende:

Her er biblioteket, jeg brugte.

#omfatte

int IR_Recv = 4; // IR -modtager pin

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øn pin int B = 9; // Blå pin #define Rup1 1976685926 // får rød lysstyrke til at stige #defineret Rup2 3772818013 // får rød lysstyrke til at stige #definer Rdown1 3843765582 // får rød lysstyrke til at falde ned #defineret Rdown2 3772813933 // får rød lysstyrke til at falde ned #define Gup1 3772797613 // får den grønne lysstyrke til at stige #defineret Gup2 3774104872 // får den grønne lysstyrke til at gå op #define Gdown1 3772834333 // får den grønne lysstyrke til at falde ned #definere Gdown2 1784778242 // får den grønne lysstyrke til at falde ned #define Bup1 3980777284 // gør den blå lysstyrke går op #define Bup2 3772781293 // får blå lysstyrke til at stige #defineret Bdown1 3772801693 // får blå lysstyrke til at falde #definer Bdown2 3361986248 // får blå lysstyrke til at falde // BEMÆRK: DU SKAL ÆNDRE NUMRE TIL DIN FJERN !!! ! // Jeg har 2 af dublerede nøgler for eksempel Rup1 og Rup2. fordi // min fjernbetjening udsender 2 tal, når du trykker på en tast. // i dit tilfælde kan du sætte de samme tal i Rup1 og Rup2, Gup1 og Gup2 og så en. // Når du trykker på en tast, skal tallet vises i Serial monitor, // Det er det, du skal skrive i afsnittet "#define". IRrecv irrecv (IR_Recv); decode_results resultater; ugyldig opsætning () {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ØD sag Rup1: Rval = Rval + 10; pause; tilfælde Rup2: Rval = Rval + 10; pause; case Rdown1: Rval = Rval - 10; pause; tilfælde Rdown2: Rval = Rval - 10; pause; //////////// GREEN case Gup1: Gval = Gval + 10; pause; sag Gup2: Gval = Gval + 10; pause; sag Gdown1: Gval = Gval - 10; pause; sag Gdown2: Gval = Gval - 10; pause; /////////////// BLÅ sag Bup1: Bval = Bval + 10; pause; sag Bup2: Bval = Bval + 10; pause; sag Bdown1: Bval = Bval - 10; pause; sag Bdown2: Bval = Bval - 10; pause; ////////////////////////////////////////////////////// irrecv.resume (); } 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.værdi); delayMicroseconds (1); }

Trin 4: Efterbehandling

Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling
Efterbehandling

Jeg har ikke gjort et godt stykke arbejde med beklædning. alt jeg gjorde er bare at tape det, men jeg forsøgte at gøre det så lille som muligt.

Hvis du har spørgsmål eller fejl, skal du fortælle mig det, jeg vil gøre mit bedste for at hjælpe dig med at rette fejlen. tak fordi du læste.

Anbefalede: