Подскажите пожалуйста, сможет ли arduino nano справиться с такой задачкой. Если к адресной светодиодной ленте WS2812b подключены две сенсорные кнопки, от первой кнопки зажигается первый светодиод и плавно затухает, а от второй кнопки второй светодиод и так же плавно затухает. В то время когда первый светик затухает, второй я включить не могу и так же наоборот. Можно ли сделать их независимыми друг от друга? Я как истинный дилетант, справиться с этим вопросом не смог. Получалось только одновременно моргать, включать да выключать. Направьте на путь истинный, а то сил моих больше нет))
int bt2 = 0;
int bt3 = 0;
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
Adafruit_NeoPixel pixels_13 = Adafruit_NeoPixel(10, 13, NEO_GRB + NEO_KHZ800);
void setup() {
pixels_13.begin();
pinMode(2, INPUT);
pinMode(3, INPUT);
}
void loop() {
if (digitalRead(2) == 1 && bt2 == 0) {
bt2 = 1;
pixels_13.setBrightness(255);
pixels_13.setPixelColor(0, pixels_13.Color(0, 255, 0));
pixels_13.show();
}
if (digitalRead(2) == 0 && bt2 == 1) {
bt2 = 0;
for (int i = 255; i > 0; i--) {
pixels_13.setPixelColor(0, pixels_13.Color(0, i, 0));
pixels_13.show();
unsigned long currentMillis = millis();
while (millis() - currentMillis < 15) {
}
}
pixels_13.setPixelColor(0, pixels_13.Color(0, 0, 0));
pixels_13.show();
}
if (digitalRead(3) == 1 && bt3 == 0) {
bt3 = 1;
pixels_13.setBrightness(255);
pixels_13.setPixelColor(1, pixels_13.Color(0, 255, 0));
pixels_13.show();
}
if (digitalRead(3) == 0 && bt3 == 1) {
bt3 = 0;
for (int i = 255; i > 0; i--) {
pixels_13.setPixelColor(1, pixels_13.Color(0, i, 0));
pixels_13.show();
unsigned long currentMillis = millis();
while (millis() - currentMillis < 15) {
}
}
pixels_13.setPixelColor(1, pixels_13.Color(0, 0, 0));
pixels_13.show();
}
}