Hello Friends!
I've made myself some balcony lights based on WS2812b (300 pcs), controlled by Arduino nano, coding for FASTLED, and everything is working fine. However, I would like to expand on this a little, namely:
1. control via ESP32
2. Bluetoth with a smartphone for changing effects and switching
3) WIFI from a desktop computer for the same functions.
4. if ESP32, I would like to use the possibility of touch "keys" for manual control
5. temperature measurement (DS18b20 ?) (why!!!)
What I am asking you and what doubts I have ? ( my knowledge rather poor):
I mean a kind of "roadmap" and determination of feasibility.
1 . Will the use of the above functionalities not block the transmission to the leds (interrupts!), because this must be very fast (SPI?)?
2 . can I configure WIFI access via Bluetoth?
3. so technically: do I have to "extinguish" the touch keys with capacitors.
I am very much counting on your help . At the same time please take my little knowledge
))
Greetings
The code I am using:
#include "FastLED.h"
#define LED_COUNT 300
#define LED_PIN 11
struct CRGB leds[LED_COUNT];
//================================================
uint8_t hue = 32;
byte idex = 255;
byte meteorLength = 47;
void setup() {
delay(2000);
LEDS.addLeds<WS2812, LED_PIN, GBR>(leds, LED_COUNT);
LEDS.setBrightness(250);
}
void loop(){
meteorShower();
}
void meteorShower(){
memmove8( &leds[1], &leds[0], (LED_COUNT - 1) * 3 );
idex++;
if ( idex > meteorLength ) {
idex = 0;
hue += 34;
}
/
switch ( idex ) {
case 0:
leds[0] = CRGB(200,200,200);
break;
case 1:
leds[0] = CHSV((hue - 15), 255,180);
break;
case 2:
leds[0] = CHSV((hue - 18), 255, 170);
break;
case 3:
leds[0] = CHSV((hue - 20), 255, 160);
break;
case 4:
leds[0] = CHSV((hue - 22), 255, 150);
break;
case 5:
leds[0] = CHSV((hue - 24), 255, 140);
break;
case 6:
leds[0] = CHSV((hue - 29), 160, 130);
break;
case 7:
leds[0] = CHSV((hue - 30), 140, 120);
break;
case 8:
leds[0] = CHSV((hue - 31), 120, 110);
break;
case 9:
leds[0] = CHSV((hue - 32), 100, 100);
break;
case 10:
leds[0] = CHSV((hue - 33), 90, 90);
break;
case 11:
leds[0] = CHSV((hue - 34), 80, 80);
break;
case 12:
leds[0] = CHSV((hue - 35), 70, 70);
break;
case 13:
leds[0] = CHSV((hue - 36), 60, 60);
break;
case 14:
leds[0] = CHSV((hue - 34), 50, 50);
break;
case 15:
leds[0] = CHSV((hue - 35), 40, 40);
break;
default:
leds[0] = CRGB::Black;
}
FastLED.show();
delay(60);
}
I've made myself some balcony lights based on WS2812b (300 pcs), controlled by Arduino nano, coding for FASTLED, and everything is working fine. However, I would like to expand on this a little, namely:
1. control via ESP32
2. Bluetoth with a smartphone for changing effects and switching
3) WIFI from a desktop computer for the same functions.
4. if ESP32, I would like to use the possibility of touch "keys" for manual control
5. temperature measurement (DS18b20 ?) (why!!!)
What I am asking you and what doubts I have ? ( my knowledge rather poor):
I mean a kind of "roadmap" and determination of feasibility.
1 . Will the use of the above functionalities not block the transmission to the leds (interrupts!), because this must be very fast (SPI?)?
2 . can I configure WIFI access via Bluetoth?
3. so technically: do I have to "extinguish" the touch keys with capacitors.
I am very much counting on your help . At the same time please take my little knowledge

Greetings
The code I am using:
#include "FastLED.h"
#define LED_COUNT 300
#define LED_PIN 11
struct CRGB leds[LED_COUNT];
//================================================
uint8_t hue = 32;
byte idex = 255;
byte meteorLength = 47;
void setup() {
delay(2000);
LEDS.addLeds<WS2812, LED_PIN, GBR>(leds, LED_COUNT);
LEDS.setBrightness(250);
}
void loop(){
meteorShower();
}
void meteorShower(){
memmove8( &leds[1], &leds[0], (LED_COUNT - 1) * 3 );
idex++;
if ( idex > meteorLength ) {
idex = 0;
hue += 34;
}
/
switch ( idex ) {
case 0:
leds[0] = CRGB(200,200,200);
break;
case 1:
leds[0] = CHSV((hue - 15), 255,180);
break;
case 2:
leds[0] = CHSV((hue - 18), 255, 170);
break;
case 3:
leds[0] = CHSV((hue - 20), 255, 160);
break;
case 4:
leds[0] = CHSV((hue - 22), 255, 150);
break;
case 5:
leds[0] = CHSV((hue - 24), 255, 140);
break;
case 6:
leds[0] = CHSV((hue - 29), 160, 130);
break;
case 7:
leds[0] = CHSV((hue - 30), 140, 120);
break;
case 8:
leds[0] = CHSV((hue - 31), 120, 110);
break;
case 9:
leds[0] = CHSV((hue - 32), 100, 100);
break;
case 10:
leds[0] = CHSV((hue - 33), 90, 90);
break;
case 11:
leds[0] = CHSV((hue - 34), 80, 80);
break;
case 12:
leds[0] = CHSV((hue - 35), 70, 70);
break;
case 13:
leds[0] = CHSV((hue - 36), 60, 60);
break;
case 14:
leds[0] = CHSV((hue - 34), 50, 50);
break;
case 15:
leds[0] = CHSV((hue - 35), 40, 40);
break;
default:
leds[0] = CRGB::Black;
}
FastLED.show();
delay(60);
}