Como juntar estas dos programaciones

Hola buenas me gustaría que me ayudasen a añadir el siguiente programa de led rgb a el programa que tengo actualmente de leds normales que se activan con sensor infrarrojo la idea seria que un botón del mando encendiera el sensor infrarrojo intentando mantener el resto de la programación tal y como esta solo intercambiar un rgb por uno normal. Si alguien me pudiera ayudar lo agradecería ya que no tengo grandes conocimientos de programación.

Programa Rgb:

image

Programación a la cual añadir el rgb:

//Conectaremos el sensor infrarrojo a un pin DIGITAL del Arduino, en este caso sera el pin 2

IRrecv sensor(2); //Inicializamos el sensor infrarrojo, poniendo el pin digital 2 como parametro
decode_results lectura; //Variable que va a almacenar la lectura del control infrarrojo

//Variables para controlar el encendido/apagado de los LEDs
int encendido1, encendido2, encendido3, encendido4, encendido5,
encendido6, encendido7, encendido8, encendido9, encendido0;

void setup()
{
Serial.begin(9600); //Inicializamos el puerto serial
sensor.enableIRIn(); //Habilitamos el sensor infrarrojo para que pueda recibir lecturas

//Con un ciclo for, declaramos los pines 3 hasta el 12 como salidas
for (int i = 3; i <= 12; i++)
{
pinMode(i, OUTPUT);
}
}

void loop()
{
if (sensor.decode(&lectura)) //Si hay una lectura recibida
{
switch (lectura.value)
{
case 0xFF6897: //Corresponde al boton 1
if (encendido1 == 0)
{
digitalWrite(3, HIGH); //Si estaba apagado lo enciende
encendido1 = 1;
}
else
{
digitalWrite(3, LOW); //Si estaba encendido lo apaga
encendido1 = 0;
}
break;

  case 0xFF9867:   //Corresponde al boton 2
    if (encendido2 == 0)
    {
      digitalWrite(4, HIGH);  //Si estaba apagado lo enciende
      encendido2 = 1;
    }
    else
    {
      digitalWrite(4, LOW);  //Si estaba encendido lo apaga
      encendido2 = 0;
    }
    break;

  case 0xFFB04F:   //Corresponde al boton 3
    if (encendido3 == 0)
    {
      digitalWrite(5, HIGH);  //Si estaba apagado lo enciende
      encendido3 = 1;
    }
    else
    {
      digitalWrite(5, LOW);   //Si estaba encendido lo apaga
      encendido3 = 0;
    }
    break;

  case 0xFF30CF:   //Corresponde al boton 4
    if (encendido4 == 0)
    {
      digitalWrite(6, HIGH);   //Si estaba apagado lo enciende
      encendido4 = 1;
    }
    else
    {
      digitalWrite(6, LOW);   //Si estaba encendido lo apaga
      encendido4 = 0;
    }
    break;

  case 0xFF18E7:   //Corresponde al boton 5
    if (encendido5 == 0)
    {
      digitalWrite(7, HIGH);   //Si estaba apagado lo enciende
      encendido5 = 1;
    }
    else
    {
      digitalWrite(7, LOW);   //Si estaba encendido lo apaga
      encendido5 = 0;
    }
    break;

  case 0xFF7A85:   //Corresponde al boton 6
    if (encendido6 == 0)
    {
      digitalWrite(8, HIGH);   //Si estaba apagado lo enciende
      encendido6 = 1;
    }
    else
    {
      digitalWrite(8, LOW);   //Si estaba encendido lo apaga
      encendido6 = 0;
    }
    break;

  case 0xFF10EF:   //Corresponde al boton 7
    if (encendido7 == 0)
    {
      digitalWrite(9, HIGH);   //Si estaba apagado lo enciende
      encendido7 = 1;
    }
    else
    {
      digitalWrite(9, LOW);   //Si estaba encendido lo apaga
      encendido7 = 0;
    }
    break;

  case 0xFF38C7:   //Corresponde al boton 8
    if (encendido8 == 0)
    {
      digitalWrite(10, HIGH);  //Si estaba apagado lo enciende
      encendido8 = 1;
    }
    else
    {
      digitalWrite(10, LOW);   //Si estaba encendido lo apaga
      encendido8 = 0;
    }
    break;

  case 0xFF5AA5:   //Corresponde al boton 9
    if (encendido9 == 0)
    {
      digitalWrite(11, HIGH);   //Si estaba apagado lo enciende
      encendido9 = 1;
    }
    else
    {
      digitalWrite(11, LOW);   //Si estaba encendido lo apaga
      encendido9 = 0;
    }
    break;

  case 0xFF4AB5:   //Corresponde al boton 0
    if (encendido0 == 0)
    {
      digitalWrite(12, HIGH);    //Si estaba apagado lo enciende
      encendido0 = 1;
    }
    else
    {
      digitalWrite(12, LOW);   //Si estaba encendido lo apaga
      encendido0 = 0;
    }
    break;

  case 0xFF42BD:  //Corresponde al boton * (Asterisco)

    for (int i = 3; i <= 12; i++)
    {
      digitalWrite(i, HIGH);    //Enciende todos los LEDs
      encendido0 = 1;
      encendido1 = 1;
      encendido2 = 1;
      encendido3 = 1;
      encendido4 = 1;
      encendido5 = 1;
      encendido6 = 1;
      encendido7 = 1;
      encendido8 = 1;
      encendido9 = 1;
    }
    break;

  case 0xFF52AD:  //Corresponde al boton # (Numeral)

    for (int i = 3; i <= 12; i++)
    {
      digitalWrite(i, LOW);     //Apaga todos los LEDs
      encendido0 = 0;
      encendido1 = 0;
      encendido2 = 0;
      encendido3 = 0;
      encendido4 = 0;
      encendido5 = 0;
      encendido6 = 0;
      encendido7 = 0;
      encendido8 = 0;
      encendido9 = 0;
    }
    break;
}
sensor.resume();    //Prepara el sensor infrarrojos para nuevas lecturas

}
}

Hola!
El programa RGB es muy simple y se puede agregar fácilmente al segundo código.
Copie la definición de los pines al comienzo del segundo código, el contenido de la setup() del programa RGB en la setup() del segundo código y el contenido de loop() en el lugar del segundo código donde necesita encender el led RGB

Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código. No publiques nunca capturas de códigos.
Para editar vas a edición (mira la imagen), luego selecciona todo el código que has publicado, lo cortas y click en </>


Edita tmb el título retirando la palabra ayuda.
Mira el punto 5 de las normas sobre cómo poner los títulos en este foro.
He editado el título por esta vez, pero queda anotada la advertencia en tu historial.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.