ajout du control bouton dans dual color

reformatage de code
master
JbLb 4 years ago
parent e4e8049eda
commit ae82931203

@ -57,20 +57,23 @@ void dual_color(struct CRGB color1, struct CRGB color2, uint8_t wait)
} }
} }
void xmas(uint8_t wait){ void xmas(uint8_t wait)
for (int j = 0; j < 2; j++){ {
for (int i = 0; i< NUM_LEDS; i++){ for (int j = 0; j < 2; j++) {
leds[i] = ((i % 2) == j)? CRGB::Red: CRGB::Green; for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = ((i % 2) == j) ? CRGB::Red : CRGB::Green;
FastSPI_LED.show(); FastSPI_LED.show();
} }
delay(wait); delay(wait);
} }
} }
// change run_mod return true si appuis cour // change run_mod return true si appuis cour
boolean check_button(){ boolean check_button()
{
if (button1.checkPress() == 1) { if (button1.checkPress() == 1) {
// SHORT PRESS! // SHORT PRESS!
if (!run_mod){ if (!run_mod) {
run_mod = true; run_mod = true;
} }
return true; return true;
@ -93,68 +96,85 @@ void setup()
void loop() void loop()
// put your main code here, to run repeatedly: // put your main code here, to run repeatedly:
{ {
boolean breaked =false; boolean breaked = false;
if (run_mod){ if (run_mod) {
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
for (int i = 0; i < NUM_LEDS; i++) { for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CRGB::Red; leds[i] = CRGB::Red;
FastSPI_LED.show(); FastSPI_LED.show();
delay(tempo_anim); delay(tempo_anim);
if (check_button()) { if (check_button()) {
breaked =true; breaked = true;
break; break;
} }
} }
if (breaked) break; if (breaked || check_button()) {
if (check_button()) break; memset(leds, 0, NUM_LEDS * 3); // all leds off
break;
}
delay(tempo_anim); delay(tempo_anim);
for (int i = 0; i < NUM_LEDS; i++) { for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CRGB::Green; leds[i] = CRGB::Green;
FastSPI_LED.show(); FastSPI_LED.show();
delay(tempo_anim); delay(tempo_anim);
if (check_button()){ if (check_button()) {
breaked =true; breaked = true;
break; break;
} }
} }
delay(tempo_anim); delay(tempo_anim);
if (breaked) break; if (breaked)
if (check_button()) break; break;
if (check_button())
break;
} }
} }
breaked = false;
// dual color // dual color
if (run_mod) { if (run_mod) {
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
dual_color(CRGB::Red, CRGB::Green, tempo_anim); for (int i = 0; i < NUM_LEDS; i++) {
if (check_button()) break; memset(leds, 0, NUM_LEDS * 3); // all leds off
leds[i] = CRGB::Red;
leds[NUM_LEDS - (i + 1)] = CRGB::Green;
FastSPI_LED.show();
delay(tempo_anim);
if (check_button()) {
breaked = true;
break;
}
}
if (breaked)
break;
}
} }
}
// Xmas // Xmas
if (run_mod){ if (run_mod) {
for (int i = 0; i < 20; i++) { for (int i = 0; i < 20; i++) {
xmas( tempo_anim); xmas(tempo_anim);
if (check_button()) break; if (check_button())
break;
}
} }
}
// aller-retour // aller-retour
if (run_mod){ if (run_mod) {
int i =1; int i = 1;
int j= 0; int j = 0;
black_out(); black_out();
for (int k = 0; k < NUM_LEDS*10 ; k++) { for (int k = 0; k < NUM_LEDS * 10; k++) {
leds[j] = CRGB::Red; leds[j] = CRGB::Red;
FastSPI_LED.show(); FastSPI_LED.show();
delay(tempo_anim/2); delay(tempo_anim / 2);
leds[j] = CRGB::Black; leds[j] = CRGB::Black;
j= j+i; j = j + i;
if(j==NUM_LEDS- 1|| j==0) i= -i; if (j == NUM_LEDS - 1 || j == 0)
i = -i;
if (check_button()) break; if (check_button())
break;
}
} }
}
check_button(); check_button();
black_out(); black_out();
// delay(tempo_anim); // delay(tempo_anim);

Loading…
Cancel
Save