#include "LPD8806.h" #include "SPI.h" const int button = 24; const int interval = 60; const int ledCount = 32; int buttonState = 0; int rate = 60; int miss=0; LPD8806 strip = LPD8806(ledCount); // Using hardware SPI on pins 11 & 13 unsigned long backgroundColor = strip.Color(0, 3, 6); unsigned long flyingDotColor = strip.Color(0, 120, 50); void setup() { pinMode(button, INPUT); Serial.begin(9600); strip.begin(); // Initialize the strip. strip.show(); // Ensure the whole strip is turned off. } void loop() { // Sends green dot bouncing back and forth over the strip. // Each position lights up for the configured duration 'interval' static int ledPosition = 0; int led; while (ledPosition < ledCount){ moveAndPause(ledPosition++); buttonState = digitalRead(button); if(buttonState==LOW){ strip.setPixelColor (ledPosition,100,40,0); strip.show(); led=ledPosition; } if ( ((buttonState==LOW)&&(led==15)) //|| //((buttonState==LOW)&&(ledPosition==16)) ){ strip.setPixelColor (ledPosition,100,40,0); strip.show(); delay(1000); Serial.println(rate); rate-=20; if (rate<=0){ //Serial.println(rate); rate=60; flyingDotColor = strip.Color(0, 120, 50); rainbowCycle(3); break; } //Serial.println(rate); flyingDotColor = strip.Color(127, 127, 0); if (rate==20)flyingDotColor = strip.Color(127, 0, 0); } else if (buttonState==LOW){ //Serial.println(ledPosition); //buttonState==HIGH; //for(miss=0; miss 0){ moveAndPause(ledPosition--); buttonState = digitalRead(button); if(buttonState==LOW){ strip.setPixelColor (ledPosition,100,40,0); strip.show(); led=ledPosition; } if ( ((buttonState==LOW)&&(led==15)) //|| //((buttonState==LOW)&&(ledPosition==16)) ){ Serial.println(rate); rate-=20; if (rate<=0){ //Serial.println(rate); rate=60; flyingDotColor = strip.Color(0, 120, 50); rainbowCycle(3); break; } //Serial.println(rate); flyingDotColor = strip.Color(127, 127, 0); if (rate==20)flyingDotColor = strip.Color(127, 0, 0); } else if (buttonState==LOW){ //Serial.println(ledPosition); //buttonState==HIGH; //for(miss=0; miss