| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- void animation_rainbow() {
- fill_rainbow(leds, NUM_LEDS, animation_i, animation_var_1);
- FastLED.show();
- animation_i++;
- animation_i %= 256;
- //Serial.println(animation_i);
- //Serial.println("Animation 1 step");
- }
- void animation_running() {
- //Serial.println("Animation 2 step");
- leds[animation_i] = CRGB(100, 255, 200);
- FastLED.show();
- animation_i++;
- if (animation_i >= NUMBER_OF_LEDS) {
- animation_i = 0;
- clear_strip();
- }
- }
- void animation_chasing() {
- //Serial.println("Animation 2 step");
- clear_strip();
- leds[animation_i*3] = CRGB(100, 255, 200);
- leds[(animation_i*3 + 10*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[(animation_i*3 + 20*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[((NUMBER_OF_LEDS) - animation_i*3) - 1*3] = CRGB(0, 255, 255);
- leds[animation_i*3+1] = CRGB(100, 255, 200);
- leds[(animation_i*3+1 + 10*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[(animation_i*3+1 + 20*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[((NUMBER_OF_LEDS) - animation_i*3+1) - 1*3] = CRGB(0, 255, 255);
- leds[animation_i*3+2] = CRGB(100, 255, 200);
- leds[(animation_i*3+2 + 10*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[(animation_i*3+2 + 20*3) % (NUMBER_OF_LEDS)] = CRGB(100, 255, 200);
- leds[((NUMBER_OF_LEDS) - animation_i*3+2) - 1*3] = CRGB(0, 255, 255);
- // leds[(50 - animation_i - 10)] = CRGB(0, 255, 255);
- // leds[(50 - animation_i)] = CRGB(0, 255, 255);
- FastLED.show();
- animation_i++;
- animation_i %= NUMBER_OF_LEDS/3;
- }
- void animation_off() {
- clear_strip();
- animation_step_time = 10000;
- }
- void animation_random1() {
- int difference = NUM_LEDS / animation_var_1;
-
- for (int i = 0; i < animation_var_1; i++) {
- int howManyCycles = animation_table_1[i][7];
- int currentStep = animation_table_1[i][6];
- uint8_t startRed = animation_table_1[i][0];
- uint8_t startGreen = animation_table_1[i][1];
- uint8_t startBlue = animation_table_1[i][2];
- uint8_t goalRed = animation_table_1[i][3];
- uint8_t goalGreen = animation_table_1[i][4];
- uint8_t goalBlue = animation_table_1[i][5];
- uint8_t r = (goalRed - startRed) * currentStep / howManyCycles + startRed;
- uint8_t g = (goalGreen - startGreen) * currentStep / howManyCycles + startGreen;
- uint8_t b = (goalBlue - startBlue) * currentStep / howManyCycles + startBlue;
- // for (int led = 0; led < 10; led++) {
- // leds[led + i * 10] = CRGB(r, b, g);
- // }
- leds[i * difference] = CRGB(r, b, g);
- animation_table_1[i][6] += 1;
- if (currentStep >= howManyCycles) {
- // uint8_t newR = (uint8_t) random(0, 255);
- // uint8_t newG = (uint8_t) random(0, 255);
- // uint8_t newB = (uint8_t) random(0, 255);
- uint8_t newH = (uint8_t) random(0, 255);
- uint8_t newS = (uint8_t) random(200, 255);
- CRGB newColor = CRGB(0, 0, 0);
- newColor.setHSV(newH, newS, 255);
- animation_table_1[i][3] = newColor.r;
- animation_table_1[i][4] = newColor.g;
- animation_table_1[i][5] = newColor.b;
- uint8_t steps = (uint8_t) random(50, 255);
- animation_table_1[i][0] = r;
- animation_table_1[i][1] = g;
- animation_table_1[i][2] = b;
- animation_table_1[i][7] = steps;
- animation_table_1[i][6] = 0;
- }
- }
- for (int i = 0; i < animation_var_1; i++) {
- uint8_t startRed = leds[i * difference].r;
- uint8_t startGreen = leds[i * difference].g;
- uint8_t startBlue = leds[i * difference].b;
- uint8_t goalRed = leds[((i + 1) * difference) % NUM_LEDS].r;
- uint8_t goalGreen = leds[((i + 1) * difference) % NUM_LEDS].g;
- uint8_t goalBlue = leds[((i + 1) * difference) % NUM_LEDS].b;
- for (int currentStep = 1; currentStep < difference; currentStep++) {
- uint8_t r = (goalRed - startRed) * currentStep / difference + startRed;
- uint8_t g = (goalGreen - startGreen) * currentStep / difference + startGreen;
- uint8_t b = (goalBlue - startBlue) * currentStep / difference + startBlue;
- leds[currentStep + i*difference] = CRGB(r, g, b);
- }
- }
- FastLED.show();
- }
- void animation_rgb_light() {
- FastLED.clear();
- for (int i = 0; i < NUM_LEDS/6; i++) {
- leds[(i + animation_i) % NUM_LEDS] = CRGB(255, 0, 0);
- leds[(i + animation_i + NUM_LEDS/3) % NUM_LEDS] = CRGB(0, 255, 0);
- leds[(i + animation_i + (NUM_LEDS/3)*2) % NUM_LEDS] = CRGB(0, 0, 255);
- }
- // for (int i = 1; i < NUM_LEDS/6; i++) { // Made an animation that already exists, but more complicated (animation_rainbow)
- // uint8_t r = (0 - 255) * i / 25 + 255;
- // uint8_t g = (255) * i / 25;
- // uint8_t b = 0;
- // leds[(i + animation_i + 25) % NUM_LEDS] = CRGB(r, g, b);
- // r = 0;
- // g = (0 - 255) * i / 25 + 255;
- // b = (255) * i / 25;
- // leds[(i + animation_i + 25 + 50) % NUM_LEDS] = CRGB(r, g, b);
- // r = (255 - 0) * i / 25 + 0;
- // g = 0;
- // b = (0 - 255) * i / 25 + 255;
- // leds[(i + animation_i + 25 + 100) % NUM_LEDS] = CRGB(r, g, b);
- // }
- FastLED.show();
- animation_i++;
- animation_i %= NUM_LEDS;
- }
|