hello
i am working on a project where i can control a LED strip with W8211B leds on it. i am controlling it with a IR remote and everything works fine, thats not the problem. my problem is that when i want to do the function Jump3() it only does it once, but i want it to loop it until i press a other button on my remote. i got all the buttons configured and written down. can someone help me with this.
#include <FastLED.h>
#include <IRremote.h>
#define LED_PIN 7
#define NUM_LEDS 97
CRGB leds[NUM_LEDS];
const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long key_value = 0;
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop() {
if (irrecv.decode(&results)){
if (results.value == 0XFFFFFFFF)
results.value = key_value;
switch(results.value){
case 0xFF827D:
for (int i = 96; i >= 0; i--) {
leds[i] = CRGB ( 0, 0, 0);
FastLED.show();
Serial.println("off"); }
break;
case 0xFF02FD:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 255, 255);
FastLED.show();
Serial.println("on"); }
break;
case 0xFF1AE5:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 0, 0);
FastLED.show();
Serial.println("R0"); }
break ;
case 0xFF9A65:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 255, 0);
FastLED.show();
Serial.println("G0"); }
break ;
case 0xFFA25D:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 0, 255);
FastLED.show();
Serial.println("B0"); }
break ;
case 0xFF22DD:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 255, 255);
FastLED.show();
Serial.println("W0"); }
break ;
case 0xFF2AD5:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 150, 0, 0);
FastLED.show();
Serial.println("R1"); }
break ;
case 0xFFAA55:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 150, 0);
FastLED.show();
Serial.println("G1"); }
break ;
case 0xFF926D:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 0, 150);
FastLED.show();
Serial.println("B1"); }
break ;
case 0xFF12ED:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 246, 126, 126);
FastLED.show();
Serial.println("W1"); }
break ;
case 0xFF0AF5:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 30, 0);
FastLED.show();
Serial.println("R2"); }
break ;
case 0xFF8A75:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 38, 255, 38);
FastLED.show();
Serial.println("G2"); }
break ;
case 0xFFB24D:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 0, 0);
FastLED.show();
Serial.println("B2"); }
break ;
case 0xFF32CD:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 246, 126, 126);
FastLED.show();
Serial.println("W2"); }
break ;
case 0xFF38C7:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 50, 0);
FastLED.show();
Serial.println("R3"); }
break ;
case 0xFFB847:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 171, 255);
FastLED.show();
Serial.println("G3"); }
break ;
case 0xFF7887:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 40, 3, 3);
FastLED.show();
Serial.println("B3"); }
break ;
case 0xFFF807:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 171, 255);
FastLED.show();
Serial.println("W3"); }
break ;
case 0xFF18E7:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 230, 255, 0);
FastLED.show();
Serial.println("R4"); }
break ;
case 0xFF9867:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 70, 255);
FastLED.show();
Serial.println("G4"); }
break ;
case 0xFF58A7:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 255, 0, 255);
FastLED.show();
Serial.println("B4"); }
break ;
case 0xFFD827:
for (int i = 0; i <= 96; i++) {
leds[i] = CRGB ( 0, 171, 255);
FastLED.show();
Serial.println("W4"); }
break ;
case 0xFF30CF:
Serial.println("jump3");
Jump3();
break ;
case 0xFFB04F:
Serial.println("fade3");
Fade3();
break ;
case 0xFF708F:
Serial.println("jump7");
Jump7();
break ;
case 0xFFF00F:
Serial.println("quick");
Quick();
break ;
case 0xFF10EF:
Serial.println("fade7");
Fade7();
break ;
case 0xFF906F:
Serial.println("flash");
FLASH();
break ;
case 0xFF50AF:
Serial.println("auto");
AUTO();
break ;
case 0xFFD02F:
Serial.println("slow");
Slow();
break ;
}
key_value = results.value;
irrecv.resume();
}
}
void Jump3(){
fill_solid( leds, NUM_LEDS, CRGB(255,0,0));
FastLED.show();
delay(1000);
fill_solid( leds, NUM_LEDS, CRGB(0,255,0));
FastLED.show();
delay(1000);
fill_solid( leds, NUM_LEDS, CRGB(0,0,255));
FastLED.show();
delay(1000);
}
void Fade3(){
//not done
}
void Jump7(){
//not done
}
void Quick(){
//not done
}
void Fade7(){
//not done
}
void FLASH(){
//not done
}
void AUTO(){
//not done
}
void Slow(){
//not done
}