#include "FastLED.h" // подключаем библиотеку фастлед
byte bright = 50; // яркость LED светодиодов
byte baza = 0; // изменение оттенка LED
#define NUM_LEDS 64
#define PIN 5
CRGB leds[NUM_LEDS];
/*
const TProgmemRGBPalette16 RedBlueBlack_p FL_PROGMEM =
{ CRGB::Black, CRGB(243, 122, 41), CRGB::Black, CRGB::Black,
CRGB(243, 122, 41), CRGB::Black, CRGB::Black, CRGB::Black,
CRGB(243, 122, 41), CRGB::Black, CRGB::Black, CRGB::Black,
CRGB::Black, CRGB(243, 122, 41), CRGB:Black, CRGB::Black
};
*/
#define WIDTH NUM_COLS
#define HEIGHT NUM_ROWS
void drawPixelXY(uint8_t x, uint8_t y, CRGB color)
{
if (x < 0 || x > (WIDTH - 1) || y < 0 || y > (HEIGHT - 1)) return;
uint32_t thisPixel = XY((uint8_t)x, (uint8_t)y);
leds[thisPixel] = color;
}
void leftPoint(){
fill_solid(leds, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(100);
drawPixelXY(3 , 8, CRGB::Red);
// leds[pos] += CHSV(baza++, 255, 192);
}
void setFlag(void){
for (int i = 0; i < NUM_LEDS; i++) {
//leds[i] = CHSV(baza++, 255, 255);
//FastLED.setBrightness(bright);
if(i <32)
leds[i] = CRGB(52, 91, 233);
else
leds[i] = CRGB::Yellow;
}
}
// Yaroslaw Turbin, 22.06.2020
// https://vk.com/ldirko
// https://pastebin.com/eKqe4zzA
void Fire() {
if (loadingFlag)
{ loadingFlag = false;
setCurrentPalette(pal);
}
uint8_t speedy = 1;
uint8_t _scale = 120;
uint32_t a = millis();
for (byte i = 0U; i < WIDTH; i++) {
for (byte j = 0U; j < HEIGHT; j++) {
drawPixelXY((WIDTH - 1) - i, j, ColorFromPalette(*curPalette, qsub8(inoise8(i * _scale, j * _scale + a, a / speedy), abs8(j - (HEIGHT - 1)) * 255 / (HEIGHT - 1)), 255));
}
}
}
void setup() {
FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(bright);
}
setFlag();
void loop() {
for (int i = 0; i < NUM_LEDS; i++) {
// leds[i].nscale8(250);
}
leftPoint();
/*
fadeToBlackBy(leds, NUM_LEDS, 2);
int pos = beatsin16(13, 0, NUM_LEDS - 1);
leds[pos] += CHSV(baza++, 255, 192);
FastLED.setBrightness(bright);*/
FastLED.show();
delay(10);
}