/////////////////////////////////////
// примеры для ws2812b-рисовалка с отключением режима сканирования и несколькими цветами
//Arduino UNO

#include "Adafruit_NeoPixel.h"

#define line_ 64 //число пикселей в ленте
uint8_t dataPin = 6;// вывод для подключения
Adafruit_NeoPixel strip = Adafruit_NeoPixel(line_,dataPin , NEO_GRB + NEO_KHZ800);// Создаем переменную strip для управления нашей лентой.
byte R=50;//
byte G=50;//
byte B=50;//
byte kartinka[line_];//массив хранения нарисованного одним цветом
bool Fl=true;//
long Y=0;//
///RGB
void setup() {
 Serial.begin(9600); 
 strip.begin();

 }
void loop() {
//
for ( int in = 0; in < line_; in++) {
for ( int i = 0; i < line_; i++) {//вносим данные картинки для отрисовки
  if(kartinka[i]==1){strip.setPixelColor(i, 7, 1, 0);}
  if(kartinka[i]==0){strip.setPixelColor(i, 0, 0, 2);}
  if(kartinka[i]==2){strip.setPixelColor(i, 2, 2, 0);}
  if(kartinka[i]==3){strip.setPixelColor(i, 0, 4, 1);}
   }  
if(Fl){strip.setPixelColor(in, R, G, B);}// включаем белым сканирующий пиксель
else{strip.setPixelColor(0, R, G, B);}
strip.show();
delay(7);  
if(analogRead(A0)<100){if(Fl){kartinka[in]=kartinka[in]+1;if(kartinka[in]>3){kartinka[in]=0;}}Y=millis();if(Fl==false&&in==0){Fl=true;}}//если датчик приложен к пикселю меняем данные его цвета на противоположные и проверяем не сработал ли дежурный пиксель
}
//
if(millis()-Y>10000){Fl=false;}//сброс сканирования белым пикселем, перевод в  режим ожидания первого пикселя
//
}
//////////////////////////////////////////////



