#include <Adafruit_NeoPixel.h>
#include <avr/power.h>
#define PIN 6
#define NUMPIXELS 16
const int buttonPin = 2;
int delayvalue = 80;
int l=0;
int buttonstatus=0;
int status =0;
int i=0;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(115200);
pixels.begin();
}
void loop() {
status=digitalRead(buttonPin);
if(status==HIGH)
{
buttonstatus++;
delay(500);
Serial.println(buttonstatus);
}
pixels.clear();
pixels.setPixelColor(8, pixels.Color(0,100,0));
pixels.show();
while(buttonstatus==1)
{
pixels.setPixelColor(i, pixels.Color(255,255,255));
pixels.show();
delay(delayvalue);
status=digitalRead(buttonPin);
if(status==HIGH)
{
buttonstatus++;
delay(500);
Serial.println(buttonstatus);
}
pixels.setPixelColor(i-l, pixels.Color(0,0,0));
pixels.setPixelColor(8, pixels.Color(0,100,0));
pixels.show();
delay(delayvalue);
if(i>=NUMPIXELS)
{
i=i-NUMPIXELS;
}
i++;
}
while(buttonstatus==2)
{
Serial.println("now");
if(i==9)
{Serial.println("in 8");
for(int b=5; b>0; b--)
{
pixels.clear();
//if(c==0;2;4;6;8;10;12;14)
/* pixels.setPixelColor(8, pixels.Color(0,255,0));
pixels.show();
delay(250);
pixels.setPixelColor(8, pixels.Color(0,0,0));
pixels.show();
delay(250);
*/
for(int i = 0; i <8; i++) {
int right=8+i;
int left= 8-i;
//pixels.setPixelColor(left, pixels.Color(255,255,255));
pixels.setPixelColor(right, pixels.Color(0,200,0));
pixels.setPixelColor(left, pixels.Color(0,200,0));
pixels.show();
delay(100);
}
}
buttonstatus=buttonstatus-2;
i=0;
}else
{ Serial.println("else");
for(int b=5; b>0; b--)
{
Serial.println(b);
pixels.clear();
pixels.setPixelColor(i-1, pixels.Color(255,0,0));
pixels.show();
delay(250);
pixels.setPixelColor(i-1, pixels.Color(0,0,0));
pixels.show();
delay(250);
}
buttonstatus=buttonstatus-2;
i=0;
}
}
}