Anyone help me debounce this code had a few go's be no joy : /
const int redledPin = 2;
const int greenledPin = 1;
const int blueledPin = 0;
const int buttonPin = 3;
int RGB=1;
int prevUp = HIGH;
int prevDn = HIGH;
void setup ()
{
pinMode (redledPin, OUTPUT);
pinMode (greenledPin, OUTPUT);
pinMode (blueledPin, OUTPUT);
pinMode (buttonPin1, INPUT);
}
void loop ()
{
{
int currUp = digitalRead(buttonPin);
if(currUp != prevUp)
{
if(currUp == LOW)
RGB++;
}
prevUp = currUp;
}
switch (RGB){
case 1:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
break;
case 2:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
break;
case 3:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
break;
case 4:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 5:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 6:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 7:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
break;
case 8:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 9:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 10:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 11:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
break;
case 12:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 13:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 14:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 15:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
break;
case 16:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 17:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 18:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 19:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
break;
case 20:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 21:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 22:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 23:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
break;
case 24:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 25:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 26:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 27:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
break;
case 28:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(600);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(300);
break;
case 29:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(200);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 30:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(10);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
}
}