Go Down

Topic: Arduino RGB control with Ir remote  (Read 173 times) previous topic - next topic

PolskiPiesel

I have a problem, i can't normal start effect fade. 

all code:
Code: [Select]
#include <IRremote.h>

int RECV_PIN = 7;

IRrecv irrecv(RECV_PIN);

decode_results results;

  uint8_t R, G, B;

///lista przycisków na pilocie
#define KEY_Ch-   0xFFA25D
#define KEY_Ch    0xFF629D
#define KEY_Ch+   0xFFE21D
#define KEY_Ivv   0xFF22DD
#define KEY_vvI   0xFF02FD
#define KEY_vII   0xFFC23D
#define KEY_minus 0xFFE01F
#define KEY_plus  0xFFA857
#define KEY_EQ    0xFF906F
#define KEY_0     0xFF6897
#define KEY_100   0xFF9867
#define KEY_200   0xFFB04F
#define KEY_1     0xFF30CF
#define KEY_2     0xFF18E7
#define KEY_3     0xFF7A85
#define KEY_4     0xFF10EF
#define KEY_5     0xFF38C7
#define KEY_6     0xFF5AA5
#define KEY_7     0xFF42BD
#define KEY_8     0xFF4AB5
#define KEY_9     0xFF52AD


//koniec listy


#define ANODA      1
#define KATODA     0     

#define COMMON_PIN    KATODA

#define DLY  delay(200)

//lista kolorów
//aby wyświetlic użyj setRGBcolor( KOLOR );

#define RED             0xFF0000
#define GREEN           0x00FF00
#define BLUE            0x0000FF


#define CYAN            0x00AEC3
#define PINK            0xFF007F
#define ORANGE          0xFF4400
#define YELLOW          0xFFC600
#define LIME            0x0FFF00
#define FIRE            0xFF5300
#define VIOLET          0xA900FF
#define WHITE           0xFFFFFF

//koniec listy

void setup() {

   Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
 
  pinMode(11, OUTPUT);          //R
  pinMode(10, OUTPUT);          //G
  pinMode(9, OUTPUT);          //B

  irrecv.enableIRIn(); // Start the receiver

}

void loop() {
  if (irrecv.decode(&results)){
        Serial.println(results.value, HEX);
        irrecv.resume();
  }
 
 
  R = 0; G = 0; B = 0;
  if (irrecv.decode(&results)) {

   
         if(results.value == KEY_0) setRGBcolor( RED );
    else if(results.value == KEY_100) setRGBcolor( GREEN );
    else if(results.value == KEY_1) setRGBcolor( YELLOW );
    else if(results.value == KEY_200) setRGBcolor( BLUE );
    else if(results.value == KEY_2) setRGBcolor( CYAN );
    else if(results.value == KEY_3) setRGBcolor( PINK );
    else if(results.value == KEY_4) setRGBcolor( ORANGE );
    else if(results.value == KEY_5) setRGBcolor( YELLOW );
    else if(results.value == KEY_6) setRGBcolor( LIME );
    else if(results.value == KEY_7) setRGBcolor( FIRE );
    else if(results.value == KEY_8) setRGBcolor( VIOLET );
    else if(results.value == KEY_9) setRGBcolor( WHITE );


   
    else if(results.value == KEY_Ch) setRGBcolor( 0x000000 );

 

  else if(results.value == KEY_minus) {

   
  while(1){
   
    irrecv.resume();
    for( int i=0; i < 255; i++) {

        G = i;
        setRGB( R, G, B);
        delay(30);
              if (irrecv.decode(&results)) return;
    }
   
    for( int i=0; i < 255; i++) {

        R = i;
        setRGB( R, G, B);
        delay(30);
              if (irrecv.decode(&results)) return;
      }

    for( int i=0; (i < 255); i++) {

      B = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

       
    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }   
    for( int i=255; (i >= 0); i--) {

      R = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }     

    for( int i=255; (i >= 0); i--) {

      B = i;
      G = 255 - i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }         
  }

     
  }
   delay(30);
    irrecv.resume();
}
}
void setRGB( uint8_t r, uint8_t g, uint8_t b){
 
    if( !COMMON_PIN ) {
    analogWrite(11, r);
    analogWrite(10, g);
    analogWrite(9, b);
    }

    else if( COMMON_PIN ) {
     
    analogWrite(11, 255 - r);
    analogWrite(10, 255 - g);
    analogWrite(9, 255 - b);     
     
    }
  }
 
void setRGBcolor( uint32_t rgb){
 
    setRGB( rgb >> 16, rgb >> 8, rgb);
 
  }



cod of fade
Code: [Select]
  else if(results.value == KEY_minus) {

   
  while(1){
   
    irrecv.resume();
    for( int i=0; i < 255; i++) {

        G = i;
        setRGB( R, G, B);
        delay(30);
              if (irrecv.decode(&results)) return;
    }
   
    for( int i=0; i < 255; i++) {

        R = i;
        setRGB( R, G, B);
        delay(30);
              if (irrecv.decode(&results)) return;
      }

    for( int i=0; (i < 255); i++) {

      B = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

       
    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }   
    for( int i=255; (i >= 0); i--) {

      R = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }     

    for( int i=255; (i >= 0); i--) {

      B = i;
      G = 255 - i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }

    for( int i=255; (i >= 0); i--) {

      G = i;
      setRGB( R, G, B);
      delay(30);
                    if (irrecv.decode(&results)) return;
      }         
  }

     
  }
   delay(30);
    irrecv.resume();

Thanks for help. :smiley-confuse:

PaulRB

Quote
i can't normal start effect fade.
Sorry, can you explain in different words please?

Your two codes: is the second code an exact copy of part of the first code?

PolskiPiesel


PaulRB

Sorry, I don't understand. What is your first language?

Go Up