/*
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
This Code is written by Joost and Vincent.
for de Adafruit_NeoPixel.h file go to this link
https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library
click on 'click this link'and the zip file will be downloaded
unzip the file and import the Adafruit_NeoPixel.h file to you libraries in the arduino ide

enjoy :-)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/

#include <Adafruit_NeoPixel.h>

#define PIN            6
#define NUMPIXELS      4

unsigned char ledred[252] = { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 245, 240, 235, 230, 225, 220, 215, 210, 205, 200, 195, 190, 185, 180, 175, 170, 165, 160, 155, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 183, 174, 165, 155, 146, 137, 128, 119, 110, 101, 91, 82, 73, 64, 55, 46, 37, 27, 18, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 12, 18, 24, 30, 37, 43, 49, 55, 61, 67, 73, 79, 85, 91, 98, 104, 110, 116, 122, 128, 134, 140, 146, 152, 158, 164, 170, 176, 182, 188, 195, 201, 207, 213, 219, 225, 231, 237, 243, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 231, 219, 206, 194, 182, 170, 158, 146, 134, 121, 109, 97, 85, 73, 61, 49, 36, 24, 12, 0, 12, 24, 36, 49, 61, 73, 85, 97, 109, 121, 134, 146, 158, 170, 182, 194, 206, 219, 231, 243, 255};
unsigned char ledgreen[252] = { 2, 5, 7, 10, 12, 14, 17, 19, 21, 24, 26, 29, 31, 33, 36, 38, 40, 43, 45, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 54, 57, 61, 65, 69, 72, 76, 80, 83, 87, 91, 95, 98, 102, 106, 109, 113, 117, 121, 124, 128, 134, 140, 146, 152, 158, 164, 170, 176, 182, 188, 195, 201, 207, 213, 219, 225, 231, 237, 243, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 231, 219, 206, 194, 182, 170, 158, 146, 134, 121, 109, 97, 85, 73, 61, 49, 36, 24, 12, 0, 8, 16, 23, 31, 39, 47, 55, 62, 70, 78, 86, 94, 102, 109, 117, 125, 133, 141, 148, 156, 164, 156, 148, 141, 133, 125, 117, 109, 102, 94, 86, 78, 70, 62, 55, 47, 39, 31, 23, 16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 24, 36, 49, 61, 73, 85, 97, 109, 121, 134, 146, 158, 170, 182, 194, 206, 219, 231, 243, 255, 243, 231, 219, 206, 194, 182, 170, 158, 146, 134, 121, 109, 97, 85, 73, 61, 49, 36, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char ledblue[252] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 17, 19, 20, 21, 23, 24, 25, 27, 28, 39, 50, 60, 71, 82, 93, 104, 114, 125, 136, 147, 158, 169, 179, 190, 201, 212, 223, 233, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 231, 219, 206, 194, 182, 170, 158, 146, 134, 121, 109, 97, 85, 73, 61, 49, 36, 24, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

unsigned char i = 0;
unsigned char j = 21;
unsigned char k = 42;
unsigned char l = 63;

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin();
}

void loop() {
    while(1){
      
      if(i < 252){ 
      pixels.setPixelColor(0, pixels.Color(ledred[i],ledgreen[i],ledblue[i])); 
      pixels.setPixelColor(1, pixels.Color(ledred[j],ledgreen[j],ledblue[j])); 
      pixels.setPixelColor(2, pixels.Color(ledred[k],ledgreen[k],ledblue[k])); 
      pixels.setPixelColor(3, pixels.Color(ledred[l],ledgreen[l],ledblue[l])); 
      pixels.show();
      delay(200); 
      i++;
      j++;
      k++;
      l++;
      
      while (j > 251){j = 0;}
      
      while (k > 251){k = 0;}
     
      while (l > 251){l = 0;}
       
      
      }
      else{
      i=0;}
    }
}
