#include <Adafruit_NeoPixel.h>
#define pin 12
#define leds 259
Adafruit_NeoPixel strip = Adafruit_NeoPixel(leds, pin, NEO_GRB + NEO_KHZ800);
float k = 1;
void setup()
{
//Serial.begin(9600);
pinMode(3, INPUT);
pinMode(2, INPUT);
strip.begin();
strip.show(); // ощищаем экран для отключения случайных пикселей
}
void loop()
{
int sensor = analogRead(A0);
//Serial.println(sensor);
if (sensor < 500) { // темно
sensor = map(sensor, 1, 500, 1, 10);
if (digitalRead(3) == HIGH) {
for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
for (int i = 1; i <= leds; i++) {
strip.setPixelColor(i - 1, 20 * sensor, 0 * sensor, 10 * sensor); // нужный цвет
if (i != 16 && i != 32 && i != 48 && i != 64 && i != 80 && i != 96 && i != 112 && i != 128 && i != 144 && i != 160 && i != 173 && i != 195 && i != 211 && i != 227 && i != 243 && i != 259) continue; // номера крайних диодов
strip.show();
delay(500);
}
delay(1000);
for (int i = 1; i <= leds; i++) {
strip.setPixelColor(i - 1, 0, 0, 0);
strip.show();
delay(10);
}
}
if (digitalRead(2) == HIGH) {
for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
for (int i = leds; i >= 1; i--) {
strip.setPixelColor(i - 1, 20 * sensor, 0 * sensor, 10 * sensor); // нужный цвет
if (i != 1 && i != 17 && i != 33 && i != 49 && i != 65 && i != 81 && i != 97 && i != 113 && i != 129 && i != 145 && i != 161 && i != 174 && i != 196 && i != 212 && i != 228 && i != 244) continue; // номера крайних диодов
strip.show();
delay(500);
}
delay(1000);
for (int i = leds; i >= 1; i--) {
strip.setPixelColor(i - 1, 0, 0, 0);
strip.show();
delay(10);
}
}
for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
for (int i = k; i <= 16; i = i + 4) strip.setPixelColor(i - 1, 10 * sensor, 0, 5 * sensor); // нужный цвет
for (int i = 243 + k; i <= leds; i = i + 4) strip.setPixelColor(i - 1, 10 * sensor, 0, 5 * sensor); // нужный цвет
k = k + 0.01;
if (k > 4.99) k = 1;
strip.show();
}
else {
for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
strip.show();
}
delay(500);
}