#include <Adafruit_NeoPixel.h>
#define PIN 6
#define MAX_LED 40
#define ADD true
#define SUB false
#define ButtonPin 2
#define BeepPin 3
#define LightPin A0
int val = 0;
boolean stat = ADD;
int LightVal = 0;
int ButtonVal = 1;
int Number = 0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );
void setup()
{
strip.begin();
strip.show();
pinMode(LightPin, INPUT);
pinMode(ButtonPin, INPUT);
pinMode(BeepPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(BeepPin, HIGH);
LightVal = analogRead(LightPin);
ButtonVal = digitalRead(ButtonPin);
if (LightVal < 300 & ButtonVal == 1)
{
Number = 10;
while(Number > 0)
{
BeepDD();
uint8_t i,a=0;
uint32_t color = strip.Color(0, 255, 125);
while(a < 40)
{
for(i=0;i<40;i++)
{
if(i==a)
{
strip.setPixelColor(i, color);
}
else
{
strip.setPixelColor(i, 0);
}
}
strip.show();
delay(20);
a++;
}
Number --;
}
}
}
void BeepDD()
{
digitalWrite(BeepPin, LOW);
delay(50);
digitalWrite(BeepPin, HIGH);
delay(100);
digitalWrite(BeepPin, LOW);
delay(50);
digitalWrite(BeepPin, HIGH);
delay(100);
}