Tabla de contenido:

LED RGB controlado por infrarrojos Arduino Nano Baised: 5 pasos
LED RGB controlado por infrarrojos Arduino Nano Baised: 5 pasos

Video: LED RGB controlado por infrarrojos Arduino Nano Baised: 5 pasos

Video: LED RGB controlado por infrarrojos Arduino Nano Baised: 5 pasos
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Mes de julio
Anonim
LED RGB controlado por infrarrojos Arduino Nano Baised
LED RGB controlado por infrarrojos Arduino Nano Baised

En este pequeño proyecto, quiero mostrarles cómo construí un LED RGB basado en Arduino que está controlado por control remoto IR y alimentado por un cable USB.

Suministros

1. LED RGB

2. Receptor de infrarrojos

3. cable USB

4. Arduino nano

5. Mando a distancia por infrarrojos

6. algunos cables

7. Resistencias de 50-100 ohmios (estoy usando resistencias de 47 ohmios pero no hay mucha diferencia)

Paso 1: elige tu control remoto

Elija su control remoto
Elija su control remoto

Entonces, el control remoto que use es su decisión, pero su control remoto debe tener 6 teclas que desea usar. 2 de ellos son para el rojo, 2 para el verde y 2 para el azul.

Paso 2: primero constrúyalo en una tabla de pan (no es necesario, pero se recomienda)

Primero constrúyalo en una tabla de pan (no es necesario, pero se recomienda)
Primero constrúyalo en una tabla de pan (no es necesario, pero se recomienda)
Primero constrúyalo en una tabla de pan (no es necesario, pero se recomienda)
Primero constrúyalo en una tabla de pan (no es necesario, pero se recomienda)

Ahora, construye el circuito en una placa de pruebas.

conexiones:

LED RGB GND> Arduino nano GND

LED RGB rojo> Pin 5 de Arduino nano Digital

LED RGB verde> Pin 6 de Arduino nano Digital

LED RGB Azul> Pin 9 de Arduino nano Digital

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

Pin 1 del receptor de infrarrojos> Pin 4 de Arduino nano Digital

Pin 2 del receptor de infrarrojos> Arduino nano GND

Pin 3 del receptor de infrarrojos> Arduino nano 5v

(todas las conexiones se muestran arriba)

(cada pin de color del LED RGB está conectado en serie a resistencias)

Paso 3: el código

el código es el siguiente:

Aquí está la biblioteca que utilicé.

#incluir

int IR_Recv = 4; // Pin del receptor de infrarrojos

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Pin rojo int G = 6; // Pin verde int B = 9; // Pin azul #define Rup1 1976685926 // hace que el brillo del rojo suba #define Rup2 3772818013 // hace que el brillo del rojo suba #define Rdown1 3843765582 // hace que el brillo del rojo baje #define Rdown2 3772813933 // hace que el brillo del rojo baje #define Gup1 3772797613 // hace que el brillo verde suba #define Gup2 3774104872 // hace que el brillo verde suba #define Gdown1 3772834333 // hace que el brillo verde baje #define Gdown2 1784778242 // hace que el brillo verde baje #define Bup1 3980777284 // hace que el azul el brillo sube #define Bup2 3772781293 // hace que el brillo del azul suba #define Bdown1 3772801693 // hace que el brillo del azul baje #define Bdown2 3361986248 // hace que el brillo del azul baje // NOTA: ¡¡¡¡DEBE CAMBIAR LOS NÚMEROS A SU CONTROL REMOTO !!! ! // Tengo 2 claves duplicadas, por ejemplo, Rup1 y Rup2. porque // mi control remoto genera 2 números cuando presiona una tecla. // en su caso, puede poner los mismos números en Rup1 y Rup2, Gup1 y Gup2 y así uno. // Cuando presiona una tecla, el número debe aparecer en el monitor de serie, // Eso es lo que debe escribir en la sección "#define". IRrecv irrecv (IR_Recv); decode_results resultados; configuración vacía () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, SALIDA); pinMode (G, SALIDA); pinMode (B, SALIDA); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RED case Rup1: Rval = Rval + 10; rotura; caso Rup2: Rval = Rval + 10; rotura; caso Rdown1: Rval = Rval - 10; rotura; caso Rdown2: Rval = Rval - 10; rotura; //////////// caso VERDE Gup1: Gval = Gval + 10; rotura; caso Gup2: Gval = Gval + 10; rotura; caso Gdown1: Gval = Gval - 10; rotura; caso Gdown2: Gval = Gval - 10; rotura; ///////////// caso AZUL Bup1: Bval = Bval + 10; rotura; caso Bup2: Bval = Bval + 10; rotura; caso Bdown1: Bval = Bval - 10; rotura; caso Bdown2: Bval = Bval - 10; rotura; ////////////////////////////////////////} irrecv.resume (); } si (Rval> 255) (Rval = 255); si (Rval 255) (Gval = 255); si (Gval 255) (Bval = 255); si (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (valor.resultados); delayMicroseconds (1); }

Paso 4: acabado

Refinamiento
Refinamiento
Refinamiento
Refinamiento
Refinamiento
Refinamiento

No he hecho un buen trabajo con la carcasa. Todo lo que hice fue pegarlo, pero traté de hacerlo lo más pequeño posible.

Si tiene alguna pregunta o algún error, asegúrese de informarme, haré todo lo posible para ayudarlo a corregir el error. gracias por leer.

Recomendado: